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.

Reply via email to