Bug#1114719: python-pyorick: FTBFS with NumPy 2.3

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


Source: python-pyorick
Version: 1.5-1
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-pyorick failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
        ^^^^^^^^^^
AttributeError: 'numpy.ndarray' object has no attribute 'tostring'

======================================================================
ERROR: test_groups (pyorick.test_pyorick.TestProcess.test_groups)
Check that group types can be sent and received.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/test_pyorick.py", line 278, in test_groups
    v = self.yo.value.junk
        ^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 248, in __getattr__
    return self[name]
           ~~~~^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 308, in __getitem__
    return bare._reqrep(ID_GETVAR, key)
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 220, in _reqrep
    reply = reply.decode()
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 692, in decode
    return codec.idtable[self.packets[0][0]].decoder(self)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 1053, in lst
    codec.qmlist.decoder(msg, 0, value, {})
    ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 1297, in qmlist
    item = codec.idtable[msgid].decoder(msg)
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 984, in sarray
    return codec.decode_sarray(lens, value)  # as nested list
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 1331, in decode_sarray
    v.append(codec.array2string(value[i0[i]:i1[i]]))
             ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 1310, in array2string
    s = a.tostring().decode('iso_8859_1')
        ^^^^^^^^^^
AttributeError: 'numpy.ndarray' object has no attribute 'tostring'

======================================================================
ERROR: test_recurse (pyorick.test_pyorick.TestProcess.test_recurse)
Check that a yorick reply can contain python requests.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/test_pyorick.py", line 375, in test_recurse
    self.yo.c.recursive(2)
    ~~~~~~~~~~~~~~~~~~~^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 366, in __call__
    self.bare._reqrep(ID_SUBCALL, self.name, *args, **kwargs)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 208, in _reqrep
    reply = reply.getreply(self.proc._debug, self._namespace)
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 707, in getreply
    req = self.decode()
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 692, in decode
    return codec.idtable[self.packets[0][0]].decoder(self)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 1101, in evaluate
    text = codec.array2string(msg.packets[pos])
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 1310, in array2string
    s = a.tostring().decode('iso_8859_1')
        ^^^^^^^^^^
AttributeError: 'numpy.ndarray' object has no attribute 'tostring'

======================================================================
ERROR: test_scalars (pyorick.test_pyorick.TestProcess.test_scalars)
Check that scalar types can be sent and received.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/test_pyorick.py", line 251, in test_scalars
    v = self.yo.v.junk
        ^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 248, in __getattr__
    return self[name]
           ~~~~^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 308, in __getitem__
    return bare._reqrep(ID_GETVAR, key)
           ~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 220, in _reqrep
    reply = reply.decode()
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 692, in decode
    return codec.idtable[self.packets[0][0]].decoder(self)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 984, in sarray
    return codec.decode_sarray(lens, value)  # as nested list
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 1331, in decode_sarray
    v.append(codec.array2string(value[i0[i]:i1[i]]))
             ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 1310, in array2string
    s = a.tostring().decode('iso_8859_1')
        ^^^^^^^^^^
AttributeError: 'numpy.ndarray' object has no attribute 'tostring'

======================================================================
ERROR: test_strings (pyorick.test_pyorick.TestProcess.test_strings)
Check that string types can be sent and received.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/test_pyorick.py", line 268, in test_strings
    v = self.yo.c.junk.value
        ^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 464, in value
    return self.bare._reqrep(ID_GETVAR, name)
           ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 220, in _reqrep
    reply = reply.decode()
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 692, in decode
    return codec.idtable[self.packets[0][0]].decoder(self)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 984, in sarray
    return codec.decode_sarray(lens, value)  # as nested list
           ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 1331, in decode_sarray
    v.append(codec.array2string(value[i0[i]:i1[i]]))
             ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "/build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build/pyorick/pyorick.py", line 1310, in array2string
    s = a.tostring().decode('iso_8859_1')
        ^^^^^^^^^^
AttributeError: 'numpy.ndarray' object has no attribute 'tostring'

----------------------------------------------------------------------
Ran 15 tests in 0.132s

FAILED (errors=10)
doing 0
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/reproducible-path/python-pyorick-1.5/.pybuild/cpython3_3.13_pyorick/build; python3.13 -m unittest discover -v 
dh_auto_test: error: pybuild --test -i python{version} -p 3.13 returned exit code 13
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2025-09-08T08:28:00Z

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

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/2455458/

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/163944/

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-science-maintainers mailing list