[Debian-med-packaging] Bug#1031484: augur: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 returned exit code 13

Lucas Nussbaum lucas at debian.org
Fri Feb 17 07:02:43 GMT 2023


Source: augur
Version: 20.0.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20230216 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:240: python3.11 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:240: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/dates.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/frequencies.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/titer_model.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/errors.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/align.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/export.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/parse.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/refine.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/export_v1.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/argparse_.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/mask.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/clades.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/traits.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/sequence_traits.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/ancestral.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/index.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/tree.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/__version__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/distance.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/validate_export.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/titers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/translate.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/validate.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/filenames.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/export_v2.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/lbi.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/frequency_estimators.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/reconstruct_sequences.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/types.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> copying augur/utils.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/filter
> copying augur/filter/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/filter
> copying augur/filter/include_exclude_rules.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/filter
> copying augur/filter/io.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/filter
> copying augur/filter/_run.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/filter
> copying augur/filter/subsample.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/filter
> copying augur/filter/validate_arguments.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/filter
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/measurements
> copying augur/measurements/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/measurements
> copying augur/measurements/export.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/measurements
> copying augur/measurements/concat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/measurements
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/curate
> copying augur/curate/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/curate
> copying augur/curate/passthru.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/curate
> copying augur/curate/normalize_strings.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/curate
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/util_support
> copying augur/util_support/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/util_support
> copying augur/util_support/node_data.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/util_support
> copying augur/util_support/color_parser_line.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/util_support
> copying augur/util_support/date_disambiguator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/util_support
> copying augur/util_support/node_data_reader.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/util_support
> copying augur/util_support/node_data_file.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/util_support
> copying augur/util_support/color_parser.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/util_support
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/import_
> copying augur/import_/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/import_
> copying augur/import_/beast.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/import_
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/io
> copying augur/io/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/io
> copying augur/io/shell_command_runner.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/io
> copying augur/io/json.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/io
> copying augur/io/metadata.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/io
> copying augur/io/print.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/io
> copying augur/io/file.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/io
> copying augur/io/vcf.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/io
> copying augur/io/sequences.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/io
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/lat_longs.tsv -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/colors.tsv -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/schema-export-v2.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/schema-annotations.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/schema-frequencies.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/schema-export-v1-meta.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/schema-export-root-sequence.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/schema-auspice-config-v2.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/schema-export-v1-tree.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/schema-measurements-collection-config.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/schema-measurements.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
> copying augur/data/schema-tip-frequencies.json -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/augur/data
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest tests
> ============================= test session starts ==============================
> platform linux -- Python 3.11.2, pytest-7.2.1, pluggy-1.0.0+repack
> rootdir: /<<PKGBUILDDIR>>
> plugins: mock-3.8.2
> collected 323 items
> 
> tests/test_align.py ..............................................       [ 14%]
> tests/test_clades.py .........                                           [ 17%]
> tests/test_dates.py .......                                              [ 19%]
> tests/test_frequencies.py ....................                           [ 25%]
> tests/test_mask.py .......................................               [ 37%]
> tests/test_parse.py ...                                                  [ 38%]
> tests/test_schemas.py ..........                                         [ 41%]
> tests/test_titer_models.py .                                             [ 41%]
> tests/test_translate.py ..                                               [ 42%]
> tests/test_utils.py ...........                                          [ 45%]
> tests/test_validate.py .........                                         [ 48%]
> tests/test_validate_export.py ..                                         [ 49%]
> tests/filter/test_run.py ............................                    [ 57%]
> tests/filter/test_subsample.py ................                          [ 62%]
> tests/io/test_file.py ......FF                                           [ 65%]
> tests/io/test_metadata.py ...................................            [ 76%]
> tests/io/test_sequences.py ....................                          [ 82%]
> tests/io/test_shell_command_runner.py ..........                         [ 85%]
> tests/io/test_vcf.py .......                                             [ 87%]
> tests/util_support/test_color_parser.py ....                             [ 88%]
> tests/util_support/test_date_disambiguator.py .....................      [ 95%]
> tests/util_support/test_node_data.py ...                                 [ 96%]
> tests/util_support/test_node_data_file.py ......                         [ 98%]
> tests/util_support/test_node_data_reader.py ......                       [100%]
> 
> =================================== FAILURES ===================================
> ______________________ TestFile.test_open_file_read_zstd _______________________
> 
> self = <test_file.TestFile object at 0x7f796a15c850>
> tmpdir = local('/tmp/pytest-of-user42/pytest-4/test_open_file_read_zstd0')
> 
>     def test_open_file_read_zstd(self, tmpdir):
>         """Read a text file compressed with zstd."""
> >       import zstandard as zstd
> 
> tests/io/test_file.py:59: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
>     # Copyright (c) 2017-present, Gregory Szorc
>     # All rights reserved.
>     #
>     # This software may be modified and distributed under the terms
>     # of the BSD license. See the LICENSE file for details.
>     
>     """Python interface to the Zstandard (zstd) compression library."""
>     
>     from __future__ import absolute_import, unicode_literals
>     
>     # This module serves 2 roles:
>     #
>     # 1) Export the C or CFFI "backend" through a central module.
>     # 2) Implement additional functionality built on top of C or CFFI backend.
>     
>     import builtins
>     import io
>     import os
>     import platform
>     
>     from typing import ByteString
>     
>     # Some Python implementations don't support C extensions. That's why we have
>     # a CFFI implementation in the first place. The code here import one of our
>     # "backends" then re-exports the symbols from this module. For convenience,
>     # we support falling back to the CFFI backend if the C extension can't be
>     # imported. But for performance reasons, we only do this on unknown Python
>     # implementation. Notably, for CPython we require the C extension by default.
>     # Because someone will inevitably want special behavior, the behavior is
>     # configurable via an environment variable. A potentially better way to handle
>     # this is to import a special ``__importpolicy__`` module or something
>     # defining a variable and `setup.py` could write the file with whatever
>     # policy was specified at build time. Until someone needs it, we go with
>     # the hacky but simple environment variable approach.
>     _module_policy = os.environ.get("PYTHON_ZSTANDARD_IMPORT_POLICY", "default")
>     
>     if _module_policy == "default":
>         if platform.python_implementation() in ("CPython",):
> >           from .backend_c import *  # type: ignore
> E           ImportError: zstd C API versions mismatch; Python bindings were not compiled/linked against expected zstd version (10504 returned by the lib, 10502 hardcoded in zstd headers, 10502 hardcoded in the cext)
> 
> /usr/lib/python3/dist-packages/zstandard/__init__.py:39: ImportError
> ______________________ TestFile.test_open_file_write_zstd ______________________
> 
> self = <test_file.TestFile object at 0x7f796a15e610>
> tmpdir = local('/tmp/pytest-of-user42/pytest-4/test_open_file_write_zstd0')
> 
>     def test_open_file_write_zstd(self, tmpdir):
>         """Write a text file compressed with zstd."""
> >       import zstandard as zstd
> 
> tests/io/test_file.py:68: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
>     # Copyright (c) 2017-present, Gregory Szorc
>     # All rights reserved.
>     #
>     # This software may be modified and distributed under the terms
>     # of the BSD license. See the LICENSE file for details.
>     
>     """Python interface to the Zstandard (zstd) compression library."""
>     
>     from __future__ import absolute_import, unicode_literals
>     
>     # This module serves 2 roles:
>     #
>     # 1) Export the C or CFFI "backend" through a central module.
>     # 2) Implement additional functionality built on top of C or CFFI backend.
>     
>     import builtins
>     import io
>     import os
>     import platform
>     
>     from typing import ByteString
>     
>     # Some Python implementations don't support C extensions. That's why we have
>     # a CFFI implementation in the first place. The code here import one of our
>     # "backends" then re-exports the symbols from this module. For convenience,
>     # we support falling back to the CFFI backend if the C extension can't be
>     # imported. But for performance reasons, we only do this on unknown Python
>     # implementation. Notably, for CPython we require the C extension by default.
>     # Because someone will inevitably want special behavior, the behavior is
>     # configurable via an environment variable. A potentially better way to handle
>     # this is to import a special ``__importpolicy__`` module or something
>     # defining a variable and `setup.py` could write the file with whatever
>     # policy was specified at build time. Until someone needs it, we go with
>     # the hacky but simple environment variable approach.
>     _module_policy = os.environ.get("PYTHON_ZSTANDARD_IMPORT_POLICY", "default")
>     
>     if _module_policy == "default":
>         if platform.python_implementation() in ("CPython",):
> >           from .backend_c import *  # type: ignore
> E           ImportError: zstd C API versions mismatch; Python bindings were not compiled/linked against expected zstd version (10504 returned by the lib, 10502 hardcoded in zstd headers, 10502 hardcoded in the cext)
> 
> /usr/lib/python3/dist-packages/zstandard/__init__.py:39: ImportError
> =========================== short test summary info ============================
> FAILED tests/io/test_file.py::TestFile::test_open_file_read_zstd - ImportErro...
> FAILED tests/io/test_file.py::TestFile::test_open_file_write_zstd - ImportErr...
> ======================== 2 failed, 321 passed in 6.54s =========================
> E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/02/16/augur_20.0.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230216;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230216&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

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 mark 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