Your message dated Fri, 12 Jun 2026 08:21:48 +0000
with message-id <[email protected]>
and subject line Bug#1136864: fixed in dcmstack 0.9+git20260610.ed4d27c-1
has caused the Debian Bug report #1136864,
regarding dcmstack: FTBFS: E AttributeError: module 'pydicom' has no
attribute 'read_file'
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
1136864: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1136864
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:dcmstack
Version: 0.9-3
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, 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/
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:dcmstack, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --with python3,sphinxdoc --buildsystem=pybuild
dh_auto_clean -O--buildsystem=pybuild
pybuild --clean -i python{version} -p "3.14 3.13" --parallel=2
I: pybuild base:385: python3.14 setup.py clean
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:289: UserWarning:
Unknown distribution option: 'test_suite'
warnings.warn(msg)
/usr/lib/python3/dist-packages/setuptools/dist.py:759:
SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!
********************************************************************************
Please consider removing the following classifiers in favor of a SPDX
license expression:
License :: OSI Approved :: MIT License
[... snipped ...]
test/test_cli.py:56: AssertionError
----------------------------- Captured stdout call -----------------------------
No DICOM files found in /tmp/dcmstack_cli_test_innmxkt4dw
__________________________ TestDcmstackCli.test_embed __________________________
self = <test.test_cli.TestDcmstackCli object at 0x7fe50b1b34d0>
def test_embed(self):
nii_paths = make_niftis(self.out_dir, ['--embed'])
> assert len(nii_paths) == 1
E assert 0 == 1
E + where 0 = len([])
test/test_cli.py:60: AssertionError
----------------------------- Captured stdout call -----------------------------
No DICOM files found in /tmp/dcmstack_cli_test_innmxkt4dw
___________________________ TestNitoolCli.test_basic ___________________________
self = <test.test_cli.TestNitoolCli object at 0x7fe50b1b3610>
def test_basic(self):
> nii_path = make_niftis(self.out_dir, ['--embed'])[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E IndexError: list index out of range
test/test_cli.py:65: IndexError
----------------------------- Captured stdout call -----------------------------
No DICOM files found in /tmp/dcmstack_cli_test_innmxkt4dw
_______________________________ test_from_dicom ________________________________
def test_from_dicom():
data_dir = path.join(test_dir,
'data',
'dcmstack',
'2D_16Echo_qT2')
src_fn = path.join(data_dir, 'TE_40_SlcPos_-33.707626341697.dcm')
> src_dcm = pydicom.read_file(src_fn)
^^^^^^^^^^^^^^^^^
E AttributeError: module 'pydicom' has no attribute 'read_file'
test/test_dcmmeta.py:1042: AttributeError
_____________________________ test_image_collision _____________________________
def test_image_collision():
dcm_path = path.join(test_dir,
'data',
'dcmstack',
'2D_16Echo_qT2',
'TE_20_SlcPos_-33.707626341697.dcm')
> dcm = pydicom.read_file(dcm_path)
^^^^^^^^^^^^^^^^^
E AttributeError: module 'pydicom' has no attribute 'read_file'
test/test_dcmstack.py:212: AttributeError
________________________ TestParseAndGroup.test_default ________________________
self = <test.test_dcmstack.TestParseAndGroup object at 0x7fe50b07a5d0>
def test_default(self):
> res = dcmstack.parse_and_group(self.in_paths)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
test/test_dcmstack.py:640:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src_paths =
['/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_dcmstack/build/test/data/dcmstack/2D_16Echo_qT2/TE_20_Slc...dcmstack-0.9/.pybuild/cpython3_3.13_dcmstack/build/test/data/dcmstack/2D_16Echo_qT2/TE_40_SlcPos_-23.207628249046.dcm']
group_by = ('SeriesInstanceUID', 'SeriesNumber', 'ProtocolName',
'ImageOrientationPatient')
extractor = <dcmstack.extract.MetaExtractor object at 0x7fe50b176ba0>
force = False, warn_on_except = False
close_tests = ('ImageOrientationPatient',)
def parse_and_group(src_paths, group_by=default_group_keys, extractor=None,
force=False, warn_on_except=False,
close_tests=default_close_keys):
'''Parse the given dicom files and group them together. Each group is
stored as a (list) value in a dict where the key is a tuple of values
corresponding to the keys in 'group_by'
Parameters
----------
src_paths : sequence
A list of paths to the source DICOM files.
group_by : tuple
Meta data keys to group data sets with. Any data set with the same
values for these keys will be grouped together. This tuple of values
will also be the key in the result dictionary.
extractor : callable
Should take a pydicom.dataset.Dataset and return a dictionary of the
extracted meta data.
force : bool
Force reading source files even if they do not appear to be DICOM.
warn_on_except : bool
Convert exceptions into warnings, possibly allowing some results to
be
returned.
close_tests : sequence
Any `group_by` key listed here is tested with `numpy.allclose`
instead
of straight equality when determining group membership.
Returns
-------
groups : dict
A dict mapping tuples of values (corresponding to 'group_by') to
groups
of data sets. Each element in the list is a tuple containing the
dicom
object, the parsed meta data, and the filename.
'''
if extractor is None:
from .extract import default_extractor
extractor = default_extractor
results = {}
close_elems = {}
for dcm_path in src_paths:
#Read the DICOM file
try:
> dcm = pydicom.read_file(dcm_path, force=force)
^^^^^^^^^^^^^^^^^
E AttributeError: module 'pydicom' has no attribute 'read_file'
dcmstack/dcmstack.py:1046: AttributeError
________________________ TestParseAndStack.test_default ________________________
self = <test.test_dcmstack.TestParseAndStack object at 0x7fe50b07a710>
def test_default(self):
> res = dcmstack.parse_and_stack(self.in_paths)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
test/test_dcmstack.py:666:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
dcmstack/dcmstack.py:1156: in parse_and_stack
results = parse_and_group(src_paths,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
src_paths =
['/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_dcmstack/build/test/data/dcmstack/2D_16Echo_qT2/TE_20_Slc...dcmstack-0.9/.pybuild/cpython3_3.13_dcmstack/build/test/data/dcmstack/2D_16Echo_qT2/TE_40_SlcPos_-23.207628249046.dcm']
group_by = ('SeriesInstanceUID', 'SeriesNumber', 'ProtocolName',
'ImageOrientationPatient')
extractor = <dcmstack.extract.MetaExtractor object at 0x7fe50b176ba0>
force = False, warn_on_except = False
close_tests = ('ImageOrientationPatient',)
def parse_and_group(src_paths, group_by=default_group_keys, extractor=None,
force=False, warn_on_except=False,
close_tests=default_close_keys):
'''Parse the given dicom files and group them together. Each group is
stored as a (list) value in a dict where the key is a tuple of values
corresponding to the keys in 'group_by'
Parameters
----------
src_paths : sequence
A list of paths to the source DICOM files.
group_by : tuple
Meta data keys to group data sets with. Any data set with the same
values for these keys will be grouped together. This tuple of values
will also be the key in the result dictionary.
extractor : callable
Should take a pydicom.dataset.Dataset and return a dictionary of the
extracted meta data.
force : bool
Force reading source files even if they do not appear to be DICOM.
warn_on_except : bool
Convert exceptions into warnings, possibly allowing some results to
be
returned.
close_tests : sequence
Any `group_by` key listed here is tested with `numpy.allclose`
instead
of straight equality when determining group membership.
Returns
-------
groups : dict
A dict mapping tuples of values (corresponding to 'group_by') to
groups
of data sets. Each element in the list is a tuple containing the
dicom
object, the parsed meta data, and the filename.
'''
if extractor is None:
from .extract import default_extractor
extractor = default_extractor
results = {}
close_elems = {}
for dcm_path in src_paths:
#Read the DICOM file
try:
> dcm = pydicom.read_file(dcm_path, force=force)
^^^^^^^^^^^^^^^^^
E AttributeError: module 'pydicom' has no attribute 'read_file'
dcmstack/dcmstack.py:1046: AttributeError
=============================== warnings summary ===============================
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestDcmstackCli::test_basic
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestDcmstackCli::test_embed
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestNitoolCli::test_basic
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_dcmstack/build/dcmstack/dcmstack.py:1049:
UserWarning: Error reading file
/tmp/dcmstack_cli_test_innmxkt4dw/TE_20_SlcPos_-23.207628249046.dcm: module
'pydicom' has no attribute 'read_file'
warnings.warn('Error reading file %s: %s' % (dcm_path, str(e)))
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestDcmstackCli::test_basic
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestDcmstackCli::test_embed
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestNitoolCli::test_basic
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_dcmstack/build/dcmstack/dcmstack.py:1049:
UserWarning: Error reading file
/tmp/dcmstack_cli_test_innmxkt4dw/TE_20_SlcPos_-33.707626341697.dcm: module
'pydicom' has no attribute 'read_file'
warnings.warn('Error reading file %s: %s' % (dcm_path, str(e)))
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestDcmstackCli::test_basic
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestDcmstackCli::test_embed
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestNitoolCli::test_basic
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_dcmstack/build/dcmstack/dcmstack.py:1049:
UserWarning: Error reading file
/tmp/dcmstack_cli_test_innmxkt4dw/TE_40_SlcPos_-33.707626341697.dcm: module
'pydicom' has no attribute 'read_file'
warnings.warn('Error reading file %s: %s' % (dcm_path, str(e)))
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestDcmstackCli::test_basic
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestDcmstackCli::test_embed
.pybuild/cpython3_3.13_dcmstack/build/test/test_cli.py::TestNitoolCli::test_basic
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_dcmstack/build/dcmstack/dcmstack.py:1049:
UserWarning: Error reading file
/tmp/dcmstack_cli_test_innmxkt4dw/TE_40_SlcPos_-23.207628249046.dcm: module
'pydicom' has no attribute 'read_file'
warnings.warn('Error reading file %s: %s' % (dcm_path, str(e)))
.pybuild/cpython3_3.13_dcmstack/build/test/test_dcmstack.py::test_fsl_hack
.pybuild/cpython3_3.13_dcmstack/build/test/test_dcmstack.py::test_pix_overflow
/usr/lib/python3/dist-packages/pydicom/dataset.py:1378: DeprecationWarning:
'Dataset.is_little_endian' will be removed in v4.0, set the Transfer Syntax UID
or use the 'little_endian' argument with Dataset.save_as() or dcmwrite() instead
warn_and_log(
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED test/test_cli.py::TestDcmstackCli::test_basic - assert 0 == 1
FAILED test/test_cli.py::TestDcmstackCli::test_embed - assert 0 == 1
FAILED test/test_cli.py::TestNitoolCli::test_basic - IndexError: list index o...
FAILED test/test_dcmmeta.py::test_from_dicom - AttributeError: module 'pydico...
FAILED test/test_dcmstack.py::test_image_collision - AttributeError: module '...
FAILED test/test_dcmstack.py::TestParseAndGroup::test_default - AttributeErro...
FAILED test/test_dcmstack.py::TestParseAndStack::test_default - AttributeErro...
ERROR test/test_dcmstack.py::TestIncongruentImage::test_rows - AttributeError...
ERROR test/test_dcmstack.py::TestIncongruentImage::test_columns - AttributeEr...
ERROR test/test_dcmstack.py::TestIncongruentImage::test_pix_space - Attribute...
ERROR test/test_dcmstack.py::TestIncongruentImage::test_close_pix_space - Att...
ERROR test/test_dcmstack.py::TestIncongruentImage::test_orientation - Attribu...
ERROR test/test_dcmstack.py::TestIncongruentImage::test_close_orientation - A...
ERROR test/test_dcmstack.py::TestInvalidStack::test_empty - AttributeError: m...
ERROR test/test_dcmstack.py::TestInvalidStack::test_missing_slice - Attribute...
ERROR test/test_dcmstack.py::TestInvalidStack::test_wrong_number_of_files - A...
ERROR test/test_dcmstack.py::TestInvalidStack::test_vector_var_over_vol - Att...
ERROR test/test_dcmstack.py::TestGetShape::test_single_slice - AttributeError...
ERROR test/test_dcmstack.py::TestGetShape::test_three_dim - AttributeError: m...
ERROR test/test_dcmstack.py::TestGetShape::test_four_dim - AttributeError: mo...
ERROR test/test_dcmstack.py::TestGetShape::test_five_dim - AttributeError: mo...
ERROR test/test_dcmstack.py::TestGuessDim::test_single_guess - AttributeError...
ERROR test/test_dcmstack.py::TestGuessDim::test_wrong_guess_first - Attribute...
ERROR test/test_dcmstack.py::TestGetData::test_single_slice - AttributeError:...
ERROR test/test_dcmstack.py::TestGetData::test_three_dim - AttributeError: mo...
ERROR test/test_dcmstack.py::TestGetData::test_four_dim - AttributeError: mod...
ERROR test/test_dcmstack.py::TestGetData::test_five_dim - AttributeError: mod...
ERROR test/test_dcmstack.py::TestGetAffine::test_single_slice - AttributeErro...
ERROR test/test_dcmstack.py::TestGetAffine::test_three_dim - AttributeError: ...
ERROR test/test_dcmstack.py::TestToNifti::test_single_slice - AttributeError:...
ERROR test/test_dcmstack.py::TestToNifti::test_single_vol - AttributeError: m...
ERROR test/test_dcmstack.py::TestToNifti::test_slice_dim_reorient - Attribute...
ERROR test/test_dcmstack.py::TestToNifti::test_two_time_vol - AttributeError:...
ERROR test/test_dcmstack.py::TestToNifti::test_two_vector_vol - AttributeErro...
ERROR test/test_extract.py::TestCsa::test_simplify - AttributeError: module '...
ERROR test/test_extract.py::TestCsa::test_csa_image_trans - AttributeError: m...
ERROR test/test_extract.py::TestCsa::test_parse_phx_line - AttributeError: mo...
ERROR test/test_extract.py::TestCsa::test_csa_series_trans - AttributeError: ...
ERROR test/test_extract.py::TestMetaExtractor::test_get_elem_key - AttributeE...
ERROR test/test_extract.py::TestMetaExtractor::test_get_elem_value - Attribut...
ERROR test/test_extract.py::TestMetaExtractor::test_dup_trans - AttributeErro...
ERROR test/test_extract.py::TestMetaExtractor::test_reloc_private - Attribute...
ERROR test/test_extract.py::TestMetaExtractor::test_non_reloc_private - Attri...
============= 7 failed, 88 passed, 14 warnings, 36 errors in 0.70s =============
E: pybuild pybuild:485: test: plugin distutils failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_dcmstack/build; python3.13 -m pytest
test
rm -fr -- /tmp/dh-xdg-rundir-iH1DLbmb
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14
3.13" --parallel=2 returned exit code 13
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit
status 2
--------------------------------------------------------------------------------
--- End Message ---
--- Begin Message ---
Source: dcmstack
Source-Version: 0.9+git20260610.ed4d27c-1
Done: Karsten Schöke <[email protected]>
We believe that the bug you reported is fixed in the latest version of
dcmstack, 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 [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Karsten Schöke <[email protected]> (supplier of updated dcmstack
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 [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Thu, 11 Jun 2026 19:11:57 +0200
Source: dcmstack
Architecture: source
Version: 0.9+git20260610.ed4d27c-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Med Packaging Team
<[email protected]>
Changed-By: Karsten Schöke <[email protected]>
Closes: 1136864
Changes:
dcmstack (0.9+git20260610.ed4d27c-1) unstable; urgency=medium
.
* Team upload.
* New upstream version 0.9+git20260610.ed4d27c
Closes: #1136864
* Removing patches merged from upstream.
* insert fix-typo-in-modulimport.patch
* d/control: Update B-D.
* Standards-Version: 4.7.4 (routine-update)
* Reflow Uploaders field (cme)
* Remove Priority field (cme)
* Build-Depends: s/dh-python/dh-sequence-python3/ (routine-update)
* Drop 'Rules-Requires-Root: no' from d/control (routine-update)
* debputy lint --auto-fix (routine-update)
* insert doc-base-registration
* remove egg-info from package.
* d/watch: Convert to version 5
* insert test depends on pint.
* d/salsa-ci.yml: deactivate uscan test
Checksums-Sha1:
1ef4bfde59ed2e7602d1ef3b8a57312f6faa945c 2417
dcmstack_0.9+git20260610.ed4d27c-1.dsc
2905f679bed67205cd465d68b55e84d8f1236297 1744328
dcmstack_0.9+git20260610.ed4d27c.orig.tar.gz
dd3ee51a45a29464452f6a42604c491c3bfdcf03 7328
dcmstack_0.9+git20260610.ed4d27c-1.debian.tar.xz
4daff46af4cee364e0b6a6d4819f7c374512ccc0 8128
dcmstack_0.9+git20260610.ed4d27c-1_amd64.buildinfo
Checksums-Sha256:
11966953bc28d22a266784368a4c6a43e158f3c1039cf185eabe8a597499a06c 2417
dcmstack_0.9+git20260610.ed4d27c-1.dsc
3deb5a89d81c91f209d430a134a24b7650bc0b86ef1ba27b7af6e10cfe5c5b96 1744328
dcmstack_0.9+git20260610.ed4d27c.orig.tar.gz
91b280f1a3a4f0cfa80e26943f2dbf3aa817e60eaad24c9f3d4114a4ba979f07 7328
dcmstack_0.9+git20260610.ed4d27c-1.debian.tar.xz
05685b103baba108e3d23355e6a84d7f34fb130db15d44376cace3fdd13af36a 8128
dcmstack_0.9+git20260610.ed4d27c-1_amd64.buildinfo
Files:
d1441cd994625d3c8f026355783370e1 2417 science optional
dcmstack_0.9+git20260610.ed4d27c-1.dsc
1ee80265b0d3547327bed62f916e28c6 1744328 science optional
dcmstack_0.9+git20260610.ed4d27c.orig.tar.gz
247ba4a7d3e89a1df3d7b298820dcbb2 7328 science optional
dcmstack_0.9+git20260610.ed4d27c-1.debian.tar.xz
419e947467ed18a5ad4580cc3eddb4a3 8128 science optional
dcmstack_0.9+git20260610.ed4d27c-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEESJcY4TbXsC5S1RQ8jT4KJgRDZUgFAmorueQACgkQjT4KJgRD
ZUgD3g//aJzIvcgJnUStCL7TYmw6U4j0zknW1+4Rc9aI6v180xExwP2OnEebKq5A
7HaEYkSzy4KyXixoQtMukqWqFv9Jn3HNd4OaC3lRoUm//2eybjUTXSk6kfNfCIAI
ulnhPpSw9U3F9hND95ADafNgeVrDUHs6oq13dYLB1ZvGQTNbdKEFuv+Un1yKHT01
7HZ/Ny8JDfVU9edPBMIN2CfGcBhAjD+QcyzdX0aaaLQHiyQ+aqeDOBSuHQwp4Tku
vlAP0hvjUCyLWIysimnQ09a0Sv4MyfjnaVkAH50O79HMWm0jFd5CysXsQzUzCyxf
mTK8LVniKMViNVGPMK9bFlaR0pU2JCUA3o99m29t5pt+CPFz/m8tlV1qaVFCyi5Z
r815ZmPFww7bZVcCZOXbzlbMak5YNXq9fha4yKpf8qooTqDfVrGJfR0Mvq22CydC
YMolFZh9xPXW0wrhkC8QF23nnqCVaGr4ZSxfzrdfdIUgkstGATerGsJd2UUPUcYL
x4sHgZ+iCo8er7mAiN/bnZ1FVDYGoU31MfHmToEOqtbDjVCOrMZXOWvpf8499G8t
UtteLmfe6Te1eFPe9U9Thnm2oXvleBcwWF6QUG+9s6dM0L36SYkZCkV8bJnoNwWi
XXA39JWAgxWTJlC0c6vrCnXbyjYjBM1ZqRFRyX/qGS6hjjr/mr0=
=Iu49
-----END PGP SIGNATURE-----
pgprGizwYhilA.pgp
Description: PGP signature
--- End Message ---