Bug#855883: pybind11: FTBFS in stretch

Santiago Vila sanvila at debian.org
Wed Feb 22 21:20:48 UTC 2017


Package: src:pybind11
Version: 2.0.1-1
Severity: serious

Dear maintainer:

I tried to build this package in stretch with "dpkg-buildpackage -A"
but it failed:

--------------------------------------------------------------------------------
[...]
 debian/rules build-indep
dh build-indep --with python2,python3,sphinxdoc --buildsystem=cmake
   dh_testdir -i -O--buildsystem=cmake
   dh_update_autotools_config -i -O--buildsystem=cmake
   dh_autoreconf -i -O--buildsystem=cmake
   debian/rules override_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_configure -- -DPYBIND11_TEST=ON
	cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LOCALSTATEDIR=/var -DPYBIND11_TEST=ON
-- The C compiler identification is GNU 6.3.0
-- The CXX compiler identification is GNU 6.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info

[... snipped ...]

9637:         .def(py::init<>())
9637:         .def("f", &A::f);
9637: 
9637:     m.def("call_f", call_f);
9637: 
9637: 
9637: 
9637:     struct A2 {
9637:         virtual ~A2() {}
9637:         virtual void f() { py::print("A2.f()"); }
9637:     };
9637: 
9637:     struct PyA2 : A2 {
9637:         PyA2() { py::print("PyA2.PyA2()"); }
9637:         ~PyA2() { py::print("PyA2.~PyA2()"); }
9637:         void f() override {
9637:             py::print("PyA2.f()");
9637:             { pybind11::gil_scoped_acquire gil; pybind11::function overload = pybind11::get_overload(static_cast<const A2 *>(this), "f"); if (overload) { auto o = overload(); if (pybind11::detail::cast_is_temporary_value_reference<void>::value) { static pybind11::detail::overload_caster_t<void> caster; return pybind11::detail::cast_ref<void>(std::move(o), caster); } else return pybind11::detail::cast_safe<void>(std::move(o)); } } return A2::f();
9637:         }
9637:     };
9637: 
9637:     py::class_<A2, PyA2>(m, "A2")
9637:         .def(py::init_alias<>())
9637:         .def("f", &A2::f);
9637: 
9637:     m.def("call_f", [](A2 *a2) { a2->f(); });
9637: 
9637: });
=== END GCC DUMP ===
tests/CMakeFiles/pybind11_tests.dir/build.make:89: recipe for target 'tests/CMakeFiles/pybind11_tests.dir/test_alias_initialization.cpp.o' failed
make[4]: *** [tests/CMakeFiles/pybind11_tests.dir/test_alias_initialization.cpp.o] Error 1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
CMakeFiles/Makefile2:160: recipe for target 'tests/CMakeFiles/pybind11_tests.dir/all' failed
make[3]: *** [tests/CMakeFiles/pybind11_tests.dir/all] Error 2
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
Makefile:130: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
dh_auto_build: make -j1 returned exit code 2
debian/rules:27: recipe for target 'override_dh_auto_build' failed
make[1]: *** [override_dh_auto_build] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
debian/rules:15: recipe for target 'build-indep' failed
make: *** [build-indep] Error 2
dpkg-buildpackage: error: debian/rules build-indep gave error exit status 2
--------------------------------------------------------------------------------

This is just how the build ends, not necessarily the relevant part.

I've put several build logs here:

https://people.debian.org/~sanvila/build-logs/pybind11/

If this is really a bug in one of the build-depends, please use reassign and affects,
so that this is still visible in the page for this package.

The bug should be reproducible with sbuild on a single CPU virtual machine.
I only tried twice and it failed twice, but it also fails here:

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/pybind11.html

so hope this may be reproduced easily.

Thanks.



More information about the debian-science-maintainers mailing list