Bug#1000780: eigen3 breaks pybind11 autopkgtest on ppc64el: inlining failed in call to ‘always_inline’

Paul Gevers elbrus at debian.org
Sun Nov 28 20:25:50 GMT 2021


Source: eigen3, pybind11
Control: found -1 eigen3/3.4.0-1
Control: found -1 pybind11/2.7.1-1
Severity: serious
Tags: sid bookworm
X-Debbugs-CC: debian-ci at lists.debian.org
User: debian-ci at lists.debian.org
Usertags: breaks needs-update

Dear maintainer(s),

With a recent upload of eigen3 the autopkgtest of pybind11 fails in 
testing when that autopkgtest is run with the binary packages of eigen3 
from unstable. It passes when run with only packages from testing. In 
tabular form:

                        pass            fail
eigen3                 from testing    3.4.0-1
pybind11               from testing    2.7.1-1
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of eigen3 to testing 
[1]. Due to the nature of this issue, I filed this bug report against 
both packages. Can you please investigate the situation and reassign the 
bug to the right package?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=eigen3

https://ci.debian.net/data/autopkgtest/testing/ppc64el/p/pybind11/17068686/log.gz

-- The CXX compiler identification is GNU 11.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python: /usr/bin/python3.9 (found suitable exact version 
"3.9.9") found components: Interpreter Development Development.Module 
Development.Embed -- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Found pybind11: /usr/include (found version "2.7.1" )
-- Setting tests build type to MinSizeRel as none was specified
-- Building tests with Eigen v3.4.0
-- Found Boost: 
/usr/lib/powerpc64le-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake 
(found suitable version "1.74.0", minimum required is "1.56")  -- Found 
pytest 6.2.5
-- Configuring done
-- Generating done
-- Build files have been written to: 
/tmp/autopkgtest-lxc.xeav8k1t/downtmp/autopkgtest_tmp/tests-python3.9
[  2%] Building CXX object 
CMakeFiles/pybind11_tests.dir/pybind11_tests.cpp.o
[  4%] Building CXX object CMakeFiles/pybind11_tests.dir/test_async.cpp.o
[  6%] Building CXX object CMakeFiles/pybind11_tests.dir/test_buffers.cpp.o
[  9%] Building CXX object 
CMakeFiles/pybind11_tests.dir/test_builtin_casters.cpp.o
[ 11%] Building CXX object 
CMakeFiles/pybind11_tests.dir/test_call_policies.cpp.o
[ 13%] Building CXX object 
CMakeFiles/pybind11_tests.dir/test_callbacks.cpp.o
[ 16%] Building CXX object CMakeFiles/pybind11_tests.dir/test_chrono.cpp.o
[ 18%] Building CXX object CMakeFiles/pybind11_tests.dir/test_class.cpp.o
[ 20%] Building CXX object 
CMakeFiles/pybind11_tests.dir/test_constants_and_functions.cpp.o
[ 23%] Building CXX object 
CMakeFiles/pybind11_tests.dir/test_copy_move.cpp.o
[ 25%] Building CXX object 
CMakeFiles/pybind11_tests.dir/test_custom_type_casters.cpp.o
[ 27%] Building CXX object 
CMakeFiles/pybind11_tests.dir/test_docstring_options.cpp.o
[ 30%] Building CXX object CMakeFiles/pybind11_tests.dir/test_eigen.cpp.o
In file included from /usr/include/eigen3/Eigen/Core:286,
                  from /usr/include/pybind11/eigen.h:36,
                  from 
/tmp/autopkgtest-lxc.xeav8k1t/downtmp/autopkgtest_tmp/tests-python3.9/test_eigen.cpp:12:
/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 {
       |                                              ^~~~~~~~~~~~~~~~
In file included from 
/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h:38,
                  from /usr/include/eigen3/Eigen/Core:350,
                  from /usr/include/pybind11/eigen.h:36,
                  from 
/tmp/autopkgtest-lxc.xeav8k1t/downtmp/autopkgtest_tmp/tests-python3.9/test_eigen.cpp:12:
/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h:43:44: note: 
called from here
    43 |   data.template storePacketBlock<Packet, 4>(i, j, tRes);
       |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:350,
                  from /usr/include/pybind11/eigen.h:36,
                  from 
/tmp/autopkgtest-lxc.xeav8k1t/downtmp/autopkgtest_tmp/tests-python3.9/test_eigen.cpp:12:
/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h:1137:26: 
error: inlining failed in call to ‘always_inline’ 
‘Eigen::internal::bscale<double 
__vector(2)>(Eigen::internal::PacketBlock<double __vector(2), 4>&, 
Eigen::internal::PacketBlock<double __vector(2), 4>&, double __vector(2) 
const&)void’: target specific option mismatch
  1137 | EIGEN_ALWAYS_INLINE void bscale(PacketBlock<Packet,4>& acc, 
PacketBlock<Packet,4>& accZ, const Packet& pAlpha)
       |                          ^~~~~~
In file included from 
/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h:38,
                  from /usr/include/eigen3/Eigen/Core:350,
                  from /usr/include/pybind11/eigen.h:36,
                  from 
/tmp/autopkgtest-lxc.xeav8k1t/downtmp/autopkgtest_tmp/tests-python3.9/test_eigen.cpp:12:
/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h:41:17: note: 
called from here
    41 |   bscale<Packet>(tRes, result, alpha);
       |   ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:350,
                  from /usr/include/pybind11/eigen.h:36,
                  from 
/tmp/autopkgtest-lxc.xeav8k1t/downtmp/autopkgtest_tmp/tests-python3.9/test_eigen.cpp:12:
/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h:1199:26: 
error: inlining failed in call to ‘always_inline’ 
‘Eigen::internal::bload<Eigen::internal::blas_data_mapper<double, long, 
0, 0, 1>, double __vector(2), long, 2l, 0, 
0>(Eigen::internal::PacketBlock<double __vector(2), 4>&, 
Eigen::internal::blas_data_mapper<double, long, 0, 0, 1> const&, long, 
long)void’: target specific option mismatch
  1199 | EIGEN_ALWAYS_INLINE void bload(PacketBlock<Packet,4>& acc, 
const DataMapper& res, Index row, Index col)
       |                          ^~~~~
In file included from 
/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h:38,
                  from /usr/include/eigen3/Eigen/Core:350,
                  from /usr/include/pybind11/eigen.h:36,
                  from 
/tmp/autopkgtest-lxc.xeav8k1t/downtmp/autopkgtest_tmp/tests-python3.9/test_eigen.cpp:12:
/usr/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h:39:57: note: 
called from here
    39 |   bload<DataMapper, Packet, Index, accCols, 0, ColMajor>(tRes, 
data, i, j);
       | 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/pybind11_tests.dir/build.make:244: 
CMakeFiles/pybind11_tests.dir/test_eigen.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:90: 
CMakeFiles/pybind11_tests.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
autopkgtest [21:30:12]: test command4


-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20211128/c997f625/attachment.sig>


More information about the debian-science-maintainers mailing list