Source: pygccjit
Version: 0.4-13
Severity: normal
User: debian-pyt...@lists.debian.org
Usertags: python3.13

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.

In this case, I think it needs to get off cython3-legacy, and use a
modern Cython that can support 3.13.

What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html

Log snippet:

gccjit/gccjit.c:28817:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
28817 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_enum__gcc_jit_str_option’:
gccjit/gccjit.c:29013:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
29013 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_enum__gcc_jit_bool_option’:
gccjit/gccjit.c:29209:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
29209 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_enum__gcc_jit_int_option’:
gccjit/gccjit.c:29405:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
29405 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_enum__gcc_jit_types’:
gccjit/gccjit.c:29601:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
29601 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_enum__gcc_jit_output_kind’:
gccjit/gccjit.c:29797:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
29797 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_enum__gcc_jit_global_kind’:
gccjit/gccjit.c:29993:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
29993 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_enum__gcc_jit_function_kind’:
gccjit/gccjit.c:30227:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
30227 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_enum__gcc_jit_unary_op’:
gccjit/gccjit.c:30423:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
30423 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_enum__gcc_jit_binary_op’:
gccjit/gccjit.c:30619:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
30619 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_enum__gcc_jit_comparison’:
gccjit/gccjit.c:30815:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
30815 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
gccjit/gccjit.c: In function ‘__Pyx_PyInt_As_size_t’:
gccjit/gccjit.c:31049:27: error: too few arguments to function 
‘_PyLong_AsByteArray’
31049 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
error: command '/usr/bin/gcc-13' 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 
Warning: 'classifiers' should be a list, got type 'filter'
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: 
Unknown distribution option: 'test_suite'
  warnings.warn(msg)
/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py:261: UserWarning: 
Unknown distribution option: 'test_loader'
  warnings.warn(msg)
running build
running build_py
creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/gccjit
copying gccjit/__init__.py -> 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/gccjit
running build_ext
skipping 'gccjit/gccjit.c' Cython extension (up-to-date)
building 'gccjit._gccjit' extension
creating build/temp.linux-aarch64-cpython-312
creating build/temp.linux-aarch64-cpython-312/gccjit
gcc-13 -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -O2 
-Werror=implicit-function-declaration -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 gccjit/gccjit.c -o 
build/temp.linux-aarch64-cpython-312/gccjit/gccjit.o
gccjit/gccjit.c: In function 
‘__pyx_pf_6gccjit_7_gccjit_7Context_20get_first_error’:
gccjit/gccjit.c:3912:15: warning: assignment discards ‘const’ qualifier from 
pointer target type [-Wdiscarded-qualifiers]
 3912 |   __pyx_v_err = gcc_jit_context_get_first_error(__pyx_v_self->_c_ctxt);
      |               ^
gccjit/gccjit.c: In function 
‘__pyx_pf_6gccjit_7_gccjit_7Context_22get_last_error’:
gccjit/gccjit.c:4016:15: warning: assignment discards ‘const’ qualifier from 
pointer target type [-Wdiscarded-qualifiers]
 4016 |   __pyx_v_err = gcc_jit_context_get_last_error(__pyx_v_self->_c_ctxt);
      |               ^
gccjit/gccjit.c: In function ‘__pyx_pf_6gccjit_7_gccjit_6Object_2__str__’:
gccjit/gccjit.c:9191:15: warning: assignment discards ‘const’ qualifier from 
pointer target type [-Wdiscarded-qualifiers]
 9191 |     __pyx_t_2 = 
gcc_jit_object_get_debug_string(__pyx_v_self->_c_object);
      |               ^
gcc-13 -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro 
-Wl,-z,relro -g -O2 -Werror=implicit-function-declaration 
-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/gccjit/gccjit.o 
-L/usr/lib/aarch64-linux-gnu -lgccjit -o 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12/build/gccjit/_gccjit.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[1]: *** [debian/rules:12: override_dh_auto_build] Error 255
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:9: build-arch] Error 2
dpkg-buildpackage: error: debian/rules build-arch subprocess returned exit 
status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-18T08:31:35Z


If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/775262/

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 via email to