[Debian-med-packaging] Bug#1136869: python-cykhash: FTBFS: E AttributeError: module 'numpy' has no attribute 'in1d'. Did you mean: 'int16'?
Santiago Vila
sanvila at debian.org
Sat May 16 17:27:57 BST 2026
Package: src:python-cykhash
Version: 2.0.0-3
Severity: serious
Tags: ftbfs forky sid
Dear maintainer:
During a rebuild of all packages in unstable, this package failed to build.
Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:
https://people.debian.org/~sanvila/build-logs/202605/
About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.
If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.
If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-cykhash, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --buildsystem=pybuild
dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:385: python3.14 setup.py clean
performance hint: src/cykhash/sets/set_impl.pxi:17:0: Exception check on '_dealloc_int64' will always require the GIL to be acquired.
Possible solutions:
1. Declare '_dealloc_int64' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
2. Use an 'int' return type on '_dealloc_int64' to allow an error code to be returned.
performance hint: src/cykhash/sets/set_impl.pxi:26:0: Exception check on '_add_int64' will always require the GIL to be acquired.
Possible solutions:
1. Declare '_add_int64' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
2. Use an 'int' return type on '_add_int64' to allow an error code to be returned.
performance hint: src/cykhash/sets/set_impl.pxi:34:0: Exception check on '_discard_int64' will always require the GIL to be acquired.
Possible solutions:
1. Declare '_discard_int64' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
[... snipped ...]
else:
raise AttributeError("`numpy.distutils` is not available from "
"Python 3.12 onwards", name=None)
if attr in __future_scalars__:
# And future warnings for those that will change, but also give
# the AttributeError
warnings.warn(
f"In the future `np.{attr}` will be defined as the "
"corresponding NumPy scalar.", FutureWarning, stacklevel=2)
if attr in __former_attrs__:
raise AttributeError(__former_attrs__[attr], name=None)
if attr in __expired_attributes__:
raise AttributeError(
f"`np.{attr}` was removed in the NumPy 2.0 release. "
f"{__expired_attributes__[attr]}",
name=None
)
if attr == "chararray":
warnings.warn(
"`np.chararray` is deprecated and will be removed from "
"the main namespace in the future. Use an array with a string "
"or bytes dtype instead.", DeprecationWarning, stacklevel=2)
import numpy.char as char
return char.chararray
> raise AttributeError(f"module {__name__!r} has no attribute {attr!r}")
E AttributeError: module 'numpy' has no attribute 'in1d'. Did you mean: 'int16'?
/usr/lib/python3/dist-packages/numpy/__init__.py:792: AttributeError
__________________________ test_isin_random[float32] ___________________________
value_type = 'float32'
@pytest.mark.parametrize(
"value_type",
['int64', 'int32', 'float64', 'float32', 'pyobject']
)
def test_isin_random(value_type):
np.random.seed(42)
NMAX = 10000
for _ in range(50):
n = np.random.randint(500, 2000,1)[0]
values = np.random.randint(0, NMAX, n).astype(NPTYPE[value_type])
s=FROM_BUFFER_SET[value_type](values, .1)
query = np.arange(NMAX).astype(NPTYPE[value_type])
> expected = np.in1d(query, values)
^^^^^^^
tests/unit_tests/test_isin_random.py:29:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attr = 'in1d'
def __getattr__(attr):
# Warn for expired attributes
import warnings
if attr == "linalg":
import numpy.linalg as linalg
return linalg
elif attr == "fft":
import numpy.fft as fft
return fft
elif attr == "dtypes":
import numpy.dtypes as dtypes
return dtypes
elif attr == "random":
import numpy.random as random
return random
elif attr == "polynomial":
import numpy.polynomial as polynomial
return polynomial
elif attr == "ma":
import numpy.ma as ma
return ma
elif attr == "ctypeslib":
import numpy.ctypeslib as ctypeslib
return ctypeslib
elif attr == "exceptions":
import numpy.exceptions as exceptions
return exceptions
elif attr == "testing":
import numpy.testing as testing
return testing
elif attr == "matlib":
import numpy.matlib as matlib
return matlib
elif attr == "f2py":
import numpy.f2py as f2py
return f2py
elif attr == "typing":
import numpy.typing as typing
return typing
elif attr == "rec":
import numpy.rec as rec
return rec
elif attr == "char":
import numpy.char as char
return char
elif attr == "array_api":
raise AttributeError("`numpy.array_api` is not available from "
"numpy 2.0 onwards", name=None)
elif attr == "core":
import numpy.core as core
return core
elif attr == "strings":
import numpy.strings as strings
return strings
elif attr == "distutils":
if 'distutils' in __numpy_submodules__:
import numpy.distutils as distutils
return distutils
else:
raise AttributeError("`numpy.distutils` is not available from "
"Python 3.12 onwards", name=None)
if attr in __future_scalars__:
# And future warnings for those that will change, but also give
# the AttributeError
warnings.warn(
f"In the future `np.{attr}` will be defined as the "
"corresponding NumPy scalar.", FutureWarning, stacklevel=2)
if attr in __former_attrs__:
raise AttributeError(__former_attrs__[attr], name=None)
if attr in __expired_attributes__:
raise AttributeError(
f"`np.{attr}` was removed in the NumPy 2.0 release. "
f"{__expired_attributes__[attr]}",
name=None
)
if attr == "chararray":
warnings.warn(
"`np.chararray` is deprecated and will be removed from "
"the main namespace in the future. Use an array with a string "
"or bytes dtype instead.", DeprecationWarning, stacklevel=2)
import numpy.char as char
return char.chararray
> raise AttributeError(f"module {__name__!r} has no attribute {attr!r}")
E AttributeError: module 'numpy' has no attribute 'in1d'. Did you mean: 'int16'?
/usr/lib/python3/dist-packages/numpy/__init__.py:792: AttributeError
__________________________ test_isin_random[pyobject] __________________________
value_type = 'pyobject'
@pytest.mark.parametrize(
"value_type",
['int64', 'int32', 'float64', 'float32', 'pyobject']
)
def test_isin_random(value_type):
np.random.seed(42)
NMAX = 10000
for _ in range(50):
n = np.random.randint(500, 2000,1)[0]
values = np.random.randint(0, NMAX, n).astype(NPTYPE[value_type])
s=FROM_BUFFER_SET[value_type](values, .1)
query = np.arange(NMAX).astype(NPTYPE[value_type])
> expected = np.in1d(query, values)
^^^^^^^
tests/unit_tests/test_isin_random.py:29:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attr = 'in1d'
def __getattr__(attr):
# Warn for expired attributes
import warnings
if attr == "linalg":
import numpy.linalg as linalg
return linalg
elif attr == "fft":
import numpy.fft as fft
return fft
elif attr == "dtypes":
import numpy.dtypes as dtypes
return dtypes
elif attr == "random":
import numpy.random as random
return random
elif attr == "polynomial":
import numpy.polynomial as polynomial
return polynomial
elif attr == "ma":
import numpy.ma as ma
return ma
elif attr == "ctypeslib":
import numpy.ctypeslib as ctypeslib
return ctypeslib
elif attr == "exceptions":
import numpy.exceptions as exceptions
return exceptions
elif attr == "testing":
import numpy.testing as testing
return testing
elif attr == "matlib":
import numpy.matlib as matlib
return matlib
elif attr == "f2py":
import numpy.f2py as f2py
return f2py
elif attr == "typing":
import numpy.typing as typing
return typing
elif attr == "rec":
import numpy.rec as rec
return rec
elif attr == "char":
import numpy.char as char
return char
elif attr == "array_api":
raise AttributeError("`numpy.array_api` is not available from "
"numpy 2.0 onwards", name=None)
elif attr == "core":
import numpy.core as core
return core
elif attr == "strings":
import numpy.strings as strings
return strings
elif attr == "distutils":
if 'distutils' in __numpy_submodules__:
import numpy.distutils as distutils
return distutils
else:
raise AttributeError("`numpy.distutils` is not available from "
"Python 3.12 onwards", name=None)
if attr in __future_scalars__:
# And future warnings for those that will change, but also give
# the AttributeError
warnings.warn(
f"In the future `np.{attr}` will be defined as the "
"corresponding NumPy scalar.", FutureWarning, stacklevel=2)
if attr in __former_attrs__:
raise AttributeError(__former_attrs__[attr], name=None)
if attr in __expired_attributes__:
raise AttributeError(
f"`np.{attr}` was removed in the NumPy 2.0 release. "
f"{__expired_attributes__[attr]}",
name=None
)
if attr == "chararray":
warnings.warn(
"`np.chararray` is deprecated and will be removed from "
"the main namespace in the future. Use an array with a string "
"or bytes dtype instead.", DeprecationWarning, stacklevel=2)
import numpy.char as char
return char.chararray
> raise AttributeError(f"module {__name__!r} has no attribute {attr!r}")
E AttributeError: module 'numpy' has no attribute 'in1d'. Did you mean: 'int16'?
/usr/lib/python3/dist-packages/numpy/__init__.py:792: AttributeError
=========================== short test summary info ============================
FAILED tests/unit_tests/test_isin_random.py::test_isin_random[int64] - Attrib...
FAILED tests/unit_tests/test_isin_random.py::test_isin_random[int32] - Attrib...
FAILED tests/unit_tests/test_isin_random.py::test_isin_random[float64] - Attr...
FAILED tests/unit_tests/test_isin_random.py::test_isin_random[float32] - Attr...
FAILED tests/unit_tests/test_isin_random.py::test_isin_random[pyobject] - Att...
======================== 5 failed, 1525 passed in 1.00s ========================
E: pybuild pybuild:485: test: plugin custom failed with: exit code=1: PYTHONPATH=/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_cykhash/build python3.13 -m pytest -v tests/unit_tests --ignore tests/unit_tests/test_unique.py --ignore tests/unit_tests/test_CythonInterfaceSets.py --ignore tests/unit_tests/test_CythonInterfaceMaps.py
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" --system=custom --test-args="PYTHONPATH={build_dir} {interpreter} -m pytest -v tests/unit_tests --ignore tests/unit_tests/test_unique.py --ignore tests/unit_tests/test_CythonInterfaceSets.py --ignore tests/unit_tests/test_CythonInterfaceMaps.py" --parallel=2 returned exit code 13
make[1]: *** [debian/rules:12: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:8: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------
More information about the Debian-med-packaging
mailing list