[Debian-med-packaging] Bug#1114717: python-pbcore: FTBFS with NumPy 2.3

roehling at debian.org roehling at debian.org
Mon Sep 8 20:44:36 BST 2025


Source: python-pbcore
Version: 2.1.2+dfsg-12
Severity: important
User: debian-python at lists.debian.org
Usertags: numpy2.3
Tags: ftbfs, forky, sid

Dear maintainer,

During a test rebuild for NumPy 2.3, python-pbcore failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]

self = BAM alignment: movie1/54130/0_10 @ -    0         11         21
orientation = 'native', style = 'gusfield'

    def transcript(self, orientation="native", style="gusfield"):
        """
        A text representation of the alignment moves (see Gusfield).
        This can be useful in pretty-printing an alignment.
        """
        uc = self.unrolledCigar(orientation)
        #                                    MIDNSHP=X
        _exoneratePlusTrans = np.frombuffer(b"Z  ZZZZ|*", dtype=np.int8)
        _exonerateTrans = np.frombuffer(b"Z  ZZZZ| ", dtype=np.int8)
        _cigarTrans = np.frombuffer(b"ZIDZZZZMM", dtype=np.int8)
        _gusfieldTrans = np.frombuffer(b"ZIDZZZZMR", dtype=np.int8)
    
        if style == "exonerate+":
            return _exoneratePlusTrans[uc].tostring().decode("ascii")
        elif style == "exonerate":
            return _exonerateTrans[uc].tostring().decode("ascii")
        elif style == "cigar":
            return _cigarTrans[uc].tostring().decode("ascii")
        else:
>           return _gusfieldTrans[uc].tostring().decode("ascii")
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
E           AttributeError: 'numpy.ndarray' object has no attribute 'tostring'

pbcore/io/align/BamAlignment.py:356: AttributeError
______________________ TestQvConversion.testAsciiFromQvs _______________________
[gw1] linux -- Python 3.13.7 /usr/bin/python3.13

self = <test_pbcore_io_FastqIO.TestQvConversion object at 0x7fb9ef16a990>

    def testAsciiFromQvs(self):
>       assert self.ASCII == asciiFromQvs(self.QVS)
                             ^^^^^^^^^^^^^^^^^^^^^^

tests/test_pbcore_io_FastqIO.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

a = range(0, 94)

    def asciiFromQvs(a):
>       return (np.clip(a, 0, 93).astype(np.uint8) + 33).tostring().decode("ascii")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E       AttributeError: 'numpy.ndarray' object has no attribute 'tostring'

pbcore/io/FastqIO.py:239: AttributeError
=============================== warnings summary ===============================
tests/test_pbcore_io_AlnFileReaders.py: 3 warnings
tests/test_pbdataset_split.py: 16 warnings
  /build/reproducible-path/python-pbcore-2.1.2+dfsg/.pybuild/cpython3_3.13_pbcore/build/pbcore/io/align/PacBioBamIndex.py:159: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)
    ntId = int(peek("u4", 1))

tests/test_pbdataset_split.py: 249 warnings
tests/test_pbdataset_utils.py: 10 warnings
  /build/reproducible-path/python-pbcore-2.1.2+dfsg/.pybuild/cpython3_3.13_pbcore/build/pbcore/io/dataset/utils.py:24: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    time = datetime.datetime.utcnow().strftime("%y%m%d_%H%M%S%f")[:-3]

tests/test_pbdataset_split.py::TestDataSetSplit::test_split
tests/test_pbdataset_split.py::TestDataSetSplit::test_subreadset_split_metadata_element_name
  /build/reproducible-path/python-pbcore-2.1.2+dfsg/.pybuild/cpython3_3.13_pbcore/build/pbcore/io/dataset/utils.py:30: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
    return datetime.datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%S%f")[:-6]

tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testReadsByName
tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testReadsByName
tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testReadsByName
  /build/reproducible-path/python-pbcore-2.1.2+dfsg/.pybuild/cpython3_3.13_pbcore/build/pbcore/io/align/_AlignmentMixin.py:70: DeprecationWarning: `in1d` is deprecated. Use `np.isin` instead.
    rns = np.flatnonzero(np.in1d(self.qId, rgs) &

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
- generated xml file: /build/reproducible-path/python-pbcore-2.1.2+dfsg/.pybuild/cpython3_3.13_pbcore/build/nosetests.xml -

---------- coverage: platform linux, python 3.13.7-final-0 -----------
Coverage XML written to file coverage.xml

============================= slowest 20 durations =============================
0.13s call     tests/test_pbdataset_split.py::TestDataSetSplit::test_split_by_contigs_with_split_and_maxChunks
0.11s call     tests/test_pbdataset_split.py::TestDataSetSplit::test_split_by_contigs_with_split
0.09s call     tests/test_pbdataset_split.py::TestDataSetSplit::test_split_zmws_targetsize
0.07s call     tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testReadsInRange
0.07s call     tests/test_pbcore_io_AlnFileReaders.py::TestBasicBam::testReadsInRange
0.05s call     tests/test_pbdataset_split.py::TestDataSetSplit::test_split_zmws
0.05s call     tests/test_pbdataset_split.py::TestDataSetSplit::test_contigset_split
0.04s call     tests/test_pbdataset_split.py::TestDataSetSplit::test_split
0.03s setup    tests/test_pbcore_io_AlnFileReaders.py::TestMultipleReadGroups::test_retrieve_read_group_properties
0.02s call     tests/test_pbindex.py::TestPbIndex::test_pbindex_bam_consistency
0.01s call     tests/test_pbdataset_split.py::TestDataSetSplit::test_refWindows
0.01s call     tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::test_alignment_identity_unindexed
0.01s call     tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::test_alignment_identity
0.01s call     tests/test_pbdataset_split.py::TestDataSetSplit::test_subreadset_split_metadata_element_name
0.01s call     tests/test_pbcore_io_FastaTable.py::TestIndexedFastaReader::test_dosLineEndingsFasta
0.01s setup    tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testBasicOperations
0.01s setup    tests/test_pbcore_io_AlnFileReaders.py::TestBasicBam::testBasicOperations
0.01s call     tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testHoleNumbers
0.01s call     tests/test_pbdataset_utils.py::TestDataSetUtils::test_get_dataset_uuid

(1 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
FAILED tests/test_pbcore_io_FastqIO.py::TestFastqRecord::test__str__ - Attrib...
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testAlignedRead
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestBasicBam::testAlignedRead
FAILED tests/test_pbcore_io_FastqIO.py::TestFastqRecord::test_reverse_complement1
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testUnalignedRead
FAILED tests/test_pbcore_io_FastqIO.py::TestFastqRecord::test_reverse_complement2
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestBasicBam::testUnalignedRead
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testAlignedReference
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestBasicBam::testAlignedReference
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testTranscript
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestBasicBam::testTranscript
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testClippedAlignments
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestBasicBam::testClippedAlignments
FAILED tests/test_pbcore_io_FastqIO.py::TestFastqWriter::test_writeFastq1 - A...
FAILED tests/test_pbcore_io_FastqIO.py::TestFastqWriter::test_writeFastq2 - A...
FAILED tests/test_pbcore_io_FastqIO.py::TestFastqWriter::test_writeFastq3 - A...
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::testErrorCounts
FAILED tests/test_pbcore_io_AlnFileReaders.py::TestIndexedBam::test_alignment_identity_unindexed
FAILED tests/test_pbcore_extract_bam_sequence.py::TestCase::test_reverse_complement
FAILED tests/test_pbcore_io_FastqIO.py::TestQvConversion::testAsciiFromQvs - ...
=========== 20 failed, 102 passed, 18 skipped, 283 warnings in 1.70s ===========
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/python-pbcore-2.1.2+dfsg/.pybuild/cpython3_3.13_pbcore/build; python3.13 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13
make[1]: *** [debian/rules:39: override_dh_auto_test] Error 25
make[1]: Leaving directory '/build/reproducible-path/python-pbcore-2.1.2+dfsg'
make: *** [debian/rules:14: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2025-09-08T08:11:22Z

-------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/debian/developers-roehling.numpy/artifact/2455293/

About the archive rebuild: The build was made on debusine.debian.net,
using sbuild.

You can find the build task here:
https://debusine.debian.net/debian/developers-roehling.numpy/work-request/163915/

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Cheers
Timo



More information about the Debian-med-packaging mailing list