Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFE: please provide cython 3.x support #558

Open
kloczek opened this issue Aug 30, 2023 · 1 comment
Open

RFE: please provide cython 3.x support #558

kloczek opened this issue Aug 30, 2023 · 1 comment

Comments

@kloczek
Copy link

kloczek commented Aug 30, 2023

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
@kloczek
Copy link
Author

kloczek commented Aug 30, 2023

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

+ /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
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant