Source: gnuradio Version: 3.8.0.0-6 Severity: normal If the build system has Python 3.6 (as /usr/bin/python3.6) installed while the libpython3-dev packages uses Python 3.7, the build fails. This can still be the case on old systems if the user has any dependencies on older Python. This does not happen on build daemons or in a normal pbuilder/sbuild environment, so I'm not marking this as an important bug (FTBFS). However: This could easily become an issue if/when Python3.8 starts to appear, especially if Debian switches the default to Python 3.8 before getting rid of the need to have Python 3.7 installed. The root cause is that cmake FindPythonLibs looks for /usr/lib/x86_64-linux-gnu/libpython3.?m.so where the 3.? part needs to match the version of the /usr/bin/python* binary it chose before. And for some reason, it looks for python3.x (with x in ascending order) before checking for python3. If the python3.6 package is present, it chooses /usr/bin/python3.6 and would thus expect the libpython3.6m.so library, but libpython3-dev gets the libpython3.7m.so library installed - so there is a mismatch, cmake disables the Python support in gnuradio and the package fails to complete the build because it can't find the python related files mentioned in the debian/*.install files.
The workaround is simple: Enforce use of /usr/bin/python3 - This is provided froma binary package (python3-minimal) that comes from the same source as the libpython3-dev package (python3-defaults) and is thus guaranteed to always match with the library cmake checks. Index: gnuradio-3.8.0.0/debian/rules =================================================================== --- gnuradio-3.8.0.0.orig/debian/rules +++ gnuradio-3.8.0.0/debian/rules @@ -6,7 +6,7 @@ export DEB_HOST_MULTIARCH dh $@ --with python3 --buildsystem=cmake+ninja override_dh_auto_configure: - dh_auto_configure --buildsystem=cmake+ninja -- -DLIB_SUFFIX="/$(DEB_HOST_MULTIARCH)" -DENABLE_INTERNAL_VOLK=OFF + dh_auto_configure --buildsystem=cmake+ninja -- -DLIB_SUFFIX="/$(DEB_HOST_MULTIARCH)" -DENABLE_INTERNAL_VOLK=OFF -DPYTHON_EXECUTABLE="/usr/bin/python3" override_dh_python3: dh_python3 --no-ext-rename

