Package: src:nxmx
Version: 0.0.3-3
Severity: serious
Tags: ftbfs trixie sid
Dear maintainer:
During a rebuild of all packages in unstable, your package failed to build:
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --with python3 --buildsystem=pybuild
dh_auto_clean -O--buildsystem=pybuild
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
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
dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build"
module
I: pybuild base:311: python3.12 -m build --skip-dependency-check --no-isolation
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_nxmx
* Building wheel...
[... snipped ...]
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
)
E AttributeError: `np.string_` was removed in the NumPy 2.0 release.
Use `np.bytes_` instead.
/usr/lib/python3/dist-packages/numpy/__init__.py:400: AttributeError
___________________ ERROR at setup of test_get_rotation_axes ___________________
@pytest.fixture
def nxmx_example():
with h5py.File(" ", mode="w", **pytest.h5_in_memory) as f:
entry = f.create_group("/entry")
entry.attrs["NX_class"] = "NXentry"
entry["definition"] = "NXmx"
entry["start_time"] = "2021-09-10T06:54:37Z"
entry["end_time"] = "2021-09-10T06:55:09Z"
entry["end_time_estimated"] = "2021-09-10T06:55:09Z"
source = entry.create_group("source")
source.attrs["NX_class"] = "NXsource"
source_name = source.create_dataset("name", data="Diamond")
source_name.attrs["short_name"] = "DLS"
instrument = entry.create_group("instrument")
instrument.attrs["NX_class"] = "NXinstrument"
name = instrument.create_dataset(
> "name", data=np.string_("DIAMOND BEAMLINE I03")
)
tests/conftest.py:31:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attr = 'string_'
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
)
E AttributeError: `np.string_` was removed in the NumPy 2.0 release.
Use `np.bytes_` instead.
/usr/lib/python3/dist-packages/numpy/__init__.py:400: AttributeError
_________________ ERROR at setup of test_get_dependency_chain __________________
@pytest.fixture
def nxmx_example():
with h5py.File(" ", mode="w", **pytest.h5_in_memory) as f:
entry = f.create_group("/entry")
entry.attrs["NX_class"] = "NXentry"
entry["definition"] = "NXmx"
entry["start_time"] = "2021-09-10T06:54:37Z"
entry["end_time"] = "2021-09-10T06:55:09Z"
entry["end_time_estimated"] = "2021-09-10T06:55:09Z"
source = entry.create_group("source")
source.attrs["NX_class"] = "NXsource"
source_name = source.create_dataset("name", data="Diamond")
source_name.attrs["short_name"] = "DLS"
instrument = entry.create_group("instrument")
instrument.attrs["NX_class"] = "NXinstrument"
name = instrument.create_dataset(
> "name", data=np.string_("DIAMOND BEAMLINE I03")
)
tests/conftest.py:31:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attr = 'string_'
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
)
E AttributeError: `np.string_` was removed in the NumPy 2.0 release.
Use `np.bytes_` instead.
/usr/lib/python3/dist-packages/numpy/__init__.py:400: AttributeError
_____________ ERROR at setup of test_get_cumulative_transformation _____________
@pytest.fixture
def nxmx_example():
with h5py.File(" ", mode="w", **pytest.h5_in_memory) as f:
entry = f.create_group("/entry")
entry.attrs["NX_class"] = "NXentry"
entry["definition"] = "NXmx"
entry["start_time"] = "2021-09-10T06:54:37Z"
entry["end_time"] = "2021-09-10T06:55:09Z"
entry["end_time_estimated"] = "2021-09-10T06:55:09Z"
source = entry.create_group("source")
source.attrs["NX_class"] = "NXsource"
source_name = source.create_dataset("name", data="Diamond")
source_name.attrs["short_name"] = "DLS"
instrument = entry.create_group("instrument")
instrument.attrs["NX_class"] = "NXinstrument"
name = instrument.create_dataset(
> "name", data=np.string_("DIAMOND BEAMLINE I03")
)
tests/conftest.py:31:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attr = 'string_'
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
)
E AttributeError: `np.string_` was removed in the NumPy 2.0 release.
Use `np.bytes_` instead.
/usr/lib/python3/dist-packages/numpy/__init__.py:400: AttributeError
___________________ ERROR at setup of test_nxdetector_group ____________________
@pytest.fixture
def detector_group():
with h5py.File(" ", "w", **pytest.h5_in_memory) as f:
entry = f.create_group("entry")
entry.attrs["NX_class"] = "NXentry"
entry["definition"] = "NXmx"
instrument = entry.create_group("instrument")
instrument.attrs["NX_class"] = "NXinstrument"
group = instrument.create_group("detector_group")
group.attrs["NX_class"] = "NXdetector_group"
group.create_dataset(
"group_names",
> data=[np.string_(n) for n in ("DET", "DTL", "DTR", "DLL",
> "DLR")],
dtype="S12",
)
tests/test_nxmx.py:389:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
attr = 'string_'
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
)
E AttributeError: `np.string_` was removed in the NumPy 2.0 release.
Use `np.bytes_` instead.
/usr/lib/python3/dist-packages/numpy/__init__.py:400: AttributeError
=============================== warnings summary ===============================
tests/test_nxmx.py::test_nxmx_single_value_properties[length-1 array]
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_nxmx/build/nxmx/__init__.py:889:
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.)
return int(self._handle["saturation_value"][()])
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR tests/test_nxmx.py::test_nxentry - AttributeError: `np.string_` was rem...
ERROR tests/test_nxmx.py::test_axis_end_increment_set - AttributeError: `np.s...
ERROR tests/test_nxmx.py::test_nxmx - AttributeError: `np.string_` was remove...
ERROR tests/test_nxmx.py::test_get_rotation_axes - AttributeError: `np.string...
ERROR tests/test_nxmx.py::test_get_dependency_chain - AttributeError: `np.str...
ERROR tests/test_nxmx.py::test_get_cumulative_transformation - AttributeError...
ERROR tests/test_nxmx.py::test_nxdetector_group - AttributeError: `np.string_...
==================== 8 passed, 1 warning, 7 errors in 0.43s ====================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_nxmx/build; python3.13 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12
3.13" returned exit code 13
make: *** [debian/rules:5: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:
https://people.debian.org/~sanvila/build-logs/202502/
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 could not 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:nxmx, so that this is still
visible in the BTS web page for this package.
Thanks.