votca-csg-2021.1-4.fc36 fails to build in Fedora 36 on ppc64le: cd /builddir/build/BUILD/csg-2021.1/redhat-linux-build/src/tools && /usr/bin/g++ -I/builddir/build/BUILD/csg-2021.1/include -isystem /usr/include/eigen3 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -std=c++14 -MD -MT src/tools/CMakeFiles/csg_reupdate.dir/csg_reupdate.cc.o -MF CMakeFiles/csg_reupdate.dir/csg_reupdate.cc.o.d -o CMakeFiles/csg_reupdate.dir/csg_reupdate.cc.o -c /builddir/build/BUILD/csg-2021.1/src/tools/csg_reupdate.cc [...] In file included from /usr/include/eigen3/Eigen/Core:286, from /usr/include/eigen3/Eigen/Dense:1, from /usr/include/eigen3/Eigen/Eigen:1, from /usr/include/votca/tools/eigen.h:51, from /usr/include/votca/tools/property.h:34, from /usr/include/votca/tools/application.h:25, from /builddir/build/BUILD/csg-2021.1/src/tools/../../include/votca/csg/csgapplication.h:23, from /builddir/build/BUILD/csg-2021.1/src/tools/csg_reupdate.h:20, from /builddir/build/BUILD/csg-2021.1/src/tools/csg_reupdate.cc:18: /usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h: In function 'Eigen::internal::storeAccumulator<Eigen::internal::blas_data_mapper<double, long, 0, 0, 1>, long, double __vector(2), 2l>(long, long, Eigen::internal::blas_data_mapper<double, long, 0, 0, 1> const&, double __vector(2) const&, __vector_quad*)void': /usr/include/eigen3/Eigen/src/Core/util/BlasUtil.h:227:46: error: inlining failed in call to 'always_inline' 'Eigen::internal::blas_data_mapper<double, long, 0, 0, 1>::storePacketBlock<double __vector(2), 4>(long, long, Eigen::internal::PacketBlock<double __vector(2), 4> const&) constvoid': target specific option mismatch 227 | EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE void storePacketBlock(Index i, Index j, const PacketBlock<SubPacket, n> &block) const { | ^~~~~~~~~~~~~~~~ A difference between passing and failing build root is at <https://koschei.fedoraproject.org/build/10999630>.
Reported upstream
This is actually an issue in Eigen itself.
This looks like a variation of the LTO issue in gcc. https://bugzilla.redhat.com/show_bug.cgi?id=1996330
eigen3-3.4.0-2.fc36 is supposed to workaround gcc LTO issue, but actually it is not, see bug 2003362