Bug#1028881: cyarray: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.10 3.11" returned exit code 13

Lucas Nussbaum lucas at debian.org
Sat Jan 14 12:54:35 GMT 2023


Source: cyarray
Version: 1.1-4
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-20230113 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
>  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
> I: pybuild base:240: python3.10 setup.py config 
> /usr/lib/python3/dist-packages/Cython/Compiler/Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for now (Py2). This will change in a later release! File: /<<PKGBUILDDIR>>/cyarray/carray.pxd
>   tree = Parsing.p_module(s, pxd, full_module_name)
> Compiling cyarray/carray.pyx because it changed.
> [1/1] Cythonizing cyarray/carray.pyx
> running config
> I: pybuild base:240: python3.11 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:240: /usr/bin/python3.10 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray
> copying cyarray/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray
> copying cyarray/api.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray
> copying cyarray/generator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray/tests
> copying cyarray/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray/tests
> copying cyarray/tests/test_carray.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray/tests
> running egg_info
> creating cyarray.egg-info
> writing cyarray.egg-info/PKG-INFO
> writing dependency_links to cyarray.egg-info/dependency_links.txt
> writing requirements to cyarray.egg-info/requires.txt
> writing top-level names to cyarray.egg-info/top_level.txt
> writing manifest file 'cyarray.egg-info/SOURCES.txt'
> reading manifest file 'cyarray.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no files found matching 'Makefile'
> warning: no files found matching '*.toml'
> adding license file 'LICENSE.txt'
> writing manifest file 'cyarray.egg-info/SOURCES.txt'
> copying cyarray/carray.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray
> copying cyarray/carray.pxd.mako -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray
> copying cyarray/carray.pyx.mako -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray
> copying cyarray/msstdint.h -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray
> running build_ext
> building 'cyarray.carray' extension
> creating build
> creating build/temp.linux-x86_64-cpython-310
> creating build/temp.linux-x86_64-cpython-310/cyarray
> x86_64-linux-gnu-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Icyarray -I/usr/lib/python3/dist-packages/numpy/core/include -I/usr/include/python3.10 -c cyarray/carray.cpp -o build/temp.linux-x86_64-cpython-310/cyarray/carray.o
> In file included from /usr/lib/python3/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
>                  from /usr/lib/python3/dist-packages/numpy/core/include/numpy/ndarrayobject.h:12,
>                  from /usr/lib/python3/dist-packages/numpy/core/include/numpy/arrayobject.h:5,
>                  from cyarray/carray.cpp:785:
> /usr/lib/python3/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
>    17 | #warning "Using deprecated NumPy API, disable it with " \
>       |  ^~~~~~~
> x86_64-linux-gnu-g++ -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-310/cyarray/carray.o -L/usr/lib/x86_64-linux-gnu -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build/cyarray/carray.cpython-310-x86_64-linux-gnu.so
> I: pybuild base:240: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray
> copying cyarray/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray
> copying cyarray/api.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray
> copying cyarray/generator.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray/tests
> copying cyarray/tests/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray/tests
> copying cyarray/tests/test_carray.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray/tests
> running egg_info
> writing cyarray.egg-info/PKG-INFO
> writing dependency_links to cyarray.egg-info/dependency_links.txt
> writing requirements to cyarray.egg-info/requires.txt
> writing top-level names to cyarray.egg-info/top_level.txt
> reading manifest file 'cyarray.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no files found matching 'Makefile'
> warning: no files found matching '*.toml'
> adding license file 'LICENSE.txt'
> writing manifest file 'cyarray.egg-info/SOURCES.txt'
> copying cyarray/carray.pxd -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray
> copying cyarray/carray.pxd.mako -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray
> copying cyarray/carray.pyx.mako -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray
> copying cyarray/msstdint.h -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray
> running build_ext
> building 'cyarray.carray' extension
> creating build/temp.linux-x86_64-cpython-311
> creating build/temp.linux-x86_64-cpython-311/cyarray
> x86_64-linux-gnu-gcc -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Icyarray -I/usr/lib/python3/dist-packages/numpy/core/include -I/usr/include/python3.11 -c cyarray/carray.cpp -o build/temp.linux-x86_64-cpython-311/cyarray/carray.o
> In file included from /usr/lib/python3/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1940,
>                  from /usr/lib/python3/dist-packages/numpy/core/include/numpy/ndarrayobject.h:12,
>                  from /usr/lib/python3/dist-packages/numpy/core/include/numpy/arrayobject.h:5,
>                  from cyarray/carray.cpp:785:
> /usr/lib/python3/dist-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " "#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
>    17 | #warning "Using deprecated NumPy API, disable it with " \
>       |  ^~~~~~~
> x86_64-linux-gnu-g++ -shared -Wl,-O1 -Wl,-Bsymbolic-functions -g -fwrapv -O2 -Wl,-z,relro -Wl,-z,now -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-cpython-311/cyarray/carray.o -L/usr/lib/x86_64-linux-gnu -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build/cyarray/carray.cpython-311-x86_64-linux-gnu.so
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build; python3.10 -m pytest 
> ============================= test session starts ==============================
> platform linux -- Python 3.10.9, pytest-7.2.0, pluggy-1.0.0+repack
> rootdir: /<<PKGBUILDDIR>>
> collected 26 items
> 
> cyarray/tests/test_carray.py ............FF............                  [100%]
> 
> =================================== FAILURES ===================================
> __________________________ TestLongArray.test_remove ___________________________
> 
> self = <cyarray.tests.test_carray.TestLongArray testMethod=test_remove>
> 
>     def test_remove(self):
>         l1 = LongArray(10)
>         l1.set_data(numpy.arange(10))
>         rem = [0, 4, 3]
> >       l1.remove(numpy.array(rem, dtype=numpy.int))
> 
> cyarray/tests/test_carray.py:227: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> attr = 'int'
> 
>     def __getattr__(attr):
>         # Warn for expired attributes, and return a dummy function
>         # that always raises an exception.
>         import warnings
>         try:
>             msg = __expired_functions__[attr]
>         except KeyError:
>             pass
>         else:
>             warnings.warn(msg, DeprecationWarning, stacklevel=2)
>     
>             def _expired(*args, **kwds):
>                 raise RuntimeError(msg)
>     
>             return _expired
>     
>         # Emit warnings for deprecated attributes
>         try:
>             val, msg = __deprecated_attrs__[attr]
>         except KeyError:
>             pass
>         else:
>             warnings.warn(msg, DeprecationWarning, stacklevel=2)
>             return val
>     
>         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.  (This may have returned Python "
>                 "scalars in past versions.", FutureWarning, stacklevel=2)
>     
>         # Importing Tester requires importing all of UnitTest which is not a
>         # cheap import Since it is mainly used in test suits, we lazy import it
>         # here to save on the order of 10 ms of import time for most users
>         #
>         # The previous way Tester was imported also had a side effect of adding
>         # the full `numpy.testing` namespace
>         if attr == 'testing':
>             import numpy.testing as testing
>             return testing
>         elif attr == 'Tester':
>             from .testing import Tester
>             return Tester
>     
> >       raise AttributeError("module {!r} has no attribute "
>                              "{!r}".format(__name__, attr))
> E       AttributeError: module 'numpy' has no attribute 'int'. Did you mean: 'inf'?
> 
> /usr/lib/python3/dist-packages/numpy/__init__.py:284: AttributeError
> ____________________ TestLongArray.test_remove_with_strides ____________________
> 
> self = <cyarray.tests.test_carray.TestLongArray testMethod=test_remove_with_strides>
> 
>     def test_remove_with_strides(self):
>         # Given
>         l1 = LongArray(12)
>         l1.set_data(numpy.arange(12))
>     
>         # When
>         rem = [3, 1]
> >       l1.remove(numpy.array(rem, dtype=numpy.int), stride=3)
> 
> cyarray/tests/test_carray.py:253: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> attr = 'int'
> 
>     def __getattr__(attr):
>         # Warn for expired attributes, and return a dummy function
>         # that always raises an exception.
>         import warnings
>         try:
>             msg = __expired_functions__[attr]
>         except KeyError:
>             pass
>         else:
>             warnings.warn(msg, DeprecationWarning, stacklevel=2)
>     
>             def _expired(*args, **kwds):
>                 raise RuntimeError(msg)
>     
>             return _expired
>     
>         # Emit warnings for deprecated attributes
>         try:
>             val, msg = __deprecated_attrs__[attr]
>         except KeyError:
>             pass
>         else:
>             warnings.warn(msg, DeprecationWarning, stacklevel=2)
>             return val
>     
>         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.  (This may have returned Python "
>                 "scalars in past versions.", FutureWarning, stacklevel=2)
>     
>         # Importing Tester requires importing all of UnitTest which is not a
>         # cheap import Since it is mainly used in test suits, we lazy import it
>         # here to save on the order of 10 ms of import time for most users
>         #
>         # The previous way Tester was imported also had a side effect of adding
>         # the full `numpy.testing` namespace
>         if attr == 'testing':
>             import numpy.testing as testing
>             return testing
>         elif attr == 'Tester':
>             from .testing import Tester
>             return Tester
>     
> >       raise AttributeError("module {!r} has no attribute "
>                              "{!r}".format(__name__, attr))
> E       AttributeError: module 'numpy' has no attribute 'int'. Did you mean: 'inf'?
> 
> /usr/lib/python3/dist-packages/numpy/__init__.py:284: AttributeError
> =========================== short test summary info ============================
> FAILED cyarray/tests/test_carray.py::TestLongArray::test_remove - AttributeEr...
> FAILED cyarray/tests/test_carray.py::TestLongArray::test_remove_with_strides
> ========================= 2 failed, 24 passed in 0.16s =========================
> E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.10_cyarray/build; python3.10 -m pytest 
> I: pybuild base:240: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build; python3.11 -m pytest 
> ============================= test session starts ==============================
> platform linux -- Python 3.11.1, pytest-7.2.0, pluggy-1.0.0+repack
> rootdir: /<<PKGBUILDDIR>>
> collected 26 items
> 
> cyarray/tests/test_carray.py ............FF............                  [100%]
> 
> =================================== FAILURES ===================================
> __________________________ TestLongArray.test_remove ___________________________
> 
> self = <cyarray.tests.test_carray.TestLongArray testMethod=test_remove>
> 
>     def test_remove(self):
>         l1 = LongArray(10)
>         l1.set_data(numpy.arange(10))
>         rem = [0, 4, 3]
> >       l1.remove(numpy.array(rem, dtype=numpy.int))
> 
> cyarray/tests/test_carray.py:227: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> attr = 'int'
> 
>     def __getattr__(attr):
>         # Warn for expired attributes, and return a dummy function
>         # that always raises an exception.
>         import warnings
>         try:
>             msg = __expired_functions__[attr]
>         except KeyError:
>             pass
>         else:
>             warnings.warn(msg, DeprecationWarning, stacklevel=2)
>     
>             def _expired(*args, **kwds):
>                 raise RuntimeError(msg)
>     
>             return _expired
>     
>         # Emit warnings for deprecated attributes
>         try:
>             val, msg = __deprecated_attrs__[attr]
>         except KeyError:
>             pass
>         else:
>             warnings.warn(msg, DeprecationWarning, stacklevel=2)
>             return val
>     
>         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.  (This may have returned Python "
>                 "scalars in past versions.", FutureWarning, stacklevel=2)
>     
>         # Importing Tester requires importing all of UnitTest which is not a
>         # cheap import Since it is mainly used in test suits, we lazy import it
>         # here to save on the order of 10 ms of import time for most users
>         #
>         # The previous way Tester was imported also had a side effect of adding
>         # the full `numpy.testing` namespace
>         if attr == 'testing':
>             import numpy.testing as testing
>             return testing
>         elif attr == 'Tester':
>             from .testing import Tester
>             return Tester
>     
> >       raise AttributeError("module {!r} has no attribute "
>                              "{!r}".format(__name__, attr))
> E       AttributeError: module 'numpy' has no attribute 'int'
> 
> /usr/lib/python3/dist-packages/numpy/__init__.py:284: AttributeError
> ____________________ TestLongArray.test_remove_with_strides ____________________
> 
> self = <cyarray.tests.test_carray.TestLongArray testMethod=test_remove_with_strides>
> 
>     def test_remove_with_strides(self):
>         # Given
>         l1 = LongArray(12)
>         l1.set_data(numpy.arange(12))
>     
>         # When
>         rem = [3, 1]
> >       l1.remove(numpy.array(rem, dtype=numpy.int), stride=3)
> 
> cyarray/tests/test_carray.py:253: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> 
> attr = 'int'
> 
>     def __getattr__(attr):
>         # Warn for expired attributes, and return a dummy function
>         # that always raises an exception.
>         import warnings
>         try:
>             msg = __expired_functions__[attr]
>         except KeyError:
>             pass
>         else:
>             warnings.warn(msg, DeprecationWarning, stacklevel=2)
>     
>             def _expired(*args, **kwds):
>                 raise RuntimeError(msg)
>     
>             return _expired
>     
>         # Emit warnings for deprecated attributes
>         try:
>             val, msg = __deprecated_attrs__[attr]
>         except KeyError:
>             pass
>         else:
>             warnings.warn(msg, DeprecationWarning, stacklevel=2)
>             return val
>     
>         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.  (This may have returned Python "
>                 "scalars in past versions.", FutureWarning, stacklevel=2)
>     
>         # Importing Tester requires importing all of UnitTest which is not a
>         # cheap import Since it is mainly used in test suits, we lazy import it
>         # here to save on the order of 10 ms of import time for most users
>         #
>         # The previous way Tester was imported also had a side effect of adding
>         # the full `numpy.testing` namespace
>         if attr == 'testing':
>             import numpy.testing as testing
>             return testing
>         elif attr == 'Tester':
>             from .testing import Tester
>             return Tester
>     
> >       raise AttributeError("module {!r} has no attribute "
>                              "{!r}".format(__name__, attr))
> E       AttributeError: module 'numpy' has no attribute 'int'
> 
> /usr/lib/python3/dist-packages/numpy/__init__.py:284: AttributeError
> =========================== short test summary info ============================
> FAILED cyarray/tests/test_carray.py::TestLongArray::test_remove - AttributeEr...
> FAILED cyarray/tests/test_carray.py::TestLongArray::test_remove_with_strides
> ========================= 2 failed, 24 passed in 0.15s =========================
> E: pybuild pybuild:388: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_cyarray/build; python3.11 -m pytest 
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.10 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2023/01/13/cyarray_1.1-4_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230113;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230113&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



More information about the debian-science-maintainers mailing list