uvloop
uvloop copied to clipboard
uvloop fails to build with Python 3.13.0a5: error: implicit declaration of function ‘_Py_RestoreSignals’
- uvloop version: 0.19.0
- Python version: 3.13.0a5
- Platform: Fedora Linux 41
- Can you reproduce the bug with
PYTHONASYNCIODEBUGin env?: n/a - Does uvloop behave differently from vanilla asyncio? How?: n/a
I try to build uvloop for Fedora Linux 41 with Python 3.13.0a5. The build fails with the information below.
uvloop/loop.c: In function ‘__pyx_f_6uvloop_4loop_9UVProcess__after_fork’:
uvloop/loop.c:129617:5: error: implicit declaration of function ‘_Py_RestoreSignals’ [-Werror=implicit-function-declaration]
129617 | _Py_RestoreSignals();
| ^~~~~~~~~~~~~~~~~~
_Py_RestoreSignals() has apparently been moved to internal CPython: https://github.com/python/cpython/commit/c9ce983ae1a361f431a0303aeb6f4b8e1d674275
https://github.com/python/cpython/blob/v3.13.0a6/Modules/signalmodule.c#L1931-L1951
Maybe this can be inlined?
This one is a warning here on a pyenv-installed 3.13.0b1 (not sure if -Werror=implicit-function-declaration in the original report comes from Fedora defaults or what), but there are multiple actual errors:
uvloop/loop.c:4446:105: error: invalid type argument of ‘->’ (have ‘int’)
4446 | __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
| ^~
[...]
uvloop/loop.c: In function ‘__Pyx_PyInt_As_int’:
uvloop/loop.c:177390:27: error: too few arguments to function ‘_PyLong_AsByteArray’
177390 | int ret = _PyLong_AsByteArray((PyLongObject *)v,
| ^~~~~~~~~~~~~~~~~~~
[...]
+1