Source: ariba Version: 2.14.7+ds-2 Severity: normal User: debian-pyt...@lists.debian.org Usertags: python3.13 Affects: src:spades
This package failed build from source when test-built against a version of python3-defaults that includes 3.13 as a supported version. To reproduce this issue, build against python3-defaults (python3-all-dev etc.) from Debian experimental. The issue here is that spades is not built for all supported python3 versions, only for the current default version. Until that changes, maybe the only thing that makes sense to do here is to skip this test for non-default Python 3 versions? What's new in Python 3.13: https://docs.python.org/3.13/whatsnew/3.13.html Log snippet: dh_auto_test -a -O--buildsystem=pybuild I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ariba/build; python3.13 -m pytest ============================= test session starts ============================== platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>> plugins: typeguard-4.3.0 collected 356 items ariba/tests/aln_to_metadata_test.py .................... [ 5%] ariba/tests/assembly_compare_test.py ................ [ 10%] ariba/tests/assembly_test.py ..ss..... [ 12%] ariba/tests/assembly_variants_test.py ........... [ 15%] ariba/tests/bam_parse_test.py ...... [ 17%] ariba/tests/card_record_test.py ........ [ 19%] ariba/tests/cdhit_test.py ................ [ 24%] ariba/tests/cluster_test.py ............................. [ 32%] ariba/tests/clusters_test.py ................ [ 36%] ariba/tests/common_test.py .. [ 37%] ariba/tests/external_progs_test.py . [ 37%] ariba/tests/faidx_test.py . [ 37%] ariba/tests/flag_test.py ....... [ 39%] ariba/tests/histogram_test.py .... [ 41%] ariba/tests/link_test.py ......... [ 43%] ariba/tests/mapping_test.py ....... [ 45%] ariba/tests/megares_data_finder_test.py .. [ 46%] ariba/tests/megares_zip_parser_test.py ..... [ 47%] ariba/tests/mic_plotter_test.py ............. [ 51%] ariba/tests/mlst_profile_test.py .... [ 52%] ariba/tests/mlst_reporter_test.py ..... [ 53%] ariba/tests/pubmlst_getter_test.py ... [ 54%] ariba/tests/pubmlst_ref_preparer_test.py .F [ 55%] ariba/tests/read_filter_test.py . [ 55%] ariba/tests/read_store_test.py ....... [ 57%] ariba/tests/ref_genes_getter_test.py . [ 57%] ariba/tests/ref_preparer_test.py ..... [ 58%] ariba/tests/ref_seq_chooser_test.py ....... [ 60%] ariba/tests/reference_data_test.py .............................. [ 69%] ariba/tests/report_filter_test.py ................. [ 74%] ariba/tests/report_flag_expander_test.py . [ 74%] ariba/tests/samtools_variants_test.py ....... [ 76%] ariba/tests/scaffold_graph_test.py ..... [ 77%] ariba/tests/sequence_metadata_test.py ..... [ 79%] ariba/tests/sequence_variant_test.py ....... [ 81%] ariba/tests/summary_cluster_test.py ....................... [ 87%] ariba/tests/summary_cluster_variant_test.py .... [ 88%] ariba/tests/summary_sample_test.py .... [ 89%] ariba/tests/summary_test.py .................... [ 95%] ariba/tests/tb_test.py ....... [ 97%] ariba/tests/test_refdata_query.py ..... [ 98%] ariba/tests/versions_test.py . [ 99%] ariba/tests/vfdb_parser_test.py ... [100%] =================================== FAILURES =================================== _____ TestPubmlstRefPreparer.test_load_fasta_files_and_write_clusters_file _____ self = <ariba.tests.pubmlst_ref_preparer_test.TestPubmlstRefPreparer testMethod=test_load_fasta_files_and_write_clusters_file> def test_load_fasta_files_and_write_clusters_file(self): '''test _load_fasta_files_and_write_clusters_file''' indir = os.path.join(data_dir, 'pubmlst_ref_prepare.test_load_fa_and_clusters.in') outdir = 'tmp.test.pubmlst_ref_prepare.test_load_fa_and_clusters' os.mkdir(outdir) > r_prep = pubmlst_ref_preparer.PubmlstRefPreparer('species', outdir) ariba/tests/pubmlst_ref_preparer_test.py:35: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ariba/pubmlst_ref_preparer.py:19: in __init__ self.extern_progs, version_report_lines = versions.get_all_versions() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ raise_error = True, using_spades = True def get_all_versions(raise_error=True, using_spades=True): extern_progs = external_progs.ExternalProgs(fail_on_error=False, using_spades=using_spades) report_lines = [ 'ARIBA version: ' + ariba_version, '\nExternal dependencies:', '\n'.join(extern_progs.version_report), '\nExternal dependencies OK: ' + str(extern_progs.all_deps_ok), '\nPython version:', str(sys.version), '\nPython packages:', ] python_packages_ok = True for package in ['ariba', 'bs4', 'dendropy', 'pyfastaq', 'pymummer', 'pysam']: try: exec('import ' + package) version = eval(package + '.__version__') path = eval(package + '.__file__') except: version = 'NOT_FOUND' path = 'NOT_FOUND' python_packages_ok = False if version != 'NOT_FOUND': if package in package_min_versions and LooseVersion(version) < LooseVersion(package_min_versions[package]): version += '... THIS IS TOO LOW. Needs>=' + package_min_versions[package] python_packages_ok = False elif package in package_max_versions and LooseVersion(version) > package_max_versions[package]: version += '...THIS IS TOO HIGH. Needs <=' + package_max_versions[package] python_packages_ok = False report_lines.append(package + '\t' + version + '\t' + path) all_ok = extern_progs.all_deps_ok and python_packages_ok report_lines.extend([ '\nPython packages OK: ' + str(python_packages_ok), '\nEverything looks OK: ' + str(all_ok), ]) if raise_error and not all_ok: print(*report_lines, sep='\n', file=sys.stderr) print('Some dependencies not satisfied. Cannot continue.', file=sys.stderr) > sys.exit(1) E SystemExit: 1 ariba/versions.py:65: SystemExit ----------------------------- Captured stderr call ----------------------------- WARNING: spades not found in path. Looked for spades.py ARIBA version: local External dependencies: bowtie2 2.5.4 /usr/bin/bowtie2 cdhit 4.8.1 /usr/bin/cd-hit-est nucmer 3.1 /usr/bin/nucmer spades NA NOT_FOUND External dependencies OK: True Python version: 3.13.0 (main, Oct 7 2024, 21:58:50) [GCC 14.2.0] Python packages: ariba NOT_FOUND NOT_FOUND bs4 NOT_FOUND NOT_FOUND dendropy NOT_FOUND NOT_FOUND pyfastaq NOT_FOUND NOT_FOUND pymummer NOT_FOUND NOT_FOUND pysam NOT_FOUND NOT_FOUND Python packages OK: False Everything looks OK: False Some dependencies not satisfied. Cannot continue. =============================== warnings summary =============================== ariba/__init__.py:1 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ariba/build/ariba/__init__.py:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html from pkg_resources import get_distribution ../../../../../../usr/lib/python3/dist-packages/pyfastaq/__init__.py:3 /usr/lib/python3/dist-packages/pyfastaq/__init__.py:3: DeprecationWarning: Unimplemented abstract methods {'locate_file', 'read_text'} __version__ = Distribution().from_name('pyfastaq').version ariba/external_progs.py:34 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ariba/build/ariba/external_progs.py:34: SyntaxWarning: invalid escape sequence '\.' 'cdhit': ('', re.compile('CD-HIT version ([0-9\.]+) \(')), ariba/external_progs.py:35 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ariba/build/ariba/external_progs.py:35: SyntaxWarning: invalid escape sequence '\.' 'nucmer': ('--version', re.compile('([0-9]+\.[0-9\.]+.*$)')), ariba/external_progs.py:36 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ariba/build/ariba/external_progs.py:36: SyntaxWarning: invalid escape sequence '\.' 'spades': ('--version', re.compile('SPAdes.*v([0-9\.]+)')) .pybuild/cpython3_3.13_ariba/build/ariba/tests/mic_plotter_test.py::TestMicPlotter::test_get_colours .pybuild/cpython3_3.13_ariba/build/ariba/tests/mic_plotter_test.py::TestMicPlotter::test_get_colours .pybuild/cpython3_3.13_ariba/build/ariba/tests/mic_plotter_test.py::TestMicPlotter::test_get_colours /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ariba/build/ariba/mic_plotter.py:222: MatplotlibDeprecationWarning: The get_cmap function was deprecated in Matplotlib 3.7 and will be removed two minor releases later. Use ``matplotlib.colormaps[name]`` or ``matplotlib.colormaps.get_cmap(obj)`` instead. cmap = cmx.get_cmap(colormap) .pybuild/cpython3_3.13_ariba/build/ariba/tests/mic_plotter_test.py::TestMicPlotter::test_get_colours /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ariba/build/ariba/mic_plotter.py:206: MatplotlibDeprecationWarning: The get_cmap function was deprecated in Matplotlib 3.7 and will be removed two minor releases later. Use ``matplotlib.colormaps[name]`` or ``matplotlib.colormaps.get_cmap(obj)`` instead. cmap = cmx.get_cmap(colormap) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED ariba/tests/pubmlst_ref_preparer_test.py::TestPubmlstRefPreparer::test_load_fasta_files_and_write_clusters_file ======= 1 failed, 353 passed, 2 skipped, 9 warnings in 79.55s (0:01:19) ======== E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_ariba/build; python3.13 -m pytest I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_ariba/build; python3.12 -m pytest ============================= test session starts ============================== platform linux -- Python 3.12.7, pytest-8.3.3, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>> plugins: typeguard-4.3.0 collected 356 items ariba/tests/aln_to_metadata_test.py .................... [ 5%] ariba/tests/assembly_compare_test.py ................ [ 10%] ariba/tests/assembly_test.py ..ss..... [ 12%] ariba/tests/assembly_variants_test.py ........... [ 15%] ariba/tests/bam_parse_test.py ...... [ 17%] ariba/tests/card_record_test.py ........ [ 19%] ariba/tests/cdhit_test.py ................ [ 24%] ariba/tests/cluster_test.py ............................. [ 32%] ariba/tests/clusters_test.py ................ [ 36%] ariba/tests/common_test.py .. [ 37%] ariba/tests/external_progs_test.py . [ 37%] ariba/tests/faidx_test.py . [ 37%] ariba/tests/flag_test.py ....... [ 39%] ariba/tests/histogram_test.py .... [ 41%] ariba/tests/link_test.py ......... [ 43%] ariba/tests/mapping_test.py ....... [ 45%] ariba/tests/megares_data_finder_test.py .. [ 46%] ariba/tests/megares_zip_parser_test.py ..... [ 47%] ariba/tests/mic_plotter_test.py ............. [ 51%] ariba/tests/mlst_profile_test.py .... [ 52%] ariba/tests/mlst_reporter_test.py ..... [ 53%] ariba/tests/pubmlst_getter_test.py ... [ 54%] ariba/tests/pubmlst_ref_preparer_test.py .. [ 55%] ariba/tests/read_filter_test.py . [ 55%] ariba/tests/read_store_test.py ....... [ 57%] ariba/tests/ref_genes_getter_test.py . [ 57%] ariba/tests/ref_preparer_test.py ..... [ 58%] ariba/tests/ref_seq_chooser_test.py ....... [ 60%] ariba/tests/reference_data_test.py .............................. [ 69%] ariba/tests/report_filter_test.py ................. [ 74%] ariba/tests/report_flag_expander_test.py . [ 74%] ariba/tests/samtools_variants_test.py ....... [ 76%] ariba/tests/scaffold_graph_test.py ..... [ 77%] ariba/tests/sequence_metadata_test.py ..... [ 79%] ariba/tests/sequence_variant_test.py ....... [ 81%] ariba/tests/summary_cluster_test.py ....................... [ 87%] ariba/tests/summary_cluster_variant_test.py .... [ 88%] ariba/tests/summary_sample_test.py .... [ 89%] ariba/tests/summary_test.py .................... [ 95%] ariba/tests/tb_test.py ....... [ 97%] ariba/tests/test_refdata_query.py ..... [ 98%] ariba/tests/versions_test.py . [ 99%] ariba/tests/vfdb_parser_test.py ... [100%] =============================== warnings summary =============================== ariba/__init__.py:1 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_ariba/build/ariba/__init__.py:1: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html from pkg_resources import get_distribution ../../../../../../usr/lib/python3/dist-packages/pyfastaq/__init__.py:3 /usr/lib/python3/dist-packages/pyfastaq/__init__.py:3: DeprecationWarning: Unimplemented abstract methods {'locate_file', 'read_text'} __version__ = Distribution().from_name('pyfastaq').version ariba/external_progs.py:34 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_ariba/build/ariba/external_progs.py:34: SyntaxWarning: invalid escape sequence '\.' 'cdhit': ('', re.compile('CD-HIT version ([0-9\.]+) \(')), ariba/external_progs.py:35 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_ariba/build/ariba/external_progs.py:35: SyntaxWarning: invalid escape sequence '\.' 'nucmer': ('--version', re.compile('([0-9]+\.[0-9\.]+.*$)')), ariba/external_progs.py:36 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_ariba/build/ariba/external_progs.py:36: SyntaxWarning: invalid escape sequence '\.' 'spades': ('--version', re.compile('SPAdes.*v([0-9\.]+)')) .pybuild/cpython3_3.12_ariba/build/ariba/tests/mic_plotter_test.py::TestMicPlotter::test_get_colours .pybuild/cpython3_3.12_ariba/build/ariba/tests/mic_plotter_test.py::TestMicPlotter::test_get_colours .pybuild/cpython3_3.12_ariba/build/ariba/tests/mic_plotter_test.py::TestMicPlotter::test_get_colours /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_ariba/build/ariba/mic_plotter.py:222: MatplotlibDeprecationWarning: The get_cmap function was deprecated in Matplotlib 3.7 and will be removed two minor releases later. Use ``matplotlib.colormaps[name]`` or ``matplotlib.colormaps.get_cmap(obj)`` instead. cmap = cmx.get_cmap(colormap) .pybuild/cpython3_3.12_ariba/build/ariba/tests/mic_plotter_test.py::TestMicPlotter::test_get_colours /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_ariba/build/ariba/mic_plotter.py:206: MatplotlibDeprecationWarning: The get_cmap function was deprecated in Matplotlib 3.7 and will be removed two minor releases later. Use ``matplotlib.colormaps[name]`` or ``matplotlib.colormaps.get_cmap(obj)`` instead. cmap = cmx.get_cmap(colormap) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============ 354 passed, 2 skipped, 9 warnings in 81.52s (0:01:21) ============= dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13 3.12" returned exit code 13 make: *** [debian/rules:10: binary-arch] Error 25 dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 2024-10-20T18:34:37Z If required, the full build log is available here (for the next 30 days): https://debusine.debian.net/artifact/872797/ This bug has been filed at "normal" severity, as we haven't started the transition to add 3.13 as a supported version, yet. This will be raised to RC as soon as that happens, hopefully well before trixie. Thanks, Stefano