[Python-modules-team] Bug#999536: jsonpickle: FTBFS with numpy 1.21 (in experimental): dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9 returned exit code 13

Lucas Nussbaum lucas at debian.org
Fri Nov 12 07:24:59 GMT 2021


Source: jsonpickle
Version: 1.2-1
Severity: important
Justification: FTBFS
Tags: bookworm sid ftbfs
User: lucas at debian.org
Usertags: ftbfs-numpy121

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64, using numpy 1.21 currently in experimental. This version
will soon be uploaded to unstable.

If you have questions about this, please contact Sandro Tosi
<morph at debian.org>.

Relevant part (hopefully):
>  debian/rules build
> dh build --with python3,sphinxdoc --buildsystem=pybuild
>    dh_update_autotools_config -O--buildsystem=pybuild
>    dh_autoreconf -O--buildsystem=pybuild
>    dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:232: python3.9 setup.py config 
> running config
>    dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:232: /usr/bin/python3 setup.py build 
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle
> copying jsonpickle/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle
> copying jsonpickle/handlers.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle
> copying jsonpickle/pickler.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle
> copying jsonpickle/compat.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle
> copying jsonpickle/util.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle
> copying jsonpickle/version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle
> copying jsonpickle/tags.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle
> copying jsonpickle/unpickler.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle
> copying jsonpickle/backend.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle/ext
> copying jsonpickle/ext/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle/ext
> copying jsonpickle/ext/numpy.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle/ext
> copying jsonpickle/ext/pandas.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle/ext
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:232: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; python3.9 -m pytest tests
> ============================= test session starts ==============================
> platform linux -- Python 3.9.7, pytest-6.2.5, py-1.10.0, pluggy-0.13.0
> rootdir: /<<PKGBUILDDIR>>
> plugins: cov-3.0.0
> collected 282 items
> 
> tests/backend_test.py ......sss.sssss                                    [  5%]
> tests/bson_test.py .....                                                 [  7%]
> tests/datetime_test.py ................                                  [ 12%]
> tests/document_test.py .                                                 [ 13%]
> tests/ecdsa_test.py s                                                    [ 13%]
> tests/feedparser_test.py .                                               [ 13%]
> tests/handler_test.py ......                                             [ 15%]
> tests/jsonpickle_test.py ss.................s........................... [ 32%]
> ............................ss.........................                  [ 52%]
> tests/numpy_test.py .....F.............                                  [ 58%]
> tests/object_test.py ............s.................s.................... [ 76%]
> s....                                                                    [ 78%]
> tests/pandas_test.py ...................                                 [ 85%]
> tests/sqlalchemy_test.py sss                                             [ 86%]
> tests/stdlib_test.py ...                                                 [ 87%]
> tests/util_test.py ss.................................                   [100%]
> 
> =================================== FAILURES ===================================
> ______________________ NumpyTestCase.test_dtype_roundtrip ______________________
> 
> self = <numpy_test.NumpyTestCase testMethod=test_dtype_roundtrip>
> 
>     def test_dtype_roundtrip(self):
>         if self.should_skip:
>             return self.skip('numpy is not importable')
>         dtypes = [
>             np.int,
>             np.float,
>             np.complex,
>             np.int32,
>             np.str,
>             np.object,
>             np.unicode,
>             np.dtype('f4,i4,f2,i1'),
>             np.dtype(('f4', 'i4'), ('f2', 'i1')),
>             np.dtype('1i4', align=True),
>             np.dtype('M8[7D]'),
>             np.dtype({'names': ['f0', 'f1', 'f2'],
>                       'formats': ['<u4', '<u2', '<u2'],
>                       'offsets':[0, 0, 2]}, align=True)
>         ]
>     
>         if not PY2:
>             dtypes.extend([
>                 np.dtype([('f0', 'i4'), ('f2', 'i1')]),
>                 np.dtype([('top', [('tiles', ('>f4', (64, 64)), (1,)),
>                                    ('rtile', '>f4', (64, 36))], (3,)),
>                           ('bottom', [('bleft', ('>f4', (8, 64)), (1,)),
>                                       ('bright', '>f4', (8, 36))])]),
>             ])
>     
>         for dtype in dtypes:
> >           self.assertEqual(self.roundtrip(dtype), dtype)
> E           AssertionError: {'dtype': "[('f0', '<f4'), ('f1', '<i4'),[60 chars]id]'} != dtype([('f0', '<f4'), ('f1', '<i4'), ('f2[20 chars]1')])
> 
> tests/numpy_test.py:72: AssertionError
> =============================== warnings summary ===============================
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_b64
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_byteorder
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_fortran_base
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_ndarray_dtype_object
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_ndarray_roundtrip
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_views
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle/ext/numpy.py:144: DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. To silence this warning, use `object` by itself. Doing this will not modify any behavior and is safe. 
>   Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
>     if obj.dtype == np.object:
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_b64
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_byteorder
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_fortran_base
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_ndarray_dtype_object
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_ndarray_roundtrip
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_views
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle/ext/numpy.py:196: DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. To silence this warning, use `object` by itself. Doing this will not modify any behavior and is safe. 
>   Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
>     if dtype == np.object:
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_dtype_roundtrip
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/numpy_test.py:46: DeprecationWarning: `np.int` is a deprecated alias for the builtin `int`. To silence this warning, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
>   Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
>     np.int,
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_dtype_roundtrip
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/numpy_test.py:47: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
>   Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
>     np.float,
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_dtype_roundtrip
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/numpy_test.py:48: DeprecationWarning: `np.complex` is a deprecated alias for the builtin `complex`. To silence this warning, use `complex` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.complex128` here.
>   Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
>     np.complex,
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_dtype_roundtrip
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/numpy_test.py:50: DeprecationWarning: `np.str` is a deprecated alias for the builtin `str`. To silence this warning, use `str` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.str_` here.
>   Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
>     np.str,
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_dtype_roundtrip
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/numpy_test.py:51: DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. To silence this warning, use `object` by itself. Doing this will not modify any behavior and is safe. 
>   Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
>     np.object,
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_dtype_roundtrip
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/numpy_test.py:52: DeprecationWarning: `np.unicode` is a deprecated alias for `np.compat.unicode`. To silence this warning, use `np.compat.unicode` by itself. In the likely event your code does not need to work on Python 2 you can use the builtin `str` for which `np.compat.unicode` is itself an alias. Doing this will not modify any behaviour and is safe. If you specifically wanted the numpy scalar type, use `np.str_` here.
>   Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
>     np.unicode,
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_dtype_roundtrip
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/numpy_test.py:55: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
>     np.dtype('1i4', align=True),
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_ndarray_dtype_object
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/numpy_test.py:354: DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. To silence this warning, use `object` by itself. Doing this will not modify any behavior and is safe. 
>   Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
>     a = np.array(['F'+str(i) for i in range(30)], dtype=np.object)
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_ndarray_dtype_object
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/tests/numpy_test.py:360: DeprecationWarning: `np.object` is a deprecated alias for the builtin `object`. To silence this warning, use `object` by itself. Doing this will not modify any behavior and is safe. 
>   Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
>     a = np.array(['F'+str(i) for i in range(30)], dtype=np.object)
> 
> .pybuild/cpython3_3.9/build/tests/numpy_test.py::NumpyTestCase::test_ndarray_roundtrip
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle/ext/numpy.py:298: UserWarning: ndarray is defined by reference to an object we do not know how to serialize. A deep copy is serialized instead, breaking memory aliasing.
>     warnings.warn(msg)
> 
> .pybuild/cpython3_3.9/build/tests/pandas_test.py::PandasTestCase::test_series_roundtrip
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build/jsonpickle/ext/pandas.py:99: FutureWarning: The pandas.np module is deprecated and will be removed from pandas in a future version. Import numpy directly instead
>     dtypes = {k: str(pd.np.dtype(type(obj[k]))) for k in obj.keys()}
> 
> -- Docs: https://docs.pytest.org/en/stable/warnings.html
> =========================== short test summary info ============================
> FAILED tests/numpy_test.py::NumpyTestCase::test_dtype_roundtrip - AssertionEr...
> ============ 1 failed, 259 passed, 22 skipped, 23 warnings in 0.94s ============
> E: pybuild pybuild:354: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; python3.9 -m pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.9 returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2021/11/numpy-matplotlib/numpy-exp/jsonpickle_1.2-1_unstable_numpy-exp.log

If you reassign this bug to another package, please marking 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 Python-modules-team mailing list