[Debian-med-packaging] Bug#997126: nipype: FTBFS: XXX
Lucas Nussbaum
lucas at debian.org
Sat Oct 23 19:45:17 BST 2021
Source: nipype
Version: 1.6.0-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> =================================== FAILURES ===================================
> ___________________________ TestCompCor.test_compcor ___________________________
>
> self = <nipype.algorithms.tests.test_CompCor.TestCompCor object at 0x7f8c3d5d7cd0>
>
> def test_compcor(self):
> expected_components = [
> ["-0.1989607212", "-0.5753813646"],
> ["0.5692369697", "0.5674945949"],
> ["-0.6662573243", "0.4675843432"],
> ["0.4206466244", "-0.3361270124"],
> ["-0.1246655485", "-0.1235705610"],
> ]
>
> > self.run_cc(
> CompCor(
> num_components=6,
> realigned_file=self.realigned_file,
> mask_files=self.mask_files,
> mask_index=0,
> ),
> expected_components,
> )
>
> /<<PKGBUILDDIR>>/nipype/algorithms/tests/test_CompCor.py:52:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <nipype.algorithms.tests.test_CompCor.TestCompCor object at 0x7f8c3d5d7cd0>
> ccinterface = <nipype.algorithms.confounds.CompCor object at 0x7f8c3d5d78e0>
> expected_components = [['-0.1989607212', '-0.5753813646'], ['0.5692369697', '0.5674945949'], ['-0.6662573243', '0.4675843432'], ['0.4206466244', '-0.3361270124'], ['-0.1246655485', '-0.1235705610']]
> expected_header = ['CompCor00', 'CompCor01', 'CompCor02', 'CompCor03', 'CompCor04']
> expected_n_components = 5, expected_metadata = None
>
> def run_cc(
> self,
> ccinterface,
> expected_components,
> expected_header="CompCor",
> expected_n_components=None,
> expected_metadata=None,
> ):
> # run
> ccresult = ccinterface.run()
>
> # assert
> expected_file = ccinterface._list_outputs()["components_file"]
> assert ccresult.outputs.components_file == expected_file
> assert os.path.exists(expected_file)
> assert os.path.getsize(expected_file) > 0
>
> with open(ccresult.outputs.components_file, "r") as components_file:
> if expected_n_components is None:
> expected_n_components = min(
> ccinterface.inputs.num_components, self.fake_data.shape[3]
> )
>
> components_data = [line.rstrip().split("\t") for line in components_file]
>
> # the first item will be '#', we can throw it out
> header = components_data.pop(0)
> expected_header = [
> expected_header + "{:02d}".format(i)
> for i in range(expected_n_components)
> ]
> for i, heading in enumerate(header):
> assert expected_header[i] in heading
>
> num_got_timepoints = len(components_data)
> assert num_got_timepoints == self.fake_data.shape[3]
> for index, timepoint in enumerate(components_data):
> assert len(timepoint) == expected_n_components
> > assert timepoint[:2] == expected_components[index]
> E AssertionError: assert ['0.198960721...0.5753813646'] == ['-0.19896072...0.5753813646']
> E At index 0 diff: '0.1989607212' != '-0.1989607212'
> E Full diff:
> E - ['-0.1989607212', '-0.5753813646']
> E ? -
> E + ['0.1989607212', '-0.5753813646']
>
> /<<PKGBUILDDIR>>/nipype/algorithms/tests/test_CompCor.py:248: AssertionError
> ___________ TestCompCor.test_compcor_variance_threshold_and_metadata ___________
>
> self = <nipype.algorithms.tests.test_CompCor.TestCompCor object at 0x7f8c3d4d8a90>
>
> def test_compcor_variance_threshold_and_metadata(self):
> expected_components = [
> ["-0.2027150345", "-0.4954813834"],
> ["0.2565929051", "0.7866217875"],
> ["-0.3550986008", "-0.0089784905"],
> ["0.7512786244", "-0.3599828482"],
> ["-0.4500578942", "0.0778209345"],
> ]
> expected_metadata = {
> "component": "CompCor00",
> "mask": "mask",
> "singular_value": "4.0720553036",
> "variance_explained": "0.5527211465",
> "cumulative_variance_explained": "0.5527211465",
> "retained": "True",
> }
> ccinterface = CompCor(
> variance_threshold=0.7,
> realigned_file=self.realigned_file,
> mask_files=self.mask_files,
> mask_names=["mask"],
> mask_index=1,
> save_metadata=True,
> )
> > self.run_cc(
> ccinterface=ccinterface,
> expected_components=expected_components,
> expected_n_components=2,
> expected_metadata=expected_metadata,
> )
>
> /<<PKGBUILDDIR>>/nipype/algorithms/tests/test_CompCor.py:98:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <nipype.algorithms.tests.test_CompCor.TestCompCor object at 0x7f8c3d4d8a90>
> ccinterface = <nipype.algorithms.confounds.CompCor object at 0x7f8c3d4d8220>
> expected_components = [['-0.2027150345', '-0.4954813834'], ['0.2565929051', '0.7866217875'], ['-0.3550986008', '-0.0089784905'], ['0.7512786244', '-0.3599828482'], ['-0.4500578942', '0.0778209345']]
> expected_header = ['CompCor00', 'CompCor01'], expected_n_components = 2
> expected_metadata = {'component': 'CompCor00', 'cumulative_variance_explained': '0.5527211465', 'mask': 'mask', 'retained': 'True', ...}
>
> def run_cc(
> self,
> ccinterface,
> expected_components,
> expected_header="CompCor",
> expected_n_components=None,
> expected_metadata=None,
> ):
> # run
> ccresult = ccinterface.run()
>
> # assert
> expected_file = ccinterface._list_outputs()["components_file"]
> assert ccresult.outputs.components_file == expected_file
> assert os.path.exists(expected_file)
> assert os.path.getsize(expected_file) > 0
>
> with open(ccresult.outputs.components_file, "r") as components_file:
> if expected_n_components is None:
> expected_n_components = min(
> ccinterface.inputs.num_components, self.fake_data.shape[3]
> )
>
> components_data = [line.rstrip().split("\t") for line in components_file]
>
> # the first item will be '#', we can throw it out
> header = components_data.pop(0)
> expected_header = [
> expected_header + "{:02d}".format(i)
> for i in range(expected_n_components)
> ]
> for i, heading in enumerate(header):
> assert expected_header[i] in heading
>
> num_got_timepoints = len(components_data)
> assert num_got_timepoints == self.fake_data.shape[3]
> for index, timepoint in enumerate(components_data):
> assert len(timepoint) == expected_n_components
> > assert timepoint[:2] == expected_components[index]
> E AssertionError: assert ['0.202715034...0.4954813834'] == ['-0.20271503...0.4954813834']
> E At index 0 diff: '0.2027150345' != '-0.2027150345'
> E Full diff:
> E - ['-0.2027150345', '-0.4954813834']
> E ? -
> E + ['0.2027150345', '-0.4954813834']
>
> /<<PKGBUILDDIR>>/nipype/algorithms/tests/test_CompCor.py:248: AssertionError
> __________________________ TestCompCor.test_tcompcor ___________________________
>
> self = <nipype.algorithms.tests.test_CompCor.TestCompCor object at 0x7f8c3d4e1fd0>
>
> def test_tcompcor(self):
> ccinterface = TCompCor(
> num_components=6,
> realigned_file=self.realigned_file,
> percentile_threshold=0.75,
> )
> > self.run_cc(
> ccinterface,
> [
> ["-0.1114536190", "-0.4632908609"],
> ["0.4566907310", "0.6983205193"],
> ["-0.7132557407", "0.1340170559"],
> ["0.5022537643", "-0.5098322262"],
> ["-0.1342351356", "0.1407855119"],
> ],
> "tCompCor",
> )
>
> /<<PKGBUILDDIR>>/nipype/algorithms/tests/test_CompCor.py:111:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> self = <nipype.algorithms.tests.test_CompCor.TestCompCor object at 0x7f8c3d4e1fd0>
> ccinterface = <nipype.algorithms.confounds.TCompCor object at 0x7f8c3d4e15e0>
> expected_components = [['-0.1114536190', '-0.4632908609'], ['0.4566907310', '0.6983205193'], ['-0.7132557407', '0.1340170559'], ['0.5022537643', '-0.5098322262'], ['-0.1342351356', '0.1407855119']]
> expected_header = ['tCompCor00', 'tCompCor01', 'tCompCor02', 'tCompCor03', 'tCompCor04']
> expected_n_components = 5, expected_metadata = None
>
> def run_cc(
> self,
> ccinterface,
> expected_components,
> expected_header="CompCor",
> expected_n_components=None,
> expected_metadata=None,
> ):
> # run
> ccresult = ccinterface.run()
>
> # assert
> expected_file = ccinterface._list_outputs()["components_file"]
> assert ccresult.outputs.components_file == expected_file
> assert os.path.exists(expected_file)
> assert os.path.getsize(expected_file) > 0
>
> with open(ccresult.outputs.components_file, "r") as components_file:
> if expected_n_components is None:
> expected_n_components = min(
> ccinterface.inputs.num_components, self.fake_data.shape[3]
> )
>
> components_data = [line.rstrip().split("\t") for line in components_file]
>
> # the first item will be '#', we can throw it out
> header = components_data.pop(0)
> expected_header = [
> expected_header + "{:02d}".format(i)
> for i in range(expected_n_components)
> ]
> for i, heading in enumerate(header):
> assert expected_header[i] in heading
>
> num_got_timepoints = len(components_data)
> assert num_got_timepoints == self.fake_data.shape[3]
> for index, timepoint in enumerate(components_data):
> assert len(timepoint) == expected_n_components
> > assert timepoint[:2] == expected_components[index]
> E AssertionError: assert ['0.111453619...0.4632908609'] == ['-0.11145361...0.4632908609']
> E At index 0 diff: '0.1114536190' != '-0.1114536190'
> E Full diff:
> E - ['-0.1114536190', '-0.4632908609']
> E ? -
> E + ['0.1114536190', '-0.4632908609']
>
> /<<PKGBUILDDIR>>/nipype/algorithms/tests/test_CompCor.py:248: AssertionError
> =============================== warnings summary ===============================
> ../nipype/utils/misc.py:9
> /<<PKGBUILDDIR>>/nipype/utils/misc.py:9: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
> from collections import Iterator
>
> ../nipype/interfaces/base/traits_extension.py:22
> /<<PKGBUILDDIR>>/nipype/interfaces/base/traits_extension.py:22: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.10 it will stop working
> from collections import Sequence
>
> ../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:1233
> /usr/lib/python3/dist-packages/_pytest/config/__init__.py:1233: PytestConfigWarning: Unknown config option: env
>
> self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")
>
> ../nipype/interfaces/mrtrix/convert.py:6
> /<<PKGBUILDDIR>>/nipype/interfaces/mrtrix/convert.py:6: DeprecationWarning: The trackvis interface has been deprecated and will be removed in v4.0; please use the 'nibabel.streamlines' interface.
> import nibabel.trackvis as trk
>
> ../nipype/pipeline/engine/tests/test_nodes.py:319
> /<<PKGBUILDDIR>>/nipype/pipeline/engine/tests/test_nodes.py:319: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
> @pytest.mark.timeout(30)
>
> ../nipype/pipeline/plugins/tests/test_oar.py:33
> /<<PKGBUILDDIR>>/nipype/pipeline/plugins/tests/test_oar.py:33: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
> @pytest.mark.timeout(60)
>
> ../nipype/pipeline/plugins/tests/test_pbs.py:33
> /<<PKGBUILDDIR>>/nipype/pipeline/plugins/tests/test_pbs.py:33: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
> @pytest.mark.timeout(60)
>
> ../nipype/utils/tests/test_filemanip.py:157
> /<<PKGBUILDDIR>>/nipype/utils/tests/test_filemanip.py:157: SyntaxWarning: "is not" with a literal. Did you mean "!="?
> if os.name is not "posix":
>
> ../nipype/utils/tests/test_filemanip.py:233
> /<<PKGBUILDDIR>>/nipype/utils/tests/test_filemanip.py:233: SyntaxWarning: "is not" with a literal. Did you mean "!="?
> if os.name is not "posix":
>
> ../nipype/utils/tests/test_provenance.py:18
> /<<PKGBUILDDIR>>/nipype/utils/tests/test_provenance.py:18: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
> @pytest.mark.timeout(60)
>
> ../nipype/utils/tests/test_provenance.py:31
> /<<PKGBUILDDIR>>/nipype/utils/tests/test_provenance.py:31: PytestUnknownMarkWarning: Unknown pytest.mark.timeout - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/mark.html
> @pytest.mark.timeout(60)
>
> ../nipype/workflows/__init__.py:28
> /<<PKGBUILDDIR>>/nipype/workflows/__init__.py:28: UserWarning: Nipype 1 workflows have been moved to the niflow-nipype1-workflows package. pip install niflow-nipype1-workflows to continue using them.
> warnings.warn(" ".join(_msg))
>
> algorithms/tests/test_CompCor.py::TestCompCor::test_tcompcor_asymmetric_dim
> /<<PKGBUILDDIR>>/nipype/algorithms/confounds.py:1438: RuntimeWarning: invalid value encountered in true_divide
> variance_explained = (s ** 2) / np.sum(s ** 2)
>
> algorithms/tests/test_confounds.py::test_dvars
> algorithms/tests/test_confounds.py::test_dvars
> /usr/lib/python3/dist-packages/numpy/core/_asarray.py:136: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
> return array(a, dtype, copy=False, order=order, subok=True)
>
> interfaces/ants/utils.py::nipype.interfaces.ants.utils.ImageMath
> /<<PKGBUILDDIR>>/nipype/interfaces/ants/utils.py:153: UserWarning: copy_header cannot be updated to True with PadImage as operation.
> warn("copy_header cannot be updated to True with PadImage as operation.")
>
> interfaces/fsl/dti.py::nipype.interfaces.fsl.dti.ProbTrackX
> interfaces/fsl/dti.py::nipype.interfaces.fsl.dti.ProbTrackX2
> /<<PKGBUILDDIR>>/nipype/interfaces/fsl/dti.py:816: DeprecationWarning: Deprecated: Please use create_bedpostx_pipeline instead
> warnings.warn(
>
> interfaces/fsl/epi.py::nipype.interfaces.fsl.epi.EPIDeWarp
> /<<PKGBUILDDIR>>/nipype/interfaces/fsl/epi.py:1416: DeprecationWarning: Deprecated: Please use niflow.nipype1.workflows.dmri.preprocess.epi.sdc_fmb instead
> warnings.warn(
>
> interfaces/fsl/epi.py::nipype.interfaces.fsl.epi.EddyCorrect
> /<<PKGBUILDDIR>>/nipype/interfaces/fsl/epi.py:1522: DeprecationWarning: Deprecated: Please use nipype.interfaces.fsl.epi.Eddy instead
> warnings.warn(
>
> interfaces/nipy/utils.py::nipype.interfaces.nipy.utils.Similarity
> /<<PKGBUILDDIR>>/nipype/interfaces/nipy/utils.py:59: DeprecationWarning: This interface is deprecated since 0.10.0. Please use nipype.algorithms.metrics.Similarity
> warnings.warn(
>
> interfaces/nitime/tests/test_nitime.py::test_coherence_analysis
> /usr/lib/python3/dist-packages/nitime/analysis/coherence.py:200: RuntimeWarning: invalid value encountered in true_divide
> delay[i, j] = this_phase / (2 * np.pi * self.frequencies)
>
> interfaces/nitime/tests/test_nitime.py::test_coherence_analysis
> /usr/lib/python3/dist-packages/nitime/analysis/coherence.py:200: RuntimeWarning: divide by zero encountered in true_divide
> delay[i, j] = this_phase / (2 * np.pi * self.frequencies)
>
> pipeline/engine/tests/test_nodes.py::test_outputmultipath_collapse
> /<<PKGBUILDDIR>>/nipype/interfaces/utility/base.py:410: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
> out = np.array(self.inputs.inlist)[np.array(self.inputs.index)].tolist()
>
> utils/tests/test_misc.py::test_rgetcwd
> /<<PKGBUILDDIR>>/nipype/utils/misc.py:368: UserWarning: Current folder does not exist, replacing with "/tmp/pytest-of-user42/pytest-4/test_rgetcwd0" instead.
> warn('Current folder does not exist, replacing with "%s" instead.' % cwd)
>
> -- Docs: https://docs.pytest.org/en/stable/warnings.html
> =========================== short test summary info ============================
> FAILED ../nipype/algorithms/tests/test_CompCor.py::TestCompCor::test_compcor
> FAILED ../nipype/algorithms/tests/test_CompCor.py::TestCompCor::test_compcor_variance_threshold_and_metadata
> FAILED ../nipype/algorithms/tests/test_CompCor.py::TestCompCor::test_tcompcor
> = 3 failed, 2648 passed, 239 skipped, 1 deselected, 5 xfailed, 25 warnings in 139.76s (0:02:19) =
> make[1]: *** [debian/rules:39: override_dh_auto_test] Error 1
The full build log is available from:
http://qa-logs.debian.net/2021/10/23/nipype_1.6.0-2_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
More information about the Debian-med-packaging
mailing list