Skip to content

uvloop fails to build with Python 3.13-rc1 #622

Closed
@fafanoulele

Description

@fafanoulele
  • uvloop version: 0.20.0
  • Python version: 3.13-rc1
  • Platform: Linux (x86)
  • Can you reproduce the bug with PYTHONASYNCIODEBUG in env?: N/A
  • Does uvloop behave differently from vanilla asyncio? How?: N/A

I failed to install uvloop on Python 3.13-rc1 using this command docker run --name python --rm -i -t python:3.13-rc pip install uvloop. It ends up with those errors:

      CC       src/unix/libuv_la-thread.lo
        CC       src/unix/libuv_la-tty.lo
        CC       src/unix/libuv_la-udp.lo
        CC       src/unix/libuv_la-linux.lo
        CC       src/unix/libuv_la-procfs-exepath.lo
        CC       src/unix/libuv_la-proctitle.lo
        CC       src/unix/libuv_la-random-getrandom.lo
        CC       src/unix/libuv_la-random-sysctl-linux.lo
        CCLD     libuv.la
      building 'uvloop.loop' extension
      creating build/temp.linux-x86_64-cpython-313
      creating build/temp.linux-x86_64-cpython-313/uvloop
      gcc -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall -fPIC -I/usr/local/include/python3.13 -I/tmp/pip-install-r84qnrzv/uvloop_79e898f88d434926a381685fb361c382/vendor/libuv/include -c uvloop/loop.c -o build/temp.linux-x86_64-cpython-313/uvloop/loop.o -O2
      uvloop/loop.c:860:1: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
        860 | static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
            | ^~~~~~
      uvloop/loop.c: In function ‘__Pyx_Py_UNICODE_strlen’:
      uvloop/loop.c:861:5: warning: ‘Py_UNICODE’ is deprecated [-Wdeprecated-declarations]
        861 |     const Py_UNICODE *u_end = u;
            |     ^~~~~
      uvloop/loop.c: In function ‘__Pyx_init_assertions_enabled’:
      uvloop/loop.c:4446:39: warning: implicit declaration of function ‘_PyInterpreterState_GetConfig’; did you mean ‘PyInterpreterState_GetID’? [-Wimplicit-function-declaration]
       4446 |     __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
            |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            |                                       PyInterpreterState_GetID
      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_pymod_exec_loop’:
      uvloop/loop.c:4637:38: warning: implicit declaration of function ‘_PyDict_SetItem_KnownHash’; did you mean ‘_PyDict_GetItem_KnownHash’? [-Wimplicit-function-declaration]
       4637 |     (likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
            |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~
      uvloop/loop.c:170726:7: note: in expansion of macro ‘__Pyx_SetNameInClass’
      170726 |   if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init, __pyx_t_6) < 0) __PYX_ERR(0, 3276, __pyx_L1_error)
             |       ^~~~~~~~~~~~~~~~~~~~
      uvloop/loop.c: In function ‘__Pyx_set_iter_next’:
      uvloop/loop.c:172859:19: warning: implicit declaration of function ‘_PySet_NextEntry’ [-Wimplicit-function-declaration]
      172859 |         int ret = _PySet_NextEntry(iter_obj, ppos, value, &hash);
             |                   ^~~~~~~~~~~~~~~~
      uvloop/loop.c: In function ‘__Pyx_PyUnicode_Join’:
      uvloop/loop.c:174209:13: warning: implicit declaration of function ‘_PyUnicode_FastCopyCharacters’; did you mean ‘PyUnicode_CopyCharacters’? [-Wimplicit-function-declaration]
      174209 |             _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
             |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |             PyUnicode_CopyCharacters
      uvloop/loop.c: In function ‘__Pyx_PyGen_Send’:
      uvloop/loop.c:174694:13: warning: implicit declaration of function ‘_PyGen_SetStopIterationValue’; did you mean ‘__Pyx_PyGen__FetchStopIterationValue’? [-Wimplicit-function-declaration]
      174694 |             _PyGen_SetStopIterationValue(result);
             |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
             |             __Pyx_PyGen__FetchStopIterationValue
      uvloop/loop.c: In function ‘__Pyx_Coroutine_AwaitableIterError’:
      uvloop/loop.c:175664:5: warning: implicit declaration of function ‘_PyErr_FormatFromCause’ [-Wimplicit-function-declaration]
      175664 |     _PyErr_FormatFromCause(
             |     ^~~~~~~~~~~~~~~~~~~~~~
      uvloop/loop.c: In function ‘__Pyx_PyInt_As_int’:
      uvloop/loop.c:177569:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      177569 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      In file included from /usr/local/include/python3.13/longobject.h:107,
                       from /usr/local/include/python3.13/Python.h:77,
                       from uvloop/loop.c:22:
      /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      uvloop/loop.c: In function ‘__Pyx_PyInt_As_uint64_t’:
      uvloop/loop.c:177765:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      177765 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      uvloop/loop.c: In function ‘__Pyx_PyInt_As_long’:
      uvloop/loop.c:177999:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      177999 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      uvloop/loop.c: In function ‘__Pyx_PyInt_As_unsigned_long’:
      uvloop/loop.c:178271:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      178271 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      uvloop/loop.c: In function ‘__Pyx_PyInt_As_unsigned_int’:
      uvloop/loop.c:178467:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      178467 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      uvloop/loop.c: In function ‘__Pyx_PyInt_As_size_t’:
      uvloop/loop.c:178739:27: error: too few arguments to function ‘_PyLong_AsByteArray’
      178739 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /usr/local/include/python3.13/cpython/longobject.h:111:17: note: declared here
        111 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^~~~~~~~~~~~~~~~~~~
      error: command '/usr/bin/gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for uvloop
Failed to build uvloop
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (uvloop)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions