[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