TASK: fix Python 3.12 FTBFS in ELN packages
yselkowitz opened this issue · comments
Yaakov Selkowitz commented
What does the ELN SIG need to do?
The Python 3.12 mass rebuild is about to be merged into rawhide, which will trigger the same in ELN. However, as of the time of merging, there are still packages which FTBFS with Python 3.12. Those that are in the ELN package set need to be fixed quickly so as to not disrupt the forthcoming CentOS Stream 10 import.
- criu: https://src.fedoraproject.org/rpms/criu/pull-request/8
- dtc: https://src.fedoraproject.org/rpms/dtc/pull-request/11
- i2c-tools: https://src.fedoraproject.org/rpms/i2c-tools/pull-request/4
- libabigail: https://src.fedoraproject.org/rpms/libabigail/pull-request/10
- libcamera: https://src.fedoraproject.org/rpms/libcamera/pull-request/6
- libnl3: https://src.fedoraproject.org/rpms/libnl3/pull-request/6
- lvm2
- pam_wrapper: https://src.fedoraproject.org/rpms/pam_wrapper/pull-request/4
- pcs: https://src.fedoraproject.org/rpms/pcs/pull-request/39
- pyodbc: (DROPPED) requires porting to current PyUnicode APIs
- python-cpio (UNWANTED): https://src.fedoraproject.org/rpms/python-cpio/pull-request/3
- python-iniparse: https://src.fedoraproject.org/rpms/python-iniparse/pull-request/6
- python-kmod: https://src.fedoraproject.org/rpms/python-kmod/pull-request/3
- python-psutil: https://src.fedoraproject.org/rpms/python-psutil/pull-request/20
- python-pytest-subtests: https://src.fedoraproject.org/rpms/python-pytest-subtests/pull-request/4
- python-pytest-venv (UNWANTED): https://src.fedoraproject.org/rpms/python-pytest-venv/pull-request/3
- python-schedutils (UNWANTED): https://src.fedoraproject.org/rpms/python-schedutils/pull-request/2
- python-urllib-gssapi: https://src.fedoraproject.org/rpms/python-urllib-gssapi/pull-request/3
- pythran
- sudo: https://src.fedoraproject.org/rpms/sudo/pull-request/26
- volume_key: https://src.fedoraproject.org/rpms/volume_key/pull-request/4
- wget: https://src.fedoraproject.org/rpms/wget/pull-request/12
- xcb-proto: https://src.fedoraproject.org/rpms/xcb-proto/pull-request/3
Miro Hrončok commented
pythran is only pulled into ELN by scipy and scipy has been rebuilt without pythran first. a WIP PR is at https://src.fedoraproject.org/rpms/pythran/pull-request/25 but it is not yet fully functional.
Miro Hrončok commented
pythran fixed
Yaakov Selkowitz commented
@hroncok the following Python 3.12 issues remain with the ELN package set:
- pyodbc: uses obsolete
PyUnicode
APIs removed in 3.12:
In file included from src/pyodbc.h:172,
from src/buffer.cpp:12:
src/pyodbccompat.h: In function ‘PyObject* Text_New(Py_ssize_t)’:
src/pyodbccompat.h:75:12: error: ‘PyUnicode_FromUnicode’ was not declared in this scope; did you mean ‘PyUnicode_FromString’?
75 | return PyUnicode_FromUnicode(0, length);
| ^~~~~~~~~~~~~~~~~~~~~
| PyUnicode_FromString
src/pyodbccompat.h: In function ‘Py_UNICODE* Text_Buffer(PyObject*)’:
src/pyodbccompat.h:86:12: error: ‘PyUnicode_AS_UNICODE’ was not declared in this scope; did you mean ‘PyUnicode_AsUCS4’?
86 | return PyUnicode_AS_UNICODE(o);
| ^~~~~~~~~~~~~~~~~~~~
| PyUnicode_AsUCS4
src/pyodbccompat.h: In function ‘Py_ssize_t Text_Size(PyObject*)’:
src/pyodbccompat.h:126:40: error: ‘PyUnicode_GET_SIZE’ was not declared in this scope; did you mean ‘PyDict_GET_SIZE’?
126 | return (o && PyUnicode_Check(o)) ? PyUnicode_GET_SIZE(o) : 0;
| ^~~~~~~~~~~~~~~~~~
| PyDict_GET_SIZE
src/pyodbccompat.h: In function ‘Py_ssize_t TextCopyToUnicode(Py_UNICODE*, PyObject*)’:
src/pyodbccompat.h:146:26: error: ‘PyUnicode_GET_SIZE’ was not declared in this scope; did you mean ‘PyDict_GET_SIZE’?
146 | Py_ssize_t cch = PyUnicode_GET_SIZE(o);
| ^~~~~~~~~~~~~~~~~~
| PyDict_GET_SIZE
src/pyodbccompat.h:147:24: error: ‘PyUnicode_AS_UNICODE’ was not declared in this scope; did you mean ‘PyUnicode_AsUCS4’?
147 | memcpy(buffer, PyUnicode_AS_UNICODE(o), cch * sizeof(Py_UNICODE));
| ^~~~~~~~~~~~~~~~~~~~
| PyUnicode_AsUCS4
error: command '/usr/bin/gcc' failed with exit code 1
error: subprocess-exited-with-error
- sudo: crash during
%check
inplugins/python
Miro Hrončok commented
- pyodbc fails to build with Python 3.12: error: PyUnicode_FromUnicode was not declared in this scope was opened on 2022-12-20, no response. The upstream issue is mkleehammer/pyodbc#917
- sudo fails to build with Python 3.12: FAILED: testcase check_example_group_plugin_is_able_to_debug() was opened on 2023-04-13, no response either.
Yaakov Selkowitz commented
Carrying over remaining failures to #153