Skip to content

RFE: please provide cython 3.x support #558

Open

Description

@kloczek

Currently build fails with:

+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...

ERROR Missing dependencies:
        Cython<0.30.0,>=0.29.32

Activity

  1. kloczek commented on Aug 30, 2023

    @kloczek
    Author

    Just made quick test with cython 3.0.2 and indeed buid fails:

    Details
    + /usr/bin/python3 -sBm build -w --no-isolation
    * Getting build dependencies for wheel...
    * Building wheel...
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-cpython-38
    creating build/lib.linux-x86_64-cpython-38/uvloop
    copying uvloop/__init__.py -> build/lib.linux-x86_64-cpython-38/uvloop
    copying uvloop/_noop.py -> build/lib.linux-x86_64-cpython-38/uvloop
    copying uvloop/_testbase.py -> build/lib.linux-x86_64-cpython-38/uvloop
    copying uvloop/_version.py -> build/lib.linux-x86_64-cpython-38/uvloop
    running egg_info
    creating uvloop.egg-info
    writing uvloop.egg-info/PKG-INFO
    writing dependency_links to uvloop.egg-info/dependency_links.txt
    writing requirements to uvloop.egg-info/requires.txt
    writing top-level names to uvloop.egg-info/top_level.txt
    writing manifest file 'uvloop.egg-info/SOURCES.txt'
    <string>:144: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    warning: uvloop/includes/consts.pxi:1:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:4:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:5:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:7:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:8:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:10:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:13:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:16:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:21:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:24:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:25:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    # cython: language_level=3
    
    
    from .includes cimport uv
    ^
    ------------------------------------------------------------
    
    uvloop/loop.pxd:4:0: 'uvloop/includes.pxd' not found
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    # cython: language_level=3
    
    
    from .includes cimport uv
    from .includes cimport system
    ^
    ------------------------------------------------------------
    
    uvloop/loop.pxd:5:0: 'uvloop/includes.pxd' not found
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    ctypedef object (*method3_t)(object, object, object, object)
    
    
    cdef class Loop:
        cdef:
            uv.uv_loop_t *uvloop
            ^
    ------------------------------------------------------------
    
    uvloop/loop.pxd:34:8: 'uv' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        cdef _init_debug_fields(self)
    
        cdef _on_wake(self)
        cdef _on_idle(self)
    
        cdef __run(self, uv.uv_run_mode)
                         ^
    ------------------------------------------------------------
    
    uvloop/loop.pxd:136:21: 'uv' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
        cdef _on_wake(self)
        cdef _on_idle(self)
    
        cdef __run(self, uv.uv_run_mode)
        cdef _run(self, uv.uv_run_mode)
                        ^
    ------------------------------------------------------------
    
    uvloop/loop.pxd:137:20: 'uv' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        cdef _getaddrinfo(self, object host, object port,
                          int family, int type,
                          int proto, int flags,
                          int unpack)
    
        cdef _getnameinfo(self, system.sockaddr *addr, int flags)
                                ^
    ------------------------------------------------------------
    
    uvloop/loop.pxd:167:28: 'system' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    cdef class UVHandle:
        cdef:
            uv.uv_handle_t *_handle
            ^
    ------------------------------------------------------------
    
    uvloop/handles/handle.pxd:3:8: 'uv' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    cdef class UVStream(UVBaseTransport):
        cdef:
            uv.uv_shutdown_t _shutdown_req
            ^
    ------------------------------------------------------------
    
    uvloop/handles/stream.pxd:3:8: 'uv' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    cdef class TCPServer(UVStreamServer):
        cdef bind(self, system.sockaddr* addr, unsigned int flags=*)
                        ^
    ------------------------------------------------------------
    
    uvloop/handles/tcp.pxd:2:20: 'system' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
    cdef class TCPTransport(UVStream):
        cdef:
            bint __peername_set
            bint __sockname_set
            system.sockaddr_storage __peername
            ^
    ------------------------------------------------------------
    
    uvloop/handles/tcp.pxd:17:8: 'system' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    cdef class TCPTransport(UVStream):
        cdef:
            bint __peername_set
            bint __sockname_set
            system.sockaddr_storage __peername
            system.sockaddr_storage __sockname
            ^
    ------------------------------------------------------------
    
    uvloop/handles/tcp.pxd:18:8: 'system' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            bint __peername_set
            bint __sockname_set
            system.sockaddr_storage __peername
            system.sockaddr_storage __sockname
    
        cdef bind(self, system.sockaddr* addr, unsigned int flags=*)
                        ^
    ------------------------------------------------------------
    
    uvloop/handles/tcp.pxd:20:20: 'system' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            bint __sockname_set
            system.sockaddr_storage __peername
            system.sockaddr_storage __sockname
    
        cdef bind(self, system.sockaddr* addr, unsigned int flags=*)
        cdef connect(self, system.sockaddr* addr)
                           ^
    ------------------------------------------------------------
    
    uvloop/handles/tcp.pxd:21:23: 'system' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            bint _restore_signals
    
            list _fds_to_close
    
            # Attributes used to compose uv_process_options_t:
            uv.uv_process_options_t options
            ^
    ------------------------------------------------------------
    
    uvloop/handles/process.pxd:14:8: 'uv' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
            list _fds_to_close
    
            # Attributes used to compose uv_process_options_t:
            uv.uv_process_options_t options
            uv.uv_stdio_container_t[3] iocnt
            ^
    ------------------------------------------------------------
    
    uvloop/handles/process.pxd:15:8: 'uv' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
            list _fds_to_close
    
            # Attributes used to compose uv_process_options_t:
            uv.uv_process_options_t options
            uv.uv_stdio_container_t[3] iocnt
            ^
    ------------------------------------------------------------
    
    uvloop/handles/process.pxd:15:8: 'uv' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    cdef class UVRequest:
        cdef:
            uv.uv_req_t *request
            ^
    ------------------------------------------------------------
    
    uvloop/request.pxd:3:8: 'uv' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            bint __receiving
            int _family
            object _address
    
        cdef _init(self, Loop loop, unsigned int family)
        cdef _set_address(self, system.addrinfo *addr)
                                ^
    ------------------------------------------------------------
    
    uvloop/handles/udp.pxd:8:28: 'system' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            object _address
    
        cdef _init(self, Loop loop, unsigned int family)
        cdef _set_address(self, system.addrinfo *addr)
    
        cdef _connect(self, system.sockaddr* addr, size_t addr_len)
                            ^
    ------------------------------------------------------------
    
    uvloop/handles/udp.pxd:10:24: 'system' is not declared
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        cdef _init(self, Loop loop, unsigned int family)
        cdef _set_address(self, system.addrinfo *addr)
    
        cdef _connect(self, system.sockaddr* addr, size_t addr_len)
    
        cdef _bind(self, system.sockaddr* addr)
                         ^
    ------------------------------------------------------------
    
    uvloop/handles/udp.pxd:12:21: 'system' is not declared
    warning: uvloop/includes/consts.pxi:1:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:3:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:4:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:5:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:7:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:8:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:10:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:13:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:16:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:21:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:24:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/includes/consts.pxi:25:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/handles/stream.pyx:1:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/handles/process.pyx:337:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/handles/process.pyx:338:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/handles/process.pyx:339:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/handles/process.pyx:340:0: The 'DEF' statement is deprecated and will be removed in a future Cython version. Consider using global variables, constants, and in-place literals instead. See https://github.com/cython/cython/issues/4310
    warning: uvloop/handles/udp.pyx:351:8: The 'IF' statement is deprecated and will be removed in a future Cython version. Consider using runtime conditions or C macros instead. See https://github.com/cython/cython/issues/4310
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            self._recv_buffer_in_use = 0
    
            err = uv.uv_loop_init(self.uvloop)
            if err < 0:
                raise convert_error(err)
            self.uvloop.data = <void*> self
                               ^
    ------------------------------------------------------------
    
    uvloop/loop.pyx:167:27: Cannot convert 'void *' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            if self._handle is NULL:
                return
    
            # -> When we're at this point, something is wrong <-
    
            if self._handle.loop is NULL:
                                 ^
    ------------------------------------------------------------
    
    uvloop/handles/handle.pyx:44:29: Invalid types for 'is' (Python object, void *)
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
            # The handle is dealloced while open.  Let's try to close it.
            # Situations when this is possible include unhandled exceptions,
            # errors during Handle.__cinit__/__init__ etc.
            if self._inited:
                self._handle.data = NULL
                                    ^
    ------------------------------------------------------------
    
    uvloop/handles/handle.pyx:62:32: Cannot convert 'void *' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            # The handle is dealloced while open.  Let's try to close it.
            # Situations when this is possible include unhandled exceptions,
            # errors during Handle.__cinit__/__init__ etc.
            if self._inited:
                self._handle.data = NULL
                uv.uv_close(self._handle, __uv_close_handle_cb)  # void; no errors
                                          ^
    ------------------------------------------------------------
    
    uvloop/handles/handle.pyx:63:38: Cannot assign type 'void (uv_handle_t *) except * nogil' to 'uv_close_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_handle_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                self._closed = 1
    
        cdef inline _finish_init(self):
            self._inited = 1
            if self._has_handle == 1:
                self._handle.data = <void*>self
                                    ^
    ------------------------------------------------------------
    
    uvloop/handles/handle.pyx:117:32: Cannot convert 'void *' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                            '{} is alive, but _loop is None'.format(name))
                    if self._handle.loop is not self._loop.uvloop:
                        raise RuntimeError(
                            '{} is alive, but _handle.loop is not '
                            'initialized'.format(name))
                    if self._handle.data is not <void*>self:
                                         ^
    ------------------------------------------------------------
    
    uvloop/handles/handle.pyx:151:37: Invalid types for 'is_not' (Python object, void *)
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
            if self._handle is NULL:
                return
    
            if UVLOOP_DEBUG:
                if self._handle.data is NULL:
                                     ^
    ------------------------------------------------------------
    
    uvloop/handles/handle.pyx:194:33: Invalid types for 'is' (Python object, void *)
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                            self.__class__.__name__))
    
            # We want the handle wrapper (UVHandle) to stay alive until
            # the closing callback fires.
            Py_INCREF(self)
            uv.uv_close(self._handle, __uv_close_handle_cb)  # void; no errors
                                      ^
    ------------------------------------------------------------
    
    uvloop/handles/handle.pyx:212:34: Cannot assign type 'void (uv_handle_t *) except * nogil' to 'uv_close_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_handle_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                Py_DECREF(h)  # Was INCREFed in UVHandle._close
    
    
    cdef void __close_all_handles(Loop loop):
        uv.uv_walk(loop.uvloop,
                   __uv_walk_close_all_handles_cb,
                   ^
    ------------------------------------------------------------
    
    uvloop/handles/handle.pyx:368:15: Cannot assign type 'void (uv_handle_t *, void *) except * nogil' to 'uv_walk_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_handle_t *, void *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                self._abort_init()
                raise MemoryError()
    
            err = uv.uv_async_init(self._loop.uvloop,
                                   <uv.uv_async_t*>self._handle,
                                   __uvasync_callback)
                                   ^
    ------------------------------------------------------------
    
    uvloop/handles/async_.pyx:15:31: Cannot assign type 'void (uv_async_t *) except * nogil' to 'uv_async_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_async_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
            self._ensure_alive()
    
            if self.running == 0:
                err = uv.uv_idle_start(<uv.uv_idle_t*>self._handle,
                                       cb_idle_callback)
                                       ^
    ------------------------------------------------------------
    
    uvloop/handles/idle.pyx:45:35: Cannot assign type 'void (uv_idle_t *) except * nogil' to 'uv_idle_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_idle_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
            self._ensure_alive()
    
            if self.running == 0:
                err = uv.uv_check_start(<uv.uv_check_t*>self._handle,
                                        cb_check_callback)
                                        ^
    ------------------------------------------------------------
    
    uvloop/handles/check.pyx:45:36: Cannot assign type 'void (uv_check_t *) except * nogil' to 'uv_check_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_check_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                # Update libuv internal time.
                uv.uv_update_time(self._loop.uvloop)  # void
                self.start_t = uv.uv_now(self._loop.uvloop)
    
                err = uv.uv_timer_start(<uv.uv_timer_t*>self._handle,
                                        __uvtimer_callback,
                                        ^
    ------------------------------------------------------------
    
    uvloop/handles/timer.pyx:54:36: Cannot assign type 'void (uv_timer_t *) except * nogil' to 'uv_timer_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_timer_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            self._ensure_alive()
    
            err = uv.uv_poll_start(
                <uv.uv_poll_t*>self._handle,
                flags,
                __on_uvpoll_event)
                ^
    ------------------------------------------------------------
    
    uvloop/handles/poll.pyx:44:12: Cannot assign type 'void (uv_poll_t *, int, int) except * nogil' to 'uv_poll_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_poll_t *, int, int) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                return
            self.__shutting_down = 1
    
            self._ensure_alive()
    
            self._shutdown_req.data = <void*> self
                                      ^
    ------------------------------------------------------------
    
    uvloop/handles/stream.pyx:257:34: Cannot convert 'void *' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            self._ensure_alive()
    
            self._shutdown_req.data = <void*> self
            err = uv.uv_shutdown(&self._shutdown_req,
                                 <uv.uv_stream_t*> self._handle,
                                 __uv_stream_on_shutdown)
                                 ^
    ------------------------------------------------------------
    
    uvloop/handles/stream.pyx:260:29: Cannot assign type 'void (uv_shutdown_t *, int) except * nogil' to 'uv_shutdown_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_shutdown_t *, int) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            if self.__reading:
                return
    
            if self.__buffered:
                err = uv.uv_read_start(<uv.uv_stream_t*>self._handle,
                                       __uv_stream_buffered_alloc,
                                       ^
    ------------------------------------------------------------
    
    uvloop/handles/stream.pyx:298:35: Cannot assign type 'void (uv_handle_t *, size_t, uv_buf_t *) except * nogil' to 'uv_alloc_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_handle_t *, size_t, uv_buf_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                return
    
            if self.__buffered:
                err = uv.uv_read_start(<uv.uv_stream_t*>self._handle,
                                       __uv_stream_buffered_alloc,
                                       __uv_stream_buffered_on_read)
                                       ^
    ------------------------------------------------------------
    
    uvloop/handles/stream.pyx:299:35: Cannot assign type 'void (uv_stream_t *, Py_ssize_t, const uv_buf_t *) except * nogil' to 'uv_read_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_stream_t *, Py_ssize_t, const uv_buf_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                err = uv.uv_read_start(<uv.uv_stream_t*>self._handle,
                                       __uv_stream_buffered_alloc,
                                       __uv_stream_buffered_on_read)
            else:
                err = uv.uv_read_start(<uv.uv_stream_t*>self._handle,
                                       __loop_alloc_buffer,
                                       ^
    ------------------------------------------------------------
    
    uvloop/handles/stream.pyx:302:35: Cannot assign type 'void (uv_handle_t *, size_t, uv_buf_t *) except * nogil' to 'uv_alloc_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_handle_t *, size_t, uv_buf_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                                       __uv_stream_buffered_alloc,
                                       __uv_stream_buffered_on_read)
            else:
                err = uv.uv_read_start(<uv.uv_stream_t*>self._handle,
                                       __loop_alloc_buffer,
                                       __uv_stream_on_read)
                                       ^
    ------------------------------------------------------------
    
    uvloop/handles/stream.pyx:303:35: Cannot assign type 'void (uv_stream_t *, Py_ssize_t, const uv_buf_t *) except * nogil' to 'uv_read_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_stream_t *, Py_ssize_t, const uv_buf_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
            err = uv.uv_write(&ctx.req,
                              <uv.uv_stream_t*>self._handle,
                              ctx.uv_bufs_start,
                              ctx.uv_bufs_len,
                              __uv_stream_on_write)
                              ^
    ------------------------------------------------------------
    
    uvloop/handles/stream.pyx:564:26: Cannot assign type 'void (uv_write_t *, int) except * nogil' to 'uv_write_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_write_t *, int) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
            self.context = Context_CopyCurrent()
    
            err = uv.uv_listen(<uv.uv_stream_t*> self._handle,
                               self.backlog,
                               __uv_streamserver_on_listen)
                               ^
    ------------------------------------------------------------
    
    uvloop/handles/streamserver.pyx:60:27: Cannot assign type 'void (uv_stream_t *, int) except * nogil' to 'uv_connection_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_stream_t *, int) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            TCPTransport transport
            uv.uv_connect_t _req_data
    
        def __cinit__(self, loop, transport):
            self.request = <uv.uv_req_t*>&self._req_data
            self.request.data = <void*>self
                                ^
    ------------------------------------------------------------
    
    uvloop/handles/tcp.pyx:192:28: Cannot convert 'void *' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        cdef connect(self, system.sockaddr* addr):
            cdef int err
            err = uv.uv_tcp_connect(<uv.uv_connect_t*>self.request,
                                    <uv.uv_tcp_t*>self.transport._handle,
                                    addr,
                                    __tcp_connect_callback)
                                    ^
    ------------------------------------------------------------
    
    uvloop/handles/tcp.pyx:200:32: Cannot assign type 'void (uv_connect_t *, int) except * nogil' to 'uv_connect_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_connect_t *, int) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            UnixTransport transport
            uv.uv_connect_t _req_data
    
        def __cinit__(self, loop, transport):
            self.request = <uv.uv_req_t*> &self._req_data
            self.request.data = <void*>self
                                ^
    ------------------------------------------------------------
    
    uvloop/handles/pipe.pyx:195:28: Cannot convert 'void *' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        cdef connect(self, char* addr):
            # uv_pipe_connect returns void
            uv.uv_pipe_connect(<uv.uv_connect_t*>self.request,
                               <uv.uv_pipe_t*>self.transport._handle,
                               addr,
                               __pipe_connect_callback)
                               ^
    ------------------------------------------------------------
    
    uvloop/handles/pipe.pyx:203:27: Cannot assign type 'void (uv_connect_t *, int) except * nogil' to 'uv_connect_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_connect_t *, int) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            # XXX: This is a workaround for a libuv bug:
            # - https://github.com/libuv/libuv/issues/1933
            # - https://github.com/libuv/libuv/pull/551
            if self._handle is NULL:
                return
            self._handle.data = NULL
                                ^
    ------------------------------------------------------------
    
    uvloop/handles/process.pyx:21:28: Cannot convert 'void *' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            # - https://github.com/libuv/libuv/issues/1933
            # - https://github.com/libuv/libuv/pull/551
            if self._handle is NULL:
                return
            self._handle.data = NULL
            uv.uv_close(self._handle, __uv_close_process_handle_cb)
                                      ^
    ------------------------------------------------------------
    
    uvloop/handles/process.pyx:22:34: Cannot assign type 'void (uv_handle_t *) except * nogil' to 'uv_close_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_handle_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                raise MemoryError()
    
            # Too early to call _finish_init, but still a lot of work to do.
            # Let's set handle.data to NULL, so in case something goes wrong,
            # callbacks have a chance to avoid casting *something* into UVHandle.
            self._handle.data = NULL
                                ^
    ------------------------------------------------------------
    
    uvloop/handles/process.pyx:47:28: Cannot convert 'void *' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                           _stdin, _stdout, _stderr):
    
            memset(&self.options, 0, sizeof(uv.uv_process_options_t))
    
            self._init_env(env)
            self.options.env = self.uv_opt_env
                                   ^
    ------------------------------------------------------------
    
    uvloop/handles/process.pyx:240:31: Cannot convert 'char **' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            self._init_env(env)
            self.options.env = self.uv_opt_env
    
            self._init_args(args)
            self.options.file = self.uv_opt_file
            self.options.args = self.uv_opt_args
                                    ^
    ------------------------------------------------------------
    
    uvloop/handles/process.pyx:244:32: Cannot convert 'char **' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                    raise ValueError('cwd must be a str or bytes object')
    
                self.__cwd = cwd
                self.options.cwd = PyBytes_AsString(self.__cwd)
    
            self.options.exit_cb = &__uvprocess_on_exit_callback
                                   ^
    ------------------------------------------------------------
    
    uvloop/handles/process.pyx:260:31: Cannot convert 'void (*)(uv_process_t *, int64_t, int) except * nogil' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            self._ensure_alive()
    
            if self.running == 0:
                err = uv.uv_fs_event_start(
                    <uv.uv_fs_event_t*>self._handle,
                    __uvfsevent_callback,
                    ^
    ------------------------------------------------------------
    
    uvloop/handles/fsevent.pyx:47:16: Cannot assign type 'void (uv_fs_event_t *, const char *, int, int) except * nogil' to 'uv_fs_event_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_fs_event_t *, const char *, int, int) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                if self.request is NULL:
                    raise RuntimeError(
                        '{}.cancel: .request is NULL'.format(
                            self.__class__.__name__))
    
                if self.request.data is NULL:
                                     ^
    ------------------------------------------------------------
    
    uvloop/request.pyx:38:33: Invalid types for 'is' (Python object, void *)
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            self.hints.ai_socktype = type
            self.hints.ai_protocol = proto
    
            self.request = <uv.uv_req_t*> &self._req_data
            self.callback = callback
            self.request.data = <void*>self
                                ^
    ------------------------------------------------------------
    
    uvloop/dns.pyx:374:28: Cannot convert 'void *' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            self.callback = callback
            self.request.data = <void*>self
    
            err = uv.uv_getaddrinfo(loop.uvloop,
                                    <uv.uv_getaddrinfo_t*>self.request,
                                    __on_addrinfo_resolved,
                                    ^
    ------------------------------------------------------------
    
    uvloop/dns.pyx:378:32: Cannot assign type 'void (uv_getaddrinfo_t *, int, addrinfo *) except * nogil' to 'uv_getaddrinfo_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_getaddrinfo_t *, int, addrinfo *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
            uv.uv_getnameinfo_t _req_data
    
        def __cinit__(self, Loop loop, callback):
            self.request = <uv.uv_req_t*> &self._req_data
            self.callback = callback
            self.request.data = <void*>self
                                ^
    ------------------------------------------------------------
    
    uvloop/dns.pyx:396:28: Cannot convert 'void *' to Python object
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
        cdef query(self, system.sockaddr *addr, int flags):
            cdef int err
            err = uv.uv_getnameinfo(self.loop.uvloop,
                                    <uv.uv_getnameinfo_t*>self.request,
                                    __on_nameinfo_resolved,
                                    ^
    ------------------------------------------------------------
    
    uvloop/dns.pyx:402:32: Cannot assign type 'void (uv_getnameinfo_t *, int, const char *, const char *) except * nogil' to 'uv_getnameinfo_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_getnameinfo_t *, int, const char *, const char *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                return
    
            self._ensure_alive()
    
            err = uv.uv_udp_recv_start(<uv.uv_udp_t*>self._handle,
                                       __loop_alloc_buffer,
                                       ^
    ------------------------------------------------------------
    
    uvloop/handles/udp.pyx:147:35: Cannot assign type 'void (uv_handle_t *, size_t, uv_buf_t *) except * nogil' to 'uv_alloc_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_handle_t *, size_t, uv_buf_t *) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
    
            self._ensure_alive()
    
            err = uv.uv_udp_recv_start(<uv.uv_udp_t*>self._handle,
                                       __loop_alloc_buffer,
                                       __uv_udp_on_receive)
                                       ^
    ------------------------------------------------------------
    
    uvloop/handles/udp.pyx:148:35: Cannot assign type 'void (uv_udp_t *, Py_ssize_t, const uv_buf_t *, const sockaddr *, unsigned int) except * nogil' to 'uv_udp_recv_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_udp_t *, Py_ssize_t, const uv_buf_t *, const sockaddr *, unsigned int) except * nogil'.
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
                err = uv.uv_udp_send(&ctx.req,
                                     <uv.uv_udp_t*>self._handle,
                                     &ctx.uv_buf,
                                     1,
                                     saddr,
                                     __uv_udp_on_send)
                                     ^
    ------------------------------------------------------------
    
    uvloop/handles/udp.pyx:241:33: Cannot assign type 'void (uv_udp_send_t *, int) except * nogil' to 'uv_udp_send_cb'. Exception values are incompatible. Suggest adding 'noexcept' to type 'void (uv_udp_send_t *, int) except * nogil'.
    Compiling uvloop/loop.pyx because it changed.
    [1/1] Cythonizing uvloop/loop.pyx
    Traceback (most recent call last):
      File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
        main()
      File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 335, in main
        json_out['return_val'] = hook(**hook_input['kwargs'])
      File "/usr/lib/python3.8/site-packages/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
        return _build_backend().build_wheel(wheel_directory, config_settings,
      File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 416, in build_wheel
        return self._build_with_temp_dir(['bdist_wheel'], '.whl',
      File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 401, in _build_with_temp_dir
        self.run_setup()
      File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 487, in run_setup
        super(_BuildMetaLegacyBackend,
      File "/usr/lib/python3.8/site-packages/setuptools/build_meta.py", line 338, in run_setup
        exec(code, locals())
      File "<string>", line 270, in <module>
      File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 107, in setup
        return distutils.core.setup(**attrs)
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 185, in setup
        return run_commands(dist)
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
        dist.run_commands()
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
        self.run_command(cmd)
      File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 1234, in run_command
        super().run_command(command)
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/usr/lib/python3.8/site-packages/wheel/bdist_wheel.py", line 349, in run
        self.run_command("build")
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
        self.distribution.run_command(command)
      File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 1234, in run_command
        super().run_command(command)
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 131, in run
        self.run_command(cmd_name)
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
        self.distribution.run_command(command)
      File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 1234, in run_command
        super().run_command(command)
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/usr/lib/python3.8/site-packages/setuptools/command/build_py.py", line 62, in run
        self.build_package_data()
      File "/usr/lib/python3.8/site-packages/setuptools/command/build_py.py", line 158, in build_package_data
        for target, srcfile in self._get_package_data_output_mapping():
      File "/usr/lib/python3.8/site-packages/setuptools/command/build_py.py", line 150, in _get_package_data_output_mapping
        for package, src_dir, build_dir, filenames in self.data_files:
      File "/usr/lib/python3.8/site-packages/setuptools/command/build_py.py", line 71, in __getattr__
        self.data_files = self._get_data_files()
      File "/usr/lib/python3.8/site-packages/setuptools/command/build_py.py", line 83, in _get_data_files
        self.analyze_manifest()
      File "/usr/lib/python3.8/site-packages/setuptools/command/build_py.py", line 180, in analyze_manifest
        self.run_command('egg_info')
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
        self.distribution.run_command(command)
      File "/usr/lib/python3.8/site-packages/setuptools/dist.py", line 1234, in run_command
        super().run_command(command)
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
        cmd_obj.run()
      File "/usr/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 314, in run
        self.find_sources()
      File "/usr/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 322, in find_sources
        mm.run()
      File "/usr/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 551, in run
        self.add_defaults()
      File "/usr/lib/python3.8/site-packages/setuptools/command/egg_info.py", line 589, in add_defaults
        sdist.add_defaults(self)
      File "/usr/lib/python3.8/site-packages/setuptools/command/sdist.py", line 104, in add_defaults
        super().add_defaults()
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
        self._add_defaults_ext()
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/command/sdist.py", line 335, in _add_defaults_ext
        build_ext = self.get_finalized_command('build_ext')
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 305, in get_finalized_command
        cmd_obj.ensure_finalized()
      File "/usr/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 111, in ensure_finalized
        self.finalize_options()
      File "<string>", line 177, in finalize_options
      File "/usr/lib64/python3.8/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
        cythonize_one(*args)
      File "/usr/lib64/python3.8/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
        raise CompileError(None, pyx_file)
    Cython.Compiler.Errors.CompileError: uvloop/loop.pyx
    
    ERROR Backend subprocess exited when trying to invoke build_wheel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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