#1137486 matplotlib: FTBFS with the nocheck build profile

#1137486#5
Date:
2026-05-24 10:21:31 UTC
From:
To:
Dear maintainer:

During a rebuild of all packages in unstable using the nocheck build profile,
this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

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

A wiki page discussing how to reproduce bugs in this category and
possible solutions is available here:

https://wiki.debian.org/qa.debian.org/FTBFS/nocheck

(It's a wiki, so you are welcome to contribute)

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:matplotlib, so that this is still
visible in the BTS web page for this package.

Thanks.
--------------------------------------------------------------------------------
[...]
[588/590] /<<PKGBUILDDIR>>/lib/matplotlib/mpl-data/stylelib/seaborn-v0_8-whitegrid.mplstyle
[589/590] /<<PKGBUILDDIR>>/lib/matplotlib/mpl-data/stylelib/seaborn-v0_8.mplstyle
[590/590] /<<PKGBUILDDIR>>/lib/matplotlib/mpl-data/stylelib/tableau-colorblind10.mplstyle
Successfully built matplotlib-3.10.7+dfsg1-cp313-cp313-linux_x86_64.whl
I: pybuild plugin_pyproject:168: Unpacking wheel built for python3.13 with "installer" module
dh: command-omitted: The call to "dh_auto_test -O--buildsystem=pybuild" was omitted due to "DEB_BUILD_OPTIONS=nocheck"
   create-stamp debian/debhelper-build-stamp
   dh_testroot -O--buildsystem=pybuild
   dh_prep -O--buildsystem=pybuild
   dh_installdirs -O--buildsystem=pybuild
   dh_auto_install -O--buildsystem=pybuild
I: pybuild plugin_pyproject:199: Copying package built for python3.14 to destdir
I: pybuild plugin_pyproject:199: Copying package built for python3.13 to destdir
   dh_install -O--buildsystem=pybuild
   debian/rules execute_after_dh_install-arch
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# scrub some test output that should not be in the module
rm -rf /<<PKGBUILDDIR>>/debian/python3-matplotlib/usr/lib/python*/dist-packages/result_images/
# make python scripts starting with '#!' executable
for i in `find debian -mindepth 2 -type f ! -perm 755`; do \
	if head -1 $i | grep -q '^#!'; then \
		chmod 755 $i; \
		echo "made executable: $i"; \
	fi; \
done
find debian/ -name '*.pyc' -delete
find debian/ -name '__pycache__' -exec rm -rf {} +
find debian/ -name '.eslintrc.js' -delete
find debian/ -name '.gitignore' -delete
# FIXME: is it possible to omit baseline_images and bring it in only
# for CI tests
rm -rf /<<PKGBUILDDIR>>/debian/python3-matplotlib/usr/lib/python*/dist-packages/matplotlib/mpl-data/
rm -rf /<<PKGBUILDDIR>>/debian/python3-matplotlib/usr/lib/python*/dist-packages/matplotlib/backends/Matplotlib.nib/
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   debian/rules execute_after_dh_install-indep
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -fr /<<PKGBUILDDIR>>/debian/python-matplotlib-data/usr/share/matplotlib/mpl-data/fonts/ttf/Vera*.ttf
rm -fr /<<PKGBUILDDIR>>/debian/python-matplotlib-data/usr/share/matplotlib/mpl-data/fonts/ttf/*.TXT
rm -fr /<<PKGBUILDDIR>>/debian/python-matplotlib-data/usr/share/matplotlib/mpl-data/fonts/ttf/local.conf
rm -fr /<<PKGBUILDDIR>>/debian/python-matplotlib-data/usr/share/matplotlib/mpl-data/fonts/pdfcorefonts/readme.txt
chmod 644 /<<PKGBUILDDIR>>/debian/python-matplotlib-data/usr/share/matplotlib/mpl-data/images/*.svg
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   debian/rules execute_before_dh_installdocs-indep
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# build the doc
MPLCONFIGDIR=. MATPLOTLIBDATA=/<<PKGBUILDDIR>>/lib/matplotlib/mpl-data/ PYTHONPATH=$(pybuild --print build_dir --interpreter python3.13) \
    HOME=/tmp xvfb-run -a /usr/bin/make -C doc html
Traceback (most recent call last):
  File "/usr/bin/pybuild", line 582, in <module>
    main(cfg)
    ~~~~^^^^^
  File "/usr/bin/pybuild", line 188, in main
    versions = [Version(v) for v in m.group("version")]
                ~~~~~~~^^^
  File "/usr/share/dh-python/dhpython/version.py", line 95, in __init__
    raise ValueError("major component is required")
ValueError: major component is required
xvfb-run: error: xauth command not found
make[1]: *** [debian/rules:39: execute_before_dh_installdocs-indep] Error 3
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:34: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------

#1137486#14
Date:
2026-05-24 16:07:27 UTC
From:
To:
Hello,

Bug #1137486 in dh-python reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/python-team/tools/dh-python/-/commit/1de2af8243e995aefd4860de39b33880321acdea
------------------------------------------------------------------------
Fix crash in "pybuild --interpreter python3.x"

The version match is a string, not a list of strings.

Closes: #1137486
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1137486

#1137486#21
Date:
2026-05-25 00:18:29 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
dh-python, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1137486@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Stefano Rivera <stefanor@debian.org> (supplier of updated dh-python package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 24 May 2026 18:48:39 -0400
Source: dh-python
Architecture: source
Version: 7.20260524
Distribution: unstable
Urgency: medium
Maintainer: Piotr Ożarowski <piotr@debian.org>
Changed-By: Stefano Rivera <stefanor@debian.org>
Closes: 1133706 1135722 1137486
Changes:
 dh-python (7.20260524) unstable; urgency=medium
 .
   * Fix crash in "pybuild --interpreter python3.x" (Closes: #1137486)
   * Fix crash with DEB_BUILD_OPTIONS=terse (Closes: #1135722, LP: #2150227)
   * Don't require substvars with debhelper compat level >= 14 (Closes: #1133706)
Checksums-Sha1:
 123683de80fa2efa7c4479cdbe7deb5fc9e92c8a 1686 dh-python_7.20260524.dsc
 0f978266aa5b6bc15a0bdb2d54c3a53856f6fa5a 137884 dh-python_7.20260524.tar.xz
 a7733a4ae86fd3fcc420ef606a2b1f30f0f38126 6889 dh-python_7.20260524_source.buildinfo
Checksums-Sha256:
 b09fcef459f151deb1db348d9cf00160c46fcd2f2fa85c1567352c060e200f19 1686 dh-python_7.20260524.dsc
 800ce345f047a38d621ca75f56109ec1dea0c9521589d4d58615b0076b9fbeb1 137884 dh-python_7.20260524.tar.xz
 bafdb1497977c62d50bd4a714d59edbaa515f1d9d3d8ce016a19a9cdceca3b94 6889 dh-python_7.20260524_source.buildinfo
Files:
 3b210890c910dc7293de570c6e201bae 1686 python optional dh-python_7.20260524.dsc
 59ce232bcfe20d86b211f90a4d012cb0 137884 python optional dh-python_7.20260524.tar.xz
 9a562e8c2306a0643c8fde753c4729f1 6889 python optional dh-python_7.20260524_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iIoEARYKADIWIQTumtb5BSD6EfafSCRHew2wJjpU2AUCahORxxQcc3RlZmFub3JA
ZGViaWFuLm9yZwAKCRBHew2wJjpU2NHFAP98MFvfDrLjgCClx4HfhlgEBbQShOFa
GboohyzSkypCWQEAzlyMUxck9iU/yOop3L5y0Z/gnjcx48obpHVKhgQKsgI=
=3K3O
-----END PGP SIGNATURE-----

#1137486#26
Date:
2026-05-25 11:06:35 UTC
From:
To:
The dh-python fix helped, but there's still a problem in matplotlib.
xvfb-run requires xauth (documented in its manual page), but it's only a
Recommends of the xvfb package.  This is masked without the nocheck
profile because python3-pytest-xvfb Depends: xauth.