Source: asyncpg Version: 0.29.0-1 Severity: normal User: debian-pyt...@lists.debian.org Usertags: python3.13 Forwarded: https://github.com/MagicStack/asyncpg/issues/1181
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: running build_ext building 'asyncpg.pgproto.pgproto' extension creating build/temp.linux-aarch64-cpython-312 creating build/temp.linux-aarch64-cpython-312/asyncpg creating build/temp.linux-aarch64-cpython-312/asyncpg/pgproto aarch64-linux-gnu-gcc -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 -Iasyncpg/pgproto -I/usr/include/python3.12 -c asyncpg/pgproto/pgproto.c -o build/temp.linux-aarch64-cpython-312/asyncpg/pgproto/pgproto.o -O2 -fsigned-char -Wall -Wsign-compare -Wconversion asyncpg/pgproto/pgproto.c: In function ‘__Pyx_PyLong_AbsNeg’: asyncpg/pgproto/pgproto.c:46886:97: warning: unsigned conversion from ‘int’ to ‘uintptr_t’ {aka ‘long unsigned int’} changes value from ‘-4’ to ‘18446744073709551612’ [-Wsign-conversion] 46886 | ((PyLongObject*)copy)->long_value.lv_tag = ((PyLongObject*)copy)->long_value.lv_tag & ~_PyLong_SIGN_MASK; | ^ asyncpg/pgproto/pgproto.c: At top level: asyncpg/pgproto/pgproto.c:30439:18: warning: ‘__pyx_f_7asyncpg_7pgproto_7pgproto_json_decode’ defined but not used [-Wunused-function] 30439 | static PyObject *__pyx_f_7asyncpg_7pgproto_7pgproto_json_decode(struct __pyx_obj_7asyncpg_7pgproto_7pgproto_CodecContext *__pyx_v_settings, struct __pyx_t_7asyncpg_7pgproto_7pgproto_FRBuffer *__pyx_v_buf) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ asyncpg/pgproto/pgproto.c:30323:18: warning: ‘__pyx_f_7asyncpg_7pgproto_7pgproto_json_encode’ defined but not used [-Wunused-function] 30323 | static PyObject *__pyx_f_7asyncpg_7pgproto_7pgproto_json_encode(struct __pyx_obj_7asyncpg_7pgproto_7pgproto_CodecContext *__pyx_v_settings, struct __pyx_obj_7asyncpg_7pgproto_7pgproto_WriteBuffer *__pyx_v_buf, PyObject *__pyx_v_obj) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -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/asyncpg/pgproto/pgproto.o -L/usr/lib/aarch64-linux-gnu -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_asyncpg/build/asyncpg/pgproto/pgproto.cpython-312-aarch64-linux-gnu.so building 'asyncpg.protocol.protocol' extension creating build/temp.linux-aarch64-cpython-312/asyncpg/protocol creating build/temp.linux-aarch64-cpython-312/asyncpg/protocol/record aarch64-linux-gnu-gcc -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 -Iasyncpg/pgproto -Iasyncpg/pgproto/ -I/usr/include/python3.12 -c asyncpg/protocol/protocol.c -o build/temp.linux-aarch64-cpython-312/asyncpg/protocol/protocol.o -O2 -fsigned-char -Wall -Wsign-compare -Wconversion asyncpg/protocol/protocol.c: In function ‘__Pyx_PyUnicode_AsDouble_WithSpaces’: asyncpg/protocol/protocol.c:4241:58: warning: conversion to ‘long unsigned int’ from ‘Py_ssize_t’ {aka ‘long int’} may change the sign of the result [-Wsign-conversion] 4241 | char *number = (char*) PyMem_Malloc((length + 1) * sizeof(char)); | ^ asyncpg/protocol/protocol.c: In function ‘__Pyx__PyBytes_AsDouble’: asyncpg/protocol/protocol.c:108581:58: warning: conversion to ‘long unsigned int’ from ‘Py_ssize_t’ {aka ‘long int’} may change the sign of the result [-Wsign-conversion] 108581 | char *number = (char*) PyMem_Malloc((digits + 1) * sizeof(char)); | ^ aarch64-linux-gnu-gcc -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 -Iasyncpg/pgproto -Iasyncpg/pgproto/ -I/usr/include/python3.12 -c asyncpg/protocol/record/recordobj.c -o build/temp.linux-aarch64-cpython-312/asyncpg/protocol/record/recordobj.o -O2 -fsigned-char -Wall -Wsign-compare -Wconversion asyncpg/protocol/record/recordobj.c: In function ‘record_dealloc’: asyncpg/protocol/record/recordobj.c:101:5: warning: ‘UsingDeprecatedTrashcanMacro’ is deprecated [-Wdeprecated-declarations] 101 | Py_TRASHCAN_SAFE_BEGIN(o) | ^~~~~~~~~~~~~~~~~~~~~~ aarch64-linux-gnu-gcc -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -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/asyncpg/protocol/protocol.o build/temp.linux-aarch64-cpython-312/asyncpg/protocol/record/recordobj.o -L/usr/lib/aarch64-linux-gnu -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_asyncpg/build/asyncpg/protocol/protocol.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:8: binary-arch] Error 25 dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 2024-09-17T07:06:45Z If required, the full build log is available here (for the next 30 days): https://debusine.debian.net/artifact/761544/ 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