Bug 2001592

Summary: votca-csg-2021.1-4.fc36 FTBFS: BlasUtil.h:227:46: error: inlining failed in call to 'always_inline' 'Eigen::internal::blas_data_mapper
Product: [Fedora] Fedora Reporter: Petr Pisar <ppisar>
Component: eigen3Assignee: Rich Mattes <richmattes>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: chip.kerchner, junghans, manisandro, mtasaka, richmattes
Target Milestone: ---   
Target Release: ---   
Hardware: ppc64le   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/votca-csg?collection=f36
Whiteboard:
Fixed In Version: eigen3-3.4.0-3.fc36 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-09-12 04:58:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2003362    
Bug Blocks: 1992484    

Description Petr Pisar 2021-09-06 13:59:05 UTC
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>.

Comment 1 Christoph Junghans 2021-09-06 17:21:21 UTC
Reported upstream

Comment 2 Christoph Junghans 2021-09-10 00:17:49 UTC
This is actually an issue in Eigen itself.

Comment 3 Chip Kerchner 2021-09-10 16:41:42 UTC
This looks like a variation of the LTO issue in gcc.

https://bugzilla.redhat.com/show_bug.cgi?id=1996330

Comment 4 Mamoru TASAKA 2021-09-11 14:28:48 UTC
eigen3-3.4.0-2.fc36 is supposed to workaround gcc LTO issue, but actually it is not, see  bug 2003362