[Debian-med-packaging] Bug#1137487: heudiconv: FTBFS with the nocheck build profile

Santiago Vila sanvila at debian.org
Sun May 24 11:21:29 BST 2026


Package: src:heudiconv
Version: 1.4.0-1
Severity: serious
Tags: forky sid ftbfs
User: debian-qa at lists.debian.org
Usertags: ftbfs-nocheck-profile

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:heudiconv, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
adding 'heudiconv-1.4.0.dist-info/METADATA'
adding 'heudiconv-1.4.0.dist-info/WHEEL'
adding 'heudiconv-1.4.0.dist-info/entry_points.txt'
adding 'heudiconv-1.4.0.dist-info/top_level.txt'
adding 'heudiconv-1.4.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built heudiconv-1.4.0-py3-none-any.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
	rm -f -- debian/heudiconv.substvars
	rm -fr -- debian/.debhelper/generated/heudiconv/ debian/heudiconv/ debian/tmp/
   dh_auto_install --destdir=debian/heudiconv/ -O--buildsystem=pybuild
	install -m0755 -d /<<PKGBUILDDIR>>/debian/heudiconv
	pybuild --install -i python{version} -p "3.14 3.13" --dest-dir=/<<PKGBUILDDIR>>/debian/heudiconv --parallel=2
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
   debian/rules execute_after_dh_auto_install
make[1]: Entering directory '/<<PKGBUILDDIR>>'
mkdir -p build
PYTHONPATH=$(/bin/ls -d ./debian/heudiconv/usr/lib/python*/*-packages | head -n 1) \
help2man -n 'DICOM converter for organizing brain imaging data into structured directory layouts' \
	-N --no-discard-stderr \
        "python3 -W ignore ./debian/heudiconv/usr/bin/heudiconv" >| build/heudiconv.1
find debian -iname *.pyc -delete
# https://github.com/nipy/heudiconv/issues/399
rm -rf debian/heudiconv/usr/lib/python*/*-packages/Research
find debian -name __pycache__ | xargs rm -rf
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_installdocs -O--buildsystem=pybuild
	install -m0755 -d debian/heudiconv/usr/share/doc/heudiconv
	install -p -m0644 debian/copyright debian/heudiconv/usr/share/doc/heudiconv/copyright
   dh_installchangelogs -O--buildsystem=pybuild
	install -m0755 -d debian/heudiconv/usr/share/doc/heudiconv
	install -p -m0644 debian/.debhelper/generated/heudiconv/dh_installchangelogs.dch.trimmed debian/heudiconv/usr/share/doc/heudiconv/changelog.Debian
	install -p -m0644 ./CHANGELOG.md debian/heudiconv/usr/share/doc/heudiconv/changelog
   dh_installman -O--buildsystem=pybuild
	install -m0755 -d debian/heudiconv/usr/share/man/man1/
	install -p -m0644 ./build/heudiconv.1 debian/heudiconv/usr/share/man/man1/heudiconv.1
	man-recode --to-code UTF-8 --suffix .dh-new debian/heudiconv/usr/share/man/man1/heudiconv.1
	mv debian/heudiconv/usr/share/man/man1/heudiconv.1.dh-new debian/heudiconv/usr/share/man/man1/heudiconv.1
	chmod 0644 -- debian/heudiconv/usr/share/man/man1/heudiconv.1
   dh_python3 -O--buildsystem=pybuild
D: dh_python3 dh_python3:87: version: 7.20260309
D: dh_python3 dh_python3:88: argv: ['/usr/bin/dh_python3', '-O--buildsystem=pybuild']
D: dh_python3 dh_python3:89: options: DHPythonOptions(O=['--buildsystem=pybuild'], accept_upstream_versions=False, arch=None, clean_dbg_pkg=True, compile_all=False, depends=[], depends_section=[], guess_deps=True, ignore_shebangs=False, no_ext_rename=False, no_package=[], no_shebang_rewrite=False, package=[], private_dir=None, recommends=[], recommends_section=[], regexpr=[], remaining_packages=False, requires=[], shebang=None, skip_private=False, suggests=[], suggests_section=[], verbose=True, vrange=None, write_log=False)
D: dh_python3 dh_python3:90: supported Python versions: 3.13,3.14 (default=3.13)
D: dh_python3 debhelper:223: source=heudiconv, binary packages=['heudiconv']
D: dh_python3 dh_python3:117: processing package heudiconv...
D: dh_python3 fs:60: moving files from debian/heudiconv/usr/lib/python3.13/dist-packages to debian/heudiconv/usr/lib/python3/dist-packages/
D: dh_python3 fs:60: moving files from debian/heudiconv/usr/lib/python3.14/dist-packages to debian/heudiconv/usr/lib/python3/dist-packages/
I: dh_python3 tools:128: replacing shebang in debian/heudiconv/usr/bin/heudiconv_monitor
I: dh_python3 tools:128: replacing shebang in debian/heudiconv/usr/bin/heudiconv
D: dh_python3 fs:199: Writing INSTALLER in debian/heudiconv/usr/lib/python3/dist-packages/heudiconv-1.4.0.dist-info
D: dh_python3 fs:210: Deleting RECORD in debian/heudiconv/usr/lib/python3/dist-packages/heudiconv-1.4.0.dist-info
D: dh_python3 fs:414: package heudiconv details = {'requires.txt': set(), 'egg-info': set(), 'dist-info': {'debian/heudiconv/usr/lib/python3/dist-packages/heudiconv-1.4.0.dist-info/METADATA'}, 'nsp.txt': set(), 'shebangs': {/usr/bin/python3, /usr/bin/python3}, 'public_vers': {Version('3')}, 'private_dirs': {}, 'compile': True, 'ext_vers': set(), 'ext_stableabi': set(), 'ext_no_version': set()}
D: dh_python3 depends:148: generating dependencies for package heudiconv
D: dh_python3 pydist:237: trying to find dependency for dcmstack>=0.8 (python=None)
D: dh_python3 pydist:281: dependency: module dcmstack is known to pydist: [PyDist(name='dcmstack', versions={Version('3.13'), Version('3.14')}, dependency='python3-dcmstack', standard=None, rules=[])]
D: dh_python3 pydist:365: dependency: included in build-deps
D: dh_python3 pydist:237: trying to find dependency for filelock>=3.0.12 (python=None)
D: dh_python3 pydist:281: dependency: module filelock is known to pydist: [PyDist(name='filelock', versions={Version('3.13'), Version('3.14')}, dependency='python3-filelock', standard=None, rules=[])]
D: dh_python3 pydist:365: dependency: included in build-deps
D: dh_python3 pydist:237: trying to find dependency for nibabel>=5.3.1 (python=None)
D: dh_python3 pydist:281: dependency: module nibabel is known to pydist: [PyDist(name='nibabel', versions={Version('3.13'), Version('3.14')}, dependency='python3-nibabel', standard=None, rules=[])]
D: dh_python3 pydist:365: dependency: included in build-deps
D: dh_python3 pydist:237: trying to find dependency for nipype>=1.2.3 (python=None)
D: dh_python3 pydist:281: dependency: module nipype is known to pydist: [PyDist(name='nipype', versions={Version('3.13'), Version('3.14')}, dependency='python3-nipype', standard=None, rules=[])]
D: dh_python3 pydist:365: dependency: included in build-deps
D: dh_python3 pydist:237: trying to find dependency for pydicom>=1.0.0 (python=None)
D: dh_python3 pydist:281: dependency: module pydicom is known to pydist: [PyDist(name='pydicom', versions={Version('3.13'), Version('3.14')}, dependency='python3-pydicom', standard=None, rules=[])]
D: dh_python3 pydist:365: dependency: included in build-deps
D: dh_python3 depends:330: D={'python3-dcmstack', 'python3-nipype', 'python3:any', 'python3-pydicom', 'python3-filelock', 'python3-nibabel'}; R=[]; S=[]; E=[], B=[]; RT=[]
   debian/rules execute_after_dh_python3
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# No idea why the test is not moved
mv debian/heudiconv/usr/lib/python3.*/dist-packages/heudiconv/tests debian/heudiconv/usr/lib/python3/dist-packages/heudiconv/tests
mv: cannot stat 'debian/heudiconv/usr/lib/python3.*/dist-packages/heudiconv/tests': No such file or directory
make[1]: *** [debian/rules:41: execute_after_dh_python3] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:20: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------



More information about the Debian-med-packaging mailing list