Bug#1033353: libpwquality failing to build on bookworm with python 3.11
Mayer, Dirk
dirk.mayer at siemens.com
Thu Mar 23 08:54:18 GMT 2023
Source: libpwquality
Version: 1.4.5-1
Tags: bookworm ftbfs
When I build this package from source, the build fails. Please see log output at the end.
My build environment is a container image based on Debian testing bookworm, which already includes python3.11
After some research I guess it may be related to the upgrade to pyhton3.11 and the new behavior which enforces pip install packages only in venv.
There is also a separation of user und system packages which may be the problem in an isolated buildroot.
There maybe a new PEP668 involved: https://peps.python.org/pep-0668/
https://peps.python.org/pep-0668/#keep-the-marker-file-in-container-images
https://discuss.python.org/t/python3-m-pip-install-user-broken-in-debian-testing/24268
And a long discussion about distros:
https://discuss.python.org/t/pep-668-marking-python-base-environments-as-externally-managed/10302/72
debuild -F -uc -us
dpkg-buildpackage -us -uc -ui -F
dpkg-buildpackage: info: source package libpwquality
dpkg-buildpackage: info: source version 1.4.5-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Jeremy Bicha <jbicha at ubuntu.com>
dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
debian/rules clean
dh clean
dh_gnome_clean
debian/rules override_dh_clean
make[1]: Entering directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5'
dh_clean
rm -rf python/build
make[1]: Leaving directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5'
dpkg-source -b .
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building libpwquality using existing ./libpwquality_1.4.5.orig.tar.bz2
dpkg-source: info: building libpwquality in libpwquality_1.4.5-1.debian.tar.xz
dpkg-source: info: building libpwquality in libpwquality_1.4.5-1.dsc
debian/rules binary
dh binary
dh_update_autotools_config
debian/rules override_dh_autoreconf
make[1]: Entering directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5'
dh_autoreconf --as-needed
....
...
...
Making install in python
make[2]: Entering directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5/python'
CFLAGS="-g -O2 -ffile-prefix-map=/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-aliasing" python3 setup.py build --build-base py3.11
make[3]: Entering directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5/python'
CFLAGS="-g -O2 -ffile-prefix-map=/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5=. -fstack-protector-strong -Wformat -Werror=format-security -fno-strict-aliasing" python3 setup.py build --build-base py3.11 install --prefix=/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5/debian/tmp/usr
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
/usr/lib/python3/dist-packages/setuptools/command/easy_install.py:146: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
TEST FAILED: /work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5/debian/tmp/usr/local/lib/python3.11/dist-packages/ does NOT support .pth files
bad install directory or PYTHONPATH
You are attempting to install a package to a directory that is not
on PYTHONPATH and which Python does not read ".pth" files from. The
installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5/debian/tmp/usr/local/lib/python3.11/dist-packages/
and your PYTHONPATH environment variable currently contains:
''
Here are some of your options for correcting the problem:
* You can choose a different installation directory, i.e., one that is
on PYTHONPATH or supports .pth files
* You can add the installation directory to the PYTHONPATH environment
variable. (It must then also be on PYTHONPATH whenever you run
Python and want to use the package(s) you are installing.)
* You can set up the installation directory to support ".pth" files by
using one of the approaches described here:
https://setuptools.pypa.io/en/latest/deprecated/easy_install.html#custom-installation-locations
Please make the appropriate changes for your system and try again.
zip_safe flag not set; analyzing archive contents...
__pycache__.pwquality.cpython-311: module references __file__
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5/python'
make[2]: Leaving directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5/python'
make[2]: Entering directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5'
make[3]: Entering directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5'
make[2]: Leaving directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5'
make[1]: Leaving directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5'
debian/rules execute_before_dh_install
make[1]: Entering directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5'
find debian/tmp -name '*.a' -print -delete
debian/tmp/usr/lib/x86_64-linux-gnu/libpwquality.a
debian/tmp/lib/x86_64-linux-gnu/security/pam_pwquality.a
find debian/tmp -name '*.la' -print -delete
debian/tmp/usr/lib/x86_64-linux-gnu/libpwquality.la
debian/tmp/lib/x86_64-linux-gnu/security/pam_pwquality.la
make[1]: Leaving directory '/work/tmp/libpwquality_1.4.5-1/libpwquality-1.4.5'
dh_install
dh_install: warning: Cannot find (any matches for) "usr/lib/python3*" (tried in ., debian/tmp)
dh_install: warning: python3-pwquality missing files: usr/lib/python3*
dh_install: error: missing files, aborting
make: *** [debian/rules:15: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui -F failed
By the way:
There are multiple other python based source packages, which are also failing to build in a bookworm based build environment, all with a similar error message:
dh_install: warning: Cannot find (any matches for) "usr/lib/python3*" (tried in ., debian/tmp)
dh_install: warning: python3-pwquality missing files: usr/lib/python3*
dh_install: error: missing files, aborting
make: *** [debian/rules:15: binary] Error 25
These are: libprelude_5.2.0-5, libseccomp_2.5.4-1
More information about the pkg-gnome-maintainers
mailing list