[Debichem-devel] Bug#1082092: FTBFS with Python 3.13

Stefano Rivera stefanor at debian.org
Wed Sep 18 10:30:27 BST 2024


Source: mdtraj
Version: 1.10.0-3
Severity: normal
User: debian-python at 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.

This package looks like it needs to get off cython-legacy, for Python
3.13 support.

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

Log snippet:

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 -Imdtraj/formats/xtc/include/ -Imdtraj/formats/xtc/ -I/usr/lib/python3/dist-packages/numpy/core/include -I/usr/include/python3.13 -c mdtraj/formats/xtc/src/xdrfile.c -o build/temp.linux-aarch64-cpython-313/mdtraj/formats/xtc/src/xdrfile.o -Wno-unused-function -Wno-unreachable-code -Wno-sign-compare
mdtraj/formats/xtc/src/xdrfile.c: In function ‘xdrfile_decompress_coord_float’:
mdtraj/formats/xtc/src/xdrfile.c:788:32: warning: variable ‘larger’ set but not used [-Wunused-but-set-variable]
  788 |         int smallnum, smaller, larger, i, is_smaller, run;
      |                                ^~~~~~
mdtraj/formats/xtc/src/xdrfile.c:785:23: warning: variable ‘minidx’ set but not used [-Wunused-but-set-variable]
  785 |         int smallidx, minidx, maxidx;
      |                       ^~~~~~
mdtraj/formats/xtc/src/xdrfile.c: In function ‘xdrfile_compress_coord_float’:
mdtraj/formats/xtc/src/xdrfile.c:1016:13: warning: variable ‘errval’ set but not used [-Wunused-but-set-variable]
 1016 |         int errval=1;
      |             ^~~~~~
mdtraj/formats/xtc/src/xdrfile.c: In function ‘xdrfile_decompress_coord_double’:
mdtraj/formats/xtc/src/xdrfile.c:1305:32: warning: variable ‘larger’ set but not used [-Wunused-but-set-variable]
 1305 |         int smallnum, smaller, larger, i, is_smaller, run;
      |                                ^~~~~~
mdtraj/formats/xtc/src/xdrfile.c:1302:23: warning: variable ‘minidx’ set but not used [-Wunused-but-set-variable]
 1302 |         int smallidx, minidx, maxidx;
      |                       ^~~~~~
mdtraj/formats/xtc/src/xdrfile.c: In function ‘xdrfile_compress_coord_double’:
mdtraj/formats/xtc/src/xdrfile.c:1509:13: warning: variable ‘errval’ set but not used [-Wunused-but-set-variable]
 1509 |         int errval=1;
      |             ^~~~~~
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 -Imdtraj/formats/xtc/include/ -Imdtraj/formats/xtc/ -I/usr/lib/python3/dist-packages/numpy/core/include -I/usr/include/python3.13 -c mdtraj/formats/xtc/src/xdrfile_xtc.c -o build/temp.linux-aarch64-cpython-313/mdtraj/formats/xtc/src/xdrfile_xtc.o -Wno-unused-function -Wno-unreachable-code -Wno-sign-compare
mdtraj/formats/xtc/src/xdrfile_xtc.c: In function ‘xtc_coord’:
mdtraj/formats/xtc/src/xdrfile_xtc.c:66:15: warning: unused variable ‘j’ [-Wunused-variable]
   66 |         int i,j,result;
      |               ^
mdtraj/formats/xtc/src/xdrfile_xtc.c:66:13: warning: unused variable ‘i’ [-Wunused-variable]
   66 |         int i,j,result;
      |             ^
mdtraj/formats/xtc/src/xdrfile_xtc.c: In function ‘read_xtc_nframes’:
mdtraj/formats/xtc/src/xdrfile_xtc.c:119:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  119 |     if (NULL == xd)
      |     ^~
mdtraj/formats/xtc/src/xdrfile_xtc.c:122:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  122 |         do {
      |         ^~
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 -Imdtraj/formats/xtc/include/ -Imdtraj/formats/xtc/ -I/usr/lib/python3/dist-packages/numpy/core/include -I/usr/include/python3.13 -c mdtraj/formats/xtc/xtc.c -o build/temp.linux-aarch64-cpython-313/mdtraj/formats/xtc/xtc.o -Wno-unused-function -Wno-unreachable-code -Wno-sign-compare
In file included from /usr/lib/python3/dist-packages/numpy/core/include/numpy/ndarraytypes.h:1929,
                 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 mdtraj/formats/xtc/xtc.c:784:
/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 " \
      |  ^~~~~~~
mdtraj/formats/xtc/xtc.c:874:1: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
  874 | static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
      | ^~~~~~
mdtraj/formats/xtc/xtc.c: In function ‘__Pyx_Py_UNICODE_strlen’:
mdtraj/formats/xtc/xtc.c:875:5: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
  875 |     const Py_UNICODE *u_end = u;
      |     ^~~~~
mdtraj/formats/xtc/xtc.c: In function ‘__Pyx_init_assertions_enabled’:
mdtraj/formats/xtc/xtc.c:1904:39: error: implicit declaration of function ‘_PyInterpreterState_GetConfig’; did you mean ‘PyInterpreterState_GetID’? [-Wimplicit-function-declaration]
 1904 |     __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                       PyInterpreterState_GetID
mdtraj/formats/xtc/xtc.c:1904:105: error: invalid type argument of ‘->’ (have ‘int’)
 1904 |     __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
      |                                                                                                         ^~
mdtraj/formats/xtc/xtc.c: In function ‘__Pyx_PyUnicode_Join’:
mdtraj/formats/xtc/xtc.c:17817:13: error: implicit declaration of function ‘_PyUnicode_FastCopyCharacters’; did you mean ‘PyUnicode_CopyCharacters’? [-Wimplicit-function-declaration]
17817 |             _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             PyUnicode_CopyCharacters
mdtraj/formats/xtc/xtc.c: In function ‘__Pyx_PyInt_As_npy_int64’:
mdtraj/formats/xtc/xtc.c:19023:27: error: too few arguments to function ‘_PyLong_AsByteArray’
19023 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
      |                           ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.13/longobject.h:107,
                 from /usr/include/python3.13/Python.h:77,
                 from mdtraj/formats/xtc/xtc.c:38:
/usr/include/python3.13/cpython/longobject.h:111:17: note: declared here
  111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
      |                 ^~~~~~~~~~~~~~~~~~~
mdtraj/formats/xtc/xtc.c: In function ‘__Pyx_PyInt_As_int’:
mdtraj/formats/xtc/xtc.c:19219:27: error: too few arguments to function ‘_PyLong_AsByteArray’
19219 |                 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,
      |                 ^~~~~~~~~~~~~~~~~~~
mdtraj/formats/xtc/xtc.c: In function ‘__Pyx_PyInt_As_char’:
mdtraj/formats/xtc/xtc.c:19491:27: error: too few arguments to function ‘_PyLong_AsByteArray’
19491 |                 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,
      |                 ^~~~~~~~~~~~~~~~~~~
mdtraj/formats/xtc/xtc.c: In function ‘__Pyx_PyInt_As_long’:
mdtraj/formats/xtc/xtc.c:19801:27: error: too few arguments to function ‘_PyLong_AsByteArray’
19801 |                 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,
      |                 ^~~~~~~~~~~~~~~~~~~
mdtraj/formats/xtc/xtc.c: In function ‘__Pyx_PyGen_Send’:
mdtraj/formats/xtc/xtc.c:20223:13: error: implicit declaration of function ‘_PyGen_SetStopIterationValue’; did you mean ‘__Pyx_PyGen__FetchStopIterationValue’? [-Wimplicit-function-declaration]
20223 |             _PyGen_SetStopIterationValue(result);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |             __Pyx_PyGen__FetchStopIterationValue
error: command '/usr/bin/aarch64-linux-gnu-gcc' failed with exit code 1
E: pybuild pybuild:389: build: plugin distutils failed with: exit code=1: /usr/bin/python3.13 setup.py build 

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

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



More information about the Debichem-devel mailing list