Bug#1000780: eigen3 breaks pybind11 autopkgtest on ppc64el: inlining failed in call to ‘always_inline’
Drew Parsons
dparsons at debian.org
Mon Dec 13 13:10:00 GMT 2021
Source: pybind11
Version: 2.7.1-1
Followup-For: Bug #1000780
Debugging on ppc64el porterbox narrows the problem down to the -flto
flag.
The full compilation line is
/usr/bin/c++ -DBOOST_ALL_NO_LIB -DPYBIND11_TEST_BOOST -DPYBIND11_TEST_EIGEN -Dpybind11_tests_EXPORTS -isystem /usr/include/python3.10 -isystem /usr/include/eigen3 -Os -DNDEBUG -fPIC -fvisibility=hidden -Wall -Wextra -Wconversion -Wcast-qual -Wdeprecated -Wundef -Wnon-virtual-dtor -flto -fno-fat-lto-objects -MD -o test_eigen.cpp.o -c test_eigen.cpp
But the inline error can be reproduced with just
/usr/bin/c++ -isystem /usr/include/python3.10 -isystem /usr/include/eigen3 -flto -o test_pybind11_eigen3.cpp.o -c test_pybind11_eigen3.cpp
-flto in pybind11 has proven to be a problem elsewhere, with dolfin on
mips64el, see https://lists.debian.org/debian-mips/2020/09/msg00000.html
The workaround there was to specify the -fno-lto.
Sounds like -fno-lto should be patched in to both mips64el and
ppc64el, perhaps other arches too (or all).
More information about the debian-science-maintainers
mailing list