On Sun, Aug 22, 2021 at 10:32 AM Mamoru TASAKA mtasaka@fedoraproject.org wrote:
Mamoru TASAKA wrote on 2021/08/22 23:58:
Richard Shaw wrote on 2021/08/22 21:42:
I'm trying to finalize all the builds for OpenEXR/Imath 3.1 in my side
tag
but having a tough time with krita getting a few errors[1] like this:
In file included from /usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h:18, from /usr/include/eigen3/Eigen/Core:350, from /usr/include/eigen3/Eigen/Dense:1, from /builddir/build/BUILD/krita-4.4.5/libs/global/KisBezierUtils.cpp:36: /usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h: In function 'Eigen::internal::ploadRhsMMA<float, float __vector(4)>(float const*, float __vector(4)&)void':
/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h:215:28:
error: inlining failed in call to 'always_inline' 'Eigen::internal::ploadRhs<float, float __vector(4)>(float const*)float __vector(4)': target specific option mismatch
Thoughts?
Please provide task URL, not only build log URL: https://koji.fedoraproject.org/koji/taskinfo?taskID=74326592
By the way:
https://gitlab.com/libeigen/eigen/-/commit/c29935b323ffb0b903f640111f0a0b044...
eigen3 Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h contains
#pragma GCC target("cpu=power10")
but Fedora rawhide ppc64le build flags contains "-mcpu=power8
-mtune=power8", so
there is "target specific option mismatch", I guess. As the above eigen3 commit shows, I think you should be able to
workaround
this by the following, for example (on krita.spec)
%build %ifarch ppc64 ppc64le %global optflags_orig %optflags %global optflags %optflags_orig -DEIGEN_ALTIVEC_DISABLE_MMA %endif %cmake_kf5
(see Eigen/src/Core/arch/AltiVec/MatrixProduct.h around the line 22)
Scratch build succeeded with the above workaround at least on ppc64le (other archs are now under build): https://koji.fedoraproject.org/koji/taskinfo?taskID=74331884
Thanks! However I need to do the build in my side tag so hopefully PP's can cancel other builds.
Richard