#1114717 python-pbcore: FTBFS with NumPy 2.3

Package:
src:python-pbcore
Source:
src:python-pbcore
Submitter:
Date:
2026-10-20 15:21:02 UTC
Severity:
normal
Tags:
#1114717#5
Date:
2025-09-08 19:44:36 UTC
From:
To:
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:
pbcore/io/align/BamAlignment.py:356: AttributeError
                             ^^^^^^^^^^^^^^^^^^^^^^

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

a = range(0, 94)

    def asciiFromQvs(a):
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) &
---------- 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
#1114717#12
Date:
2025-10-27 12:48:53 UTC
From:
To:

#1114717#21
Date:
2025-12-10 09:21:25 UTC
From:
To:
Hello.

I can build this package just fine in the regular way, which I believe
contradicts the subject in this bug.

We have already NumPy 2.3 in unstable, right?

Thanks.

#1114717#26
Date:
2025-12-10 09:30:54 UTC
From:
To:
Ok, the package builds ok, but the autopkgtests fail.
I'm going to trigger a pipeline in salsa for everybody to see.

So I think the conflict with NumPy 2.3 is real.
Sorry for the fuss.

Thanks.

#1114717#33
Date:
2026-06-02 14:43:02 UTC
From:
To:
Hi,

upstream closed the issue about NumPy 2.3 problems[1] with the hint:

  Please try the 2.6.0 release and let me know if that doesn't fix the problem.

As Karsten Schöke reported on Matrix this new version needs polars[2] which
in turn needs toe following Rust dependencies which are not yet available at
the time of this mail in Debian:

librust-apache-avro-dev
librust-ar-archive-writer-dev
librust-argminmax-dev
librust-array-init-cursor-dev
librust-atoi-simd-dev
librust-avro-schema-dev
librust-crc-fast-dev
librust-debug-unsafe-dev
librust-ethnum-dev
librust-halfbrown-dev
librust-icu-collections-dev
librust-icu-locale-core-dev
librust-icu-normalizer-dev
librust-icu-normalizer-data-dev
librust-icu-properties-dev
librust-icu-properties-data-dev
librust-icu-provider-dev
librust-jsonpath-lib-polars-vendor-dev
librust-now-dev
librust-object-store-dev
librust-planus-dev
librust-recursive-dev
librust-recursive-proc-macro-impl-dev
librust-simd-json-dev
librust-sqlparser-dev
librust-sqlparser-derive-dev
librust-streaming-decompression-dev
librust-unicode-reverse-dev
librust-value-trait-dev
librust-zerotrie-dev


Any help to get polars packaged would be appreciated.

Kind regards
    Andreas.


[1] https://github.com/PacificBiosciences/pbcore/issues/129
[2] https://github.com/pola-rs/polars

#1114717#38
Date:
2026-06-24 11:14:47 UTC
From:
To:
Hi.

Based on the last email from Andreas, it seems that upgrading to 2.6.0 will
not be as simple as I thought.

This is what I tried without success:

I tried dropping the current debian/patches/numpy2.patch and using
the attached patch instead, which is based on upstream's commit
regarding NumPy.

Those two patches overlap to some extent, but I'm not 100% sure that
the second one should work as a drop-in replacement of the first.

Thanks.

#1114717#43
Date:
2026-10-20 15:19:31 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
python-pbcore, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1114717@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Tille <tille@debian.org> (supplier of updated python-pbcore package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 20 Oct 2026 16:41:12 +0200
Source: python-pbcore
Architecture: source
Version: 2.6.0+dfsg-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Changed-By: Andreas Tille <tille@debian.org>
Closes: 1114717
Changes:
 python-pbcore (2.6.0+dfsg-1) unstable; urgency=medium
 .
   * New upstream version
   * d/watch: Use Github template
   * Reflow Uploaders field (cme)
   * Drop patches applied upstream:
     - b24746790c7105212e45dc2f40115d231bd8baae.patch
     - numpy_1.24.patch (Closes: #1114717)
     - numpy2.patch
   * Update exclude_test_missing_data.patch to skip tests that need the
     unpackaged PacBioTestData module.
   * Add numpy-2.4.patch to fix compatibility with numpy 2.4.
Checksums-Sha1:
 e6d1dae66234098d7fcea278437895360e7193ad 2636 python-pbcore_2.6.0+dfsg-1.dsc
 13f27c457190e439f376eab62f555292fc77c95d 2879528 python-pbcore_2.6.0+dfsg.orig.tar.xz
 d6cba2f0366a5780be3e2fb884294a2ec1d26011 12336 python-pbcore_2.6.0+dfsg-1.debian.tar.xz
 608604b3652eb1519fc82dcc05a9e3739aaab567 11140 python-pbcore_2.6.0+dfsg-1_amd64.buildinfo
Checksums-Sha256:
 f7c877ca8a9fa75d8e02b1946460e25c939b9982dd7df01dd2752bc3b4d44502 2636 python-pbcore_2.6.0+dfsg-1.dsc
 95457289815475e7dc951bd9b65ade48a91496a8e4dbc550037abbc5f2ee6ca9 2879528 python-pbcore_2.6.0+dfsg.orig.tar.xz
 44ff9c4763774044eb649c4f3255423ff3460ece451fa99b1a673da43f471296 12336 python-pbcore_2.6.0+dfsg-1.debian.tar.xz
 de99bc22408e22a34c5adf8d7d5502589cb90b4c4a0718d0ef696260b857a59f 11140 python-pbcore_2.6.0+dfsg-1_amd64.buildinfo
Files:
 1162fff5f684c5f14254eb073c3af7d5 2636 python optional python-pbcore_2.6.0+dfsg-1.dsc
 4eec4d54d258dc1f4209672175853c46 2879528 python optional python-pbcore_2.6.0+dfsg.orig.tar.xz
 dd04c21df7e937830e02731ca2741709 12336 python optional python-pbcore_2.6.0+dfsg-1.debian.tar.xz
 fac0dce13d3c4bbb8af2aacb86160231 11140 python optional python-pbcore_2.6.0+dfsg-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAmrXgk4RHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtFhbw//armfBEc4gVH01J4GNrX3XzE+XlaRTP5P
+7fx2GSE+cjquSWJ0mds/MW3HiPuPqSTbtNVBlsYJKQLLTWLcs7ZBJFoj7PKuTDn
tmjJuNjYy/JgiUpPK69nBhIZllgf8slEgzNh7ll4mV+2IfJSMxoTGoFOyQ5jP+dh
1HMf9xMrFZ249QnAD9AKI4xo87fG35lx+oOlhIhPLdkUHW1hXqI6YS1RI1jHOl7Z
fARZVGVqguncJSa36uJ48BXJtju/WKTbNzj13+Nk+ITkemRXlkF9iYKNUBT8xSHy
aELKPHxrEc71zxutjOmT9voykMicbfnd4qHETvWxFnbadZnVTVbsK00Da6Nw7+4c
kH0kPAZCLQzyypFKfqE3Ab7EdK3lNPrDadEnwq+1OwC1Px49BptXW83fF6lP+A3q
FWw7UCkgdFZvXotgHO+t6Z3d56c3dEVSc/G/H/U1175Bkkt3lk+QRBYKy2C/asXY
+KsiWtP/wux3tOjCwh/VYsFfikmHxcehQJ/D9KXH3jYhbVOC3Xu0ZN7aOA3Aa0Yc
aeclNaPf9lksiv/ahPpwGrgWPQ+Xr4+VAiTMCDlk+Gd8+ndHnojyj/DX/7D5KQqv
GP2CygdnoGmBpC9qaGhT/MblHxQlCX6ueZ6JyOw9B+WdDIaRYu7meGDFdF4zHuqw
GVZ6XYpEd4E=
=1R/F
-----END PGP SIGNATURE-----