Bug#1081668: FTBFS with Python 3.13
Source: compreffor
Version: 0.5.5-1
Severity: normal
Tags: upstream
User: debian-python@lists.debian.org
Usertags: python3.13
Forwarded: https://github.com/googlefonts/compreffor/issues/156
This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.
To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.
What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html
Log snippet:
from /usr/include/python3.13/Python.h:75,
from src/cython/_compreffor.cpp:16:
/usr/include/python3.13/cpython/unicodeobject.h:10:37: note: declared here
10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
| ^~~~~~~~~~
src/cython/_compreffor.cpp: In function ‘size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE*)’:
src/cython/_compreffor.cpp:1255:23: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
1255 | const Py_UNICODE *u_end = u;
| ^~~~~
/usr/include/python3.13/cpython/unicodeobject.h:10:37: note: declared here
10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
| ^~~~~~~~~~
src/cython/_compreffor.cpp: At global scope:
src/cython/_compreffor.cpp:4763:1: warning: missing initializer for member ‘_typeobject::tp_versions_used’ [-Wmissing-field-initializers]
4763 | };
| ^
src/cython/_compreffor.cpp: In function ‘int __Pyx_PyInt_As_int(PyObject*)’:
src/cython/_compreffor.cpp:5352:42: error: too few arguments to function ‘int _PyLong_AsByteArray(PyLongObject*, unsigned char*, size_t, int, int, int)’
5352 | ret = _PyLong_AsByteArray((PyLongObject *)v,
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
5353 | bytes, sizeof(val),
| ~~~~~~~~~~~~~~~~~~~
5354 | is_little, !is_unsigned);
| ~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.13/longobject.h:107,
from /usr/include/python3.13/Python.h:77:
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
| ^~~~~~~~~~~~~~~~~~~
src/cython/_compreffor.cpp: In function ‘unsigned int __Pyx_PyInt_As_unsigned_int(PyObject*)’:
src/cython/_compreffor.cpp:5687:42: error: too few arguments to function ‘int _PyLong_AsByteArray(PyLongObject*, unsigned char*, size_t, int, int, int)’
5687 | ret = _PyLong_AsByteArray((PyLongObject *)v,
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
5688 | bytes, sizeof(val),
| ~~~~~~~~~~~~~~~~~~~
5689 | is_little, !is_unsigned);
| ~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
| ^~~~~~~~~~~~~~~~~~~
src/cython/_compreffor.cpp: In function ‘long int __Pyx_PyInt_As_long(PyObject*)’:
src/cython/_compreffor.cpp:6100:42: error: too few arguments to function ‘int _PyLong_AsByteArray(PyLongObject*, unsigned char*, size_t, int, int, int)’
6100 | ret = _PyLong_AsByteArray((PyLongObject *)v,
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
6101 | bytes, sizeof(val),
| ~~~~~~~~~~~~~~~~~~~
6102 | is_little, !is_unsigned);
| ~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
| ^~~~~~~~~~~~~~~~~~~
error: command '/usr/bin/aarch64-linux-gnu-g++' failed with exit code 1
E: pybuild pybuild:389: build: plugin distutils failed with: exit code=1: /usr/bin/python3.13 setup.py build
I: pybuild base:311: /usr/bin/python3 setup.py build
/<<PKGBUILDDIR>>/setup.py:6: DeprecationWarning: dep_util is Deprecated. Use functions from setuptools instead.
from distutils.dep_util import newer_group
/<<PKGBUILDDIR>>/setup.py:7: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
import pkg_resources
/usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!
********************************************************************************
Requirements should be satisfied by a PEP 517 installer.
If you are using pip, you can try `pip install --use-pep517`.
********************************************************************************
!!
dist.fetch_build_eggs(dist.setup_requires)
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require'
warnings.warn(msg)
WARNING setuptools_scm.pyproject_reading toml section missing 'pyproject.toml does not contain a tool.setuptools_scm section'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/setuptools_scm/_integration/pyproject_reading.py", line 36, in read_pyproject
section = defn.get("tool", {})[tool_name]
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
KeyError: 'setuptools_scm'
Development mode: Compiling Cython modules from .pyx sources.
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor
copying src/python/compreffor/pyCompressor.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor
copying src/python/compreffor/cxxCompressor.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor
copying src/python/compreffor/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor
copying src/python/compreffor/_version.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor
copying src/python/compreffor/__main__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor/test
copying src/python/compreffor/test/pyCompressor_test.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor/test
copying src/python/compreffor/test/util.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor/test
copying src/python/compreffor/test/__init__.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor/test
copying src/python/compreffor/test/dummy.py -> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor/test
running build_ext
skipping 'src/cython/_compreffor.cpp' Cython extension (up-to-date)
building 'compreffor._compreffor' extension
creating build/temp.linux-aarch64-cpython-312
creating build/temp.linux-aarch64-cpython-312/src
creating build/temp.linux-aarch64-cpython-312/src/cython
creating build/temp.linux-aarch64-cpython-312/src/cxx
aarch64-linux-gnu-g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c src/cython/_compreffor.cpp -o build/temp.linux-aarch64-cpython-312/src/cython/_compreffor.o -std=c++0x -pthread -Wextra -Wno-unused -Wno-unused-parameter
aarch64-linux-gnu-g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.12 -c src/cxx/cffCompressor.cc -o build/temp.linux-aarch64-cpython-312/src/cxx/cffCompressor.o -std=c++0x -pthread -Wextra -Wno-unused -Wno-unused-parameter
aarch64-linux-gnu-g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-z,relro -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-aarch64-cpython-312/src/cython/_compreffor.o build/temp.linux-aarch64-cpython-312/src/cxx/cffCompressor.o -L/usr/lib/aarch64-linux-gnu -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_compreffor/build/compreffor/_compreffor.cpython-312-aarch64-linux-gnu.so
dh_auto_build: error: pybuild --build -i python{version} -p "3.13 3.12" returned exit code 13
make: *** [debian/rules:6: build-arch] Error 25
dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-13T16:34:34Z
If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/712250/
This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.
Thanks,
Stefano
Reply to: