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/c29935b323ffb0b903f640111f0a0b0440e94a2e
>
> 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