Having Problem When Startup The Web Server of CMS

262 views
Skip to first unread message

小方塊Cube

unread,
Jun 21, 2021, 2:25:21 AM6/21/21
to contestm...@googlegroups.com
I've followed the instructions from the official website (https://cms.readthedocs.io/en/v1.4/Installation.html). 
When I want to start the contest server.
I typed cmsResourceService and get
2021-06-21 11:52:14,833 - INFO [Resource,0] Terminated connection with 127.0.0.1:50622 (local address: 127.0.0.1:28000): Bad request received
2021-06-21 11:52:14,833 - WARNING [Resource,0] Cannot parse incoming message, discarding.
2021-06-21 11:52:14,834 - WARNING [Resource,0] Cannot parse incoming message, discarding.
2021-06-21 11:52:14,834 - WARNING [Resource,0] Cannot parse incoming message, discarding.
2021-06-21 11:52:14,834 - WARNING [Resource,0] Cannot parse incoming message, discarding.
2021-06-21 11:52:14,834 - WARNING [Resource,0] Cannot parse incoming message, discarding.
2021-06-21 11:52:14,834 - WARNING [Resource,0] Cannot parse incoming message, discarding.
2021-06-21 11:52:14,835 - WARNING [Resource,0] Cannot parse incoming message, discarding.
... many messages like this, and localhost:8889 isn't responding.

So, I checked cmsResourceService -a,
but its giving me: 
2021-06-21 12:22:46,575 - INFO [<unknown>] Using configuration file /usr/local/etc/cms.conf.
No contests in the database.
You may want to use some of the facilities in cmscontrib to import a contest.

Also, cmsAdminWebServer gives me some error:
 2021-06-21 11:55:02,682 - INFO [<unknown>] Using configuration file /usr/local/etc/cms.conf.
Traceback (most recent call last):
  File "/usr/local/bin/cmsAdminWebServer", line 4, in <module>
    __import__('pkg_resources').run_script('cms==1.4rc1', 'cmsAdminWebServer')
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 667, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1463, in run_script
    exec(code, namespace, namespace)
  File "/usr/local/lib/python3.8/dist-packages/cms-1.4rc1-py3.8.egg/EGG-INFO/scripts/cmsAdminWebServer", line 56, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.8/dist-packages/cms-1.4rc1-py3.8.egg/EGG-INFO/scripts/cmsAdminWebServer", line 49, in main
    success = default_argument_parser("Admins' web server for CMS.",
  File "/usr/local/lib/python3.8/dist-packages/cms-1.4rc1-py3.8.egg/cms/io/web_service.py", line 128, in run
    self.web_server.start()
  File "/usr/lib/python3/dist-packages/gevent/baseserver.py", line 305, in start
    self.init_socket()
  File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1491, in init_socket
    self.update_environ()
  File "/usr/lib/python3/dist-packages/gevent/pywsgi.py", line 1503, in update_environ
    name = socket.getfqdn(address[0])
  File "/usr/lib/python3/dist-packages/gevent/_socketcommon.py", line 269, in getfqdn
    hostname, aliases, _ = gethostbyaddr(name)
  File "/usr/lib/python3/dist-packages/gevent/_socketcommon.py", line 241, in gethostbyaddr
    return get_hub().resolver.gethostbyaddr(ip_address)
  File "/usr/lib/python3/dist-packages/gevent/resolver/thread.py", line 68, in gethostbyaddr
    return self.pool.apply(_socket.gethostbyaddr, args, kwargs)
  File "/usr/lib/python3/dist-packages/gevent/pool.py", line 159, in apply
    return self.spawn(func, *args, **kwds).get()
  File "src/gevent/event.py", line 268, in gevent._event.AsyncResult.get
  File "src/gevent/event.py", line 296, in gevent._event.AsyncResult.get
  File "src/gevent/event.py", line 286, in gevent._event.AsyncResult.get
  File "src/gevent/event.py", line 266, in gevent._event.AsyncResult._raise_exception
  File "src/gevent/event.py", line 211, in gevent._event.AsyncResult.exc_info.__get__
  File "/usr/lib/python3/dist-packages/gevent/_tblib.py", line 371, in g
    return f(a)
  File "/usr/lib/python3/dist-packages/gevent/_tblib.py", line 432, in load_traceback
    return loads(s)
  File "/usr/lib/python3/dist-packages/gevent/_tblib.py", line 337, in unpickle_traceback
    return ret.as_traceback()
  File "/usr/lib/python3/dist-packages/gevent/_tblib.py", line 202, in as_traceback
    code = CodeType(
TypeError: an integer is required (got type bytes)

I am running on:
root@LAPTOP-89ICTPKF
--------------------
OS: Ubuntu 20.04.2 LTS on Windows 10 x86_64
 Kernel: 5.4.72-microsoft-standard-WSL2
Uptime: 2 hours, 40 mins
Packages: 1083 (dpkg)
Shell: bash 5.0.17
Terminal: /dev/pts/0
CPU: Intel i5-10300H (8) @ 2.496GHz
Memory: 149MiB / 12678MiB


Stefano Maggiolo

unread,
Jun 21, 2021, 6:08:55 AM6/21/21
to Contest Management System (support)
For cmsResourceService -a, that output is expected as you don't have any contest in the system (as mentioned, you can import a contest, or you can create one from cmsAdminWebServer).

For cmsAdminWebServer, could it be that you are using a different version than what is expected by the system? Can you do

python -c 'import gevent; print(gevent.__version__)'

and make sure that what this prints is "1.5.<something>"?

小方塊Cube

unread,
Jul 17, 2021, 1:35:23 AM7/17/21
to Contest Management System (support)
Sorry for the late response, I was thinking that it's some problem that python3.8 isn't support.
After using v1.3.2, I decide to upgrade to v1.4rc1 because it contains some features that I need.
I think that problem may caused by this:

During install requirements.txt, I keep receiving this:

do python3 setup.py installRequirement already satisfied: tornado<4.6,>=4.5 in /usr/local/lib/python3.8/dist-packages (from -r requirements.txt (line 3)) (4.5.3)
Collecting psycopg2<2.8,>=2.7
  Using cached psycopg2-2.7.7.tar.gz (427 kB)
Processing /root/.cache/pip/wheels/1b/b3/d0/8d58d89e7b5a7564e2589cb916e74a82e79dff41417fda49fd/SQLAlchemy-1.1.18-cp38-cp38-linux_x86_64.whl
Processing /root/.cache/pip/wheels/9b/51/d5/d4682860392414da28ba3c5ffac0243983399b868a9cced6df/netifaces-0.10.9-cp38-cp38-linux_x86_64.whl
Processing /root/.cache/pip/wheels/d0/99/d0/0298ea019d63f1d63a0965b9944b719e875f9bd6ffc6dcf293/pycrypto-2.6.1-cp38-cp38-linux_x86_64.whl
Processing /root/.cache/pip/wheels/fd/e7/d2/8103ebd6f79efd5ac517478d00151a620f83ee9753bd4a9dc1/psutil-5.4.8-cp38-cp38-linux_x86_64.whl
Collecting six<1.12,>=1.11
  Using cached six-1.11.0-py2.py3-none-any.whl (10 kB)
Collecting requests<2.19,>=2.18
  Using cached requests-2.18.4-py2.py3-none-any.whl (88 kB)
Collecting gevent<1.3,>=1.2
  Using cached gevent-1.2.2.tar.gz (3.1 MB)
Collecting werkzeug<0.15,>=0.14
  Using cached Werkzeug-0.14.1-py2.py3-none-any.whl (322 kB)
Collecting patool<1.13,>=1.12
  Using cached patool-1.12-py2.py3-none-any.whl (77 kB)
Collecting bcrypt<3.2,>=3.1
  Using cached bcrypt-3.1.7-cp34-abi3-manylinux1_x86_64.whl (56 kB)
Collecting chardet<3.1,>=3.0
  Using cached chardet-3.0.4-py2.py3-none-any.whl (133 kB)
Collecting ipaddress<1.1,>=1.0
  Using cached ipaddress-1.0.23-py2.py3-none-any.whl (18 kB)
Processing /root/.cache/pip/wheels/ff/33/be/06553ab9bfb911d3ac755b7fe6f0353fa9e0f3aedd4c32e3e5/future-0.15.2-py3-none-any.whl
Collecting babel<2.5,>=2.4
  Using cached Babel-2.4.0-py2.py3-none-any.whl (6.8 MB)
Processing /root/.cache/pip/wheels/5c/fa/57/781635b9a77ae88fc6d916fa9184eeb2619117d802e223aac2/pyxdg-0.25-py3-none-any.whl
Collecting Jinja2<2.11,>=2.10
  Using cached Jinja2-2.10.3-py2.py3-none-any.whl (125 kB)
Processing /root/.cache/pip/wheels/31/8d/c5/0365d01041ade02f8cfd79c457267cc4f02bb77afcc1adaa5d/PyYAML-3.12-cp38-cp38-linux_x86_64.whl
Processing /root/.cache/pip/wheels/8c/48/58/089db38b9d2bdfcd677673820f5e8daedd25c5058e4c1d4b41/pycups-1.9.74-cp38-cp38-linux_x86_64.whl
Processing /root/.cache/pip/wheels/b1/1a/8f/a4c34be976825a2f7948d0fa40907598d69834f8ab5889de11/PyPDF2-1.26.0-py3-none-any.whl
Collecting idna<2.7,>=2.5
  Using cached idna-2.6-py2.py3-none-any.whl (56 kB)
Collecting urllib3<1.23,>=1.21.1
  Using cached urllib3-1.22-py2.py3-none-any.whl (132 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
Requirement already satisfied: greenlet>=0.4.10 in /usr/local/lib/python3.8/dist-packages (from gevent<1.3,>=1.2->-r requirements.txt (line 16)) (1.1.0)
Collecting cffi>=1.1
  Using cached cffi-1.14.6-cp38-cp38-manylinux1_x86_64.whl (411 kB)
Collecting pytz>=0a
  Using cached pytz-2021.1-py2.py3-none-any.whl (510 kB)
Collecting MarkupSafe>=0.23
  Using cached MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl (30 kB)
Collecting pycparser
  Using cached pycparser-2.20-py2.py3-none-any.whl (112 kB)
Skipping wheel build for psycopg2, due to binaries being disabled for it.
Building wheels for collected packages: gevent
  Building wheel for gevent (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xbj6i3ju/gevent/setup.py'"'"'; __file__='"'"'/tmp/pip-install-xbj6i3ju/gevent/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-hpu0ldb4
       cwd: /tmp/pip-install-xbj6i3ju/gevent/
  Complete output (1937 lines):
  /usr/lib/python3.8/distutils/dist.py:274: UserWarning: Unknown distribution option: 'cffi_modules'
    warnings.warn(msg)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.8
  creating build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/threadpool.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/signal.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/fileobject.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_fileobjectposix.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/hub.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_fileobjectcommon.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_socket3.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/core.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/pool.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/resolver_ares.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/os.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_util_py2.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/builtins.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/subprocess.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/lock.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_semaphore.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/monkey.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/timeout.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/ssl.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_ssl2.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_tblib.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/local.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/util.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/threading.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/win32util.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/backdoor.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_sslgte279.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/select.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/thread.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/resolver_thread.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_socketcommon.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/socket.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_socket2.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_compat.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/__init__.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/server.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/greenlet.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_threading.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/event.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/baseserver.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_util.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/wsgi.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/pywsgi.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/_ssl3.py -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/queue.py -> build/lib.linux-x86_64-3.8/gevent
  creating build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/corecffi.py -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/_corecffi_build.py -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/__init__.py -> build/lib.linux-x86_64-3.8/gevent/libev
  running egg_info
  writing src/gevent.egg-info/PKG-INFO
  writing dependency_links to src/gevent.egg-info/dependency_links.txt
  writing requirements to src/gevent.egg-info/requires.txt
  writing top-level names to src/gevent.egg-info/top_level.txt
  reading manifest file 'src/gevent.egg-info/SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'changelog.rst'
  warning: no files found matching 'known_failures.py'
  warning: no files found matching '.pep8'
  no previously-included directories found matching '*/__pycache__'
  warning: no previously-included files matching '*.so' found anywhere in distribution
  warning: no previously-included files matching '*.o' found anywhere in distribution
  warning: no previously-included files matching '*.lo' found anywhere in distribution
  warning: no previously-included files matching '*.la' found anywhere in distribution
  warning: no previously-included files matching 'config.log' found anywhere in distribution
  warning: no previously-included files matching 'config.status' found anywhere in distribution
  no previously-included directories found matching 'doc/_build'
  warning: no previously-included files matching '*.pyc' found anywhere in distribution
  warning: no previously-included files matching '.coverage' found under directory 'src/greentest'
  no previously-included directories found matching 'src/greentest/htmlcov'
  warning: no previously-included files matching 'stamp-h?' found under directory 'deps/c-ares'
  warning: no previously-included files matching 'ares_build.h.orig' found under directory 'deps/c-ares'
  no previously-included directories found matching 'deps/libev/.deps'
  warning: no previously-included files matching 'Makefile' found under directory 'deps/libev'
  warning: no previously-included files matching 'libtool' found under directory 'deps/libev'
  warning: no previously-included files matching 'stamp-h?' found under directory 'deps/libev'
  warning: no previously-included files matching 'config.h' found under directory 'deps/libev'
  warning: no previously-included files matching '_corecffi.c' found under directory 'src/gevent'
  warning: no previously-included files found matching 'Makefile'
  warning: no previously-included files found matching 'configure-output'
  writing manifest file 'src/gevent.egg-info/SOURCES.txt'
  copying src/gevent/_semaphore.pxd -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/ares.pyx -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/cares.pxd -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/cares_ntop.h -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/cares_pton.h -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/dnshelper.c -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/gevent._semaphore.c -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/gevent.ares.c -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/gevent.ares.h -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/python.pxd -> build/lib.linux-x86_64-3.8/gevent
  copying src/gevent/libev/_corecffi_cdef.c -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/_corecffi_source.c -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/callbacks.c -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/callbacks.h -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/corecext.ppyx -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/corecext.pyx -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/gevent.corecext.c -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/libev.h -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/libev.pxd -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/libev_vfd.h -> build/lib.linux-x86_64-3.8/gevent/libev
  copying src/gevent/libev/stathelper.c -> build/lib.linux-x86_64-3.8/gevent/libev
  running build_ext
  Running '(cd  "/tmp/pip-install-xbj6i3ju/gevent/deps/libev"  && sh ./configure   && cp config.h "$OLDPWD" ) > configure-output.txt' in /tmp/pip-install-xbj6i3ju/gevent/build/temp.linux-x86_64-3.8/libev
  building 'gevent.libev.corecext' extension
  creating build/temp.linux-x86_64-3.8/src
  creating build/temp.linux-x86_64-3.8/src/gevent
  creating build/temp.linux-x86_64-3.8/src/gevent/libev
  x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.linux-x86_64-3.8/libev -I/tmp/pip-install-xbj6i3ju/gevent/deps/libev -I/usr/include/python3.8 -c src/gevent/libev/gevent.corecext.c -o build/temp.linux-x86_64-3.8/src/gevent/libev/gevent.corecext.o
  In file included from src/gevent/libev/libev.h:2,
                   from src/gevent/libev/gevent.corecext.c:434:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:483:48: warning: "/*" within comment [-Wcomment]
    483 | /*#define MIN_INTERVAL  0.00000095367431640625 /* 1/2**20, good till 2200 */
        |
  In file included from src/gevent/libev/libev.h:2,
                   from src/gevent/libev/gevent.corecext.c:434:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘ecb_binary32_to_binary16’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:1269:13: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   1269 |       if (e < (14 - 24)) /* might not be sharp, but is good enough */
        |             ^
  In file included from src/gevent/libev/libev.h:2,
                   from src/gevent/libev/gevent.corecext.c:434:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: At top level:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:1831:31: warning: ‘ev_default_loop_ptr’ initialized and declared ‘extern’
   1831 |   EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */
        |                               ^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘array_nextsize’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:1940:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare]
   1940 |   if (elem * ncur > MALLOC_ROUND - sizeof (void *) * 4)
        |                   ^
  In file included from /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:185,
                   from src/gevent/libev/libev.h:2,
                   from src/gevent/libev/gevent.corecext.c:434:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘evpipe_init’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2398:8: note: in expansion of macro ‘ev_is_active’
   2398 |   if (!ev_is_active (&pipe_w))
        |        ^~~~~~~~~~~~
  In file included from /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:185,
                   from src/gevent/libev/libev.h:2,
                   from src/gevent/libev/gevent.corecext.c:434:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘loop_init’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2932:7: note: in expansion of macro ‘ev_prepare_init’
   2932 |       ev_prepare_init (&pending_w, pendingcb);
        |       ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2932:7: note: in expansion of macro ‘ev_prepare_init’
   2932 |       ev_prepare_init (&pending_w, pendingcb);
        |       ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2932:7: note: in expansion of macro ‘ev_prepare_init’
   2932 |       ev_prepare_init (&pending_w, pendingcb);
        |       ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2932:7: note: in expansion of macro ‘ev_prepare_init’
   2932 |       ev_prepare_init (&pending_w, pendingcb);
        |       ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2935:7: note: in expansion of macro ‘ev_init’
   2935 |       ev_init (&pipe_w, pipecb);
        |       ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2935:7: note: in expansion of macro ‘ev_init’
   2935 |       ev_init (&pipe_w, pipecb);
        |       ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2935:7: note: in expansion of macro ‘ev_init’
   2935 |       ev_init (&pipe_w, pipecb);
        |       ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2935:7: note: in expansion of macro ‘ev_init’
   2935 |       ev_init (&pipe_w, pipecb);
        |       ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2936:7: note: in expansion of macro ‘ev_set_priority’
   2936 |       ev_set_priority (&pipe_w, EV_MAXPRI);
        |       ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘ev_loop_destroy’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2964:36: note: in expansion of macro ‘ev_is_active’
   2964 |   if (ev_is_default_loop (EV_A) && ev_is_active (&childev))
        |                                    ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2971:7: note: in expansion of macro ‘ev_is_active’
   2971 |   if (ev_is_active (&pipe_w))
        |       ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:2981:7: note: in expansion of macro ‘ev_is_active’
   2981 |   if (ev_is_active (&sigfd_w))
        |       ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘loop_fork’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:3074:7: note: in expansion of macro ‘ev_is_active’
   3074 |   if (ev_is_active (&pipe_w) && postfork != 2)
        |       ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘ev_default_loop’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:710:51: note: in expansion of macro ‘ev_init’
    710 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:3260:11: note: in expansion of macro ‘ev_signal_init’
   3260 |           ev_signal_init (&childev, childcb, SIGCHLD);
        |           ^~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:710:51: note: in expansion of macro ‘ev_init’
    710 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:3260:11: note: in expansion of macro ‘ev_signal_init’
   3260 |           ev_signal_init (&childev, childcb, SIGCHLD);
        |           ^~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:710:51: note: in expansion of macro ‘ev_init’
    710 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:3260:11: note: in expansion of macro ‘ev_signal_init’
   3260 |           ev_signal_init (&childev, childcb, SIGCHLD);
        |           ^~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:710:51: note: in expansion of macro ‘ev_init’
    710 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:3260:11: note: in expansion of macro ‘ev_signal_init’
   3260 |           ev_signal_init (&childev, childcb, SIGCHLD);
        |           ^~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:3261:11: note: in expansion of macro ‘ev_set_priority’
   3261 |           ev_set_priority (&childev, EV_MAXPRI);
        |           ^~~~~~~~~~~~~~~
  In file included from src/gevent/libev/libev.h:2,
                   from src/gevent/libev/gevent.corecext.c:434:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘ev_io_start’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:3878:34: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
   3878 |   fd_change (EV_A_ fd, w->events & EV__IOFDSET | EV_ANFD_REIFY);
        |                        ~~~~~~~~~~^~~~~~~~~~~~~
  In file included from /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:185,
                   from src/gevent/libev/libev.h:2,
                   from src/gevent/libev/gevent.corecext.c:434:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘ev_signal_start’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4103:11: note: in expansion of macro ‘ev_io_init’
   4103 |           ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ);
        |           ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4103:11: note: in expansion of macro ‘ev_io_init’
   4103 |           ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ);
        |           ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4103:11: note: in expansion of macro ‘ev_io_init’
   4103 |           ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ);
        |           ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4103:11: note: in expansion of macro ‘ev_io_init’
   4103 |           ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ);
        |           ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4104:11: note: in expansion of macro ‘ev_set_priority’
   4104 |           ev_set_priority (&sigfd_w, EV_MAXPRI);
        |           ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘infy_add’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4318:7: note: in expansion of macro ‘ev_is_active’
   4318 |   if (ev_is_active (&w->timer)) ev_ref (EV_A);
        |       ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4320:7: note: in expansion of macro ‘ev_is_active’
   4320 |   if (ev_is_active (&w->timer)) ev_unref (EV_A);
        |       ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘infy_init’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4427:7: note: in expansion of macro ‘ev_io_init’
   4427 |       ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ);
        |       ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4427:7: note: in expansion of macro ‘ev_io_init’
   4427 |       ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ);
        |       ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4427:7: note: in expansion of macro ‘ev_io_init’
   4427 |       ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ);
        |       ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4427:7: note: in expansion of macro ‘ev_io_init’
   4427 |       ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ);
        |       ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4428:7: note: in expansion of macro ‘ev_set_priority’
   4428 |       ev_set_priority (&fs_w, EV_MAXPRI);
        |       ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘infy_fork’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4472:19: note: in expansion of macro ‘ev_is_active’
   4472 |               if (ev_is_active (&w->timer)) ev_ref (EV_A);
        |                   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4474:19: note: in expansion of macro ‘ev_is_active’
   4474 |               if (ev_is_active (&w->timer)) ev_unref (EV_A);
        |                   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘ev_stat_start’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4549:3: note: in expansion of macro ‘ev_timer_init’
   4549 |   ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4549:3: note: in expansion of macro ‘ev_timer_init’
   4549 |   ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4549:3: note: in expansion of macro ‘ev_timer_init’
   4549 |   ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4549:3: note: in expansion of macro ‘ev_timer_init’
   4549 |   ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:694:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    694 | #define ev_timer_set(ev,after_,repeat_)      do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0)
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:73: note: in expansion of macro ‘ev_timer_set’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                                         ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4549:3: note: in expansion of macro ‘ev_timer_init’
   4549 |   ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4550:3: note: in expansion of macro ‘ev_set_priority’
   4550 |   ev_set_priority (&w->timer, ev_priority (w));
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘ev_stat_stop’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:4582:7: note: in expansion of macro ‘ev_is_active’
   4582 |   if (ev_is_active (&w->timer))
        |       ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: In function ‘ev_once’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5008:3: note: in expansion of macro ‘ev_init’
   5008 |   ev_init (&once->io, once_cb_io);
        |   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5008:3: note: in expansion of macro ‘ev_init’
   5008 |   ev_init (&once->io, once_cb_io);
        |   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5008:3: note: in expansion of macro ‘ev_init’
   5008 |   ev_init (&once->io, once_cb_io);
        |   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5008:3: note: in expansion of macro ‘ev_init’
   5008 |   ev_init (&once->io, once_cb_io);
        |   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5015:3: note: in expansion of macro ‘ev_init’
   5015 |   ev_init (&once->to, once_cb_to);
        |   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5015:3: note: in expansion of macro ‘ev_init’
   5015 |   ev_init (&once->to, once_cb_to);
        |   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5015:3: note: in expansion of macro ‘ev_init’
   5015 |   ev_init (&once->to, once_cb_to);
        |   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5015:3: note: in expansion of macro ‘ev_init’
   5015 |   ev_init (&once->to, once_cb_to);
        |   ^~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:694:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    694 | #define ev_timer_set(ev,after_,repeat_)      do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0)
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5018:7: note: in expansion of macro ‘ev_timer_set’
   5018 |       ev_timer_set (&once->to, timeout, 0.);
        |       ^~~~~~~~~~~~
  In file included from src/gevent/libev/libev.h:2,
                   from src/gevent/libev/gevent.corecext.c:434:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c: At top level:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5135:27: warning: "/*" within comment [-Wcomment]
   5135 | /* EV_STAT     0x00001000 /* stat data changed */
        |
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:5136:27: warning: "/*" within comment [-Wcomment]
   5136 | /* EV_EMBED    0x00010000 /* embedded event loop needs sweep */
        |
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_6_flags_to_int’:
  src/gevent/libev/gevent.corecext.c:3314:104: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   3314 |   __pyx_t_1 = __pyx_f_6gevent_5libev_8corecext__flags_to_int(__pyx_v_flags, 0); if (unlikely(__pyx_t_1 == -1 && PyErr_Occurred())) __PYX_ERR(0, 168, __pyx_L1_error)
        |                                                                                                        ^~
  src/gevent/libev/gevent.corecext.c:614:43: note: in definition of macro ‘unlikely’
    614 |   #define unlikely(x) __builtin_expect(!!(x), 0)
        |                                           ^
  In file included from /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:185,
                   from src/gevent/libev/libev.h:2,
                   from src/gevent/libev/gevent.corecext.c:434:
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4loop___init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:4073:3: note: in expansion of macro ‘ev_prepare_init’
   4073 |   ev_prepare_init((&__pyx_v_self->_prepare), ((void *)gevent_run_callbacks));
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:4073:3: note: in expansion of macro ‘ev_prepare_init’
   4073 |   ev_prepare_init((&__pyx_v_self->_prepare), ((void *)gevent_run_callbacks));
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:4073:3: note: in expansion of macro ‘ev_prepare_init’
   4073 |   ev_prepare_init((&__pyx_v_self->_prepare), ((void *)gevent_run_callbacks));
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:4073:3: note: in expansion of macro ‘ev_prepare_init’
   4073 |   ev_prepare_init((&__pyx_v_self->_prepare), ((void *)gevent_run_callbacks));
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:4081:3: note: in expansion of macro ‘ev_timer_init’
   4081 |   ev_timer_init((&__pyx_v_self->_timer0), ((void *)gevent_noop), 0.0, 0.0);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:4081:3: note: in expansion of macro ‘ev_timer_init’
   4081 |   ev_timer_init((&__pyx_v_self->_timer0), ((void *)gevent_noop), 0.0, 0.0);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:4081:3: note: in expansion of macro ‘ev_timer_init’
   4081 |   ev_timer_init((&__pyx_v_self->_timer0), ((void *)gevent_noop), 0.0, 0.0);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:4081:3: note: in expansion of macro ‘ev_timer_init’
   4081 |   ev_timer_init((&__pyx_v_self->_timer0), ((void *)gevent_noop), 0.0, 0.0);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:694:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    694 | #define ev_timer_set(ev,after_,repeat_)      do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0)
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:73: note: in expansion of macro ‘ev_timer_set’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                                         ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:4081:3: note: in expansion of macro ‘ev_timer_init’
   4081 |   ev_timer_init((&__pyx_v_self->_timer0), ((void *)gevent_noop), 0.0, 0.0);
        |   ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:4092:106: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
   4092 |     __pyx_t_2 = __pyx_f_6gevent_5libev_8corecext__flags_to_int(__pyx_v_flags, 0); if (unlikely(__pyx_t_2 == -1 && PyErr_Occurred())) __PYX_ERR(0, 267, __pyx_L1_error)
        |                                                                                                          ^~
  src/gevent/libev/gevent.corecext.c:614:43: note: in definition of macro ‘unlikely’
    614 |   #define unlikely(x) __builtin_expect(!!(x), 0)
        |                                           ^
  In file included from /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.c:185,
                   from src/gevent/libev/libev.h:2,
                   from src/gevent/libev/gevent.corecext.c:434:
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4loop_2_stop_watchers’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:4390:16: note: in expansion of macro ‘ev_is_active’
   4390 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_prepare)) != 0);
        |                ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_2io_3ref_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:10180:18: note: in expansion of macro ‘ev_is_active’
  10180 |     __pyx_t_3 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                  ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_2io_8priority___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:731:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    731 | # define ev_priority(ev)                     (+(((ev_watcher *)(void *)(ev))->priority))
        |                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:10428:36: note: in expansion of macro ‘ev_priority’
  10428 |   __pyx_t_1 = __Pyx_PyInt_From_int(ev_priority((&__pyx_v_self->_watcher))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 779, __pyx_L1_error)
        |                                    ^~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_2io_8priority_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:10477:16: note: in expansion of macro ‘ev_is_active’
  10477 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:10501:3: note: in expansion of macro ‘ev_set_priority’
  10501 |   ev_set_priority((&__pyx_v_self->_watcher), __pyx_v_priority);
        |   ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_2io_6active___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:10879:8: note: in expansion of macro ‘ev_is_active’
  10879 |   if ((ev_is_active((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_2io_7pending___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:721:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    721 | #define ev_is_pending(ev)                    (0 + ((ev_watcher *)(void *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:10919:8: note: in expansion of macro ‘ev_is_pending’
  10919 |   if ((ev_is_pending((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_2io_6__init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11234:3: note: in expansion of macro ‘ev_io_init’
  11234 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_fd, __pyx_v_events);
        |   ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11234:3: note: in expansion of macro ‘ev_io_init’
  11234 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_fd, __pyx_v_events);
        |   ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11234:3: note: in expansion of macro ‘ev_io_init’
  11234 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_fd, __pyx_v_events);
        |   ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11234:3: note: in expansion of macro ‘ev_io_init’
  11234 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_fd, __pyx_v_events);
        |   ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:11320:5: note: in expansion of macro ‘ev_set_priority’
  11320 |     ev_set_priority((&__pyx_v_self->_watcher), __pyx_t_5);
        |     ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_2io_2fd_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:11412:16: note: in expansion of macro ‘ev_is_active’
  11412 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11441:3: note: in expansion of macro ‘ev_io_init’
  11441 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_vfd, __pyx_v_self->_watcher.events);
        |   ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11441:3: note: in expansion of macro ‘ev_io_init’
  11441 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_vfd, __pyx_v_self->_watcher.events);
        |   ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11441:3: note: in expansion of macro ‘ev_io_init’
  11441 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_vfd, __pyx_v_self->_watcher.events);
        |   ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11441:3: note: in expansion of macro ‘ev_io_init’
  11441 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_vfd, __pyx_v_self->_watcher.events);
        |   ^~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_2io_6events_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:11526:16: note: in expansion of macro ‘ev_is_active’
  11526 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11550:3: note: in expansion of macro ‘ev_io_init’
  11550 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_self->_watcher.fd, __pyx_v_events);
        |   ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11550:3: note: in expansion of macro ‘ev_io_init’
  11550 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_self->_watcher.fd, __pyx_v_events);
        |   ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11550:3: note: in expansion of macro ‘ev_io_init’
  11550 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_self->_watcher.fd, __pyx_v_events);
        |   ^~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:707:51: note: in expansion of macro ‘ev_init’
    707 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:11550:3: note: in expansion of macro ‘ev_io_init’
  11550 |   ev_io_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_io), __pyx_v_self->_watcher.fd, __pyx_v_events);
        |   ^~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5timer_3ref_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:12077:18: note: in expansion of macro ‘ev_is_active’
  12077 |     __pyx_t_3 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                  ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5timer_8priority___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:731:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    731 | # define ev_priority(ev)                     (+(((ev_watcher *)(void *)(ev))->priority))
        |                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:12325:36: note: in expansion of macro ‘ev_priority’
  12325 |   __pyx_t_1 = __Pyx_PyInt_From_int(ev_priority((&__pyx_v_self->_watcher))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 964, __pyx_L1_error)
        |                                    ^~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5timer_8priority_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:12374:16: note: in expansion of macro ‘ev_is_active’
  12374 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:12398:3: note: in expansion of macro ‘ev_set_priority’
  12398 |   ev_set_priority((&__pyx_v_self->_watcher), __pyx_v_priority);
        |   ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5timer_6active___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:12758:8: note: in expansion of macro ‘ev_is_active’
  12758 |   if ((ev_is_active((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5timer_7pending___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:721:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    721 | #define ev_is_pending(ev)                    (0 + ((ev_watcher *)(void *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:12798:8: note: in expansion of macro ‘ev_is_pending’
  12798 |   if ((ev_is_pending((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5timer_6__init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:12952:3: note: in expansion of macro ‘ev_timer_init’
  12952 |   ev_timer_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_timer), __pyx_v_after, __pyx_v_repeat);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:12952:3: note: in expansion of macro ‘ev_timer_init’
  12952 |   ev_timer_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_timer), __pyx_v_after, __pyx_v_repeat);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:12952:3: note: in expansion of macro ‘ev_timer_init’
  12952 |   ev_timer_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_timer), __pyx_v_after, __pyx_v_repeat);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:51: note: in expansion of macro ‘ev_init’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:12952:3: note: in expansion of macro ‘ev_timer_init’
  12952 |   ev_timer_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_timer), __pyx_v_after, __pyx_v_repeat);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:694:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    694 | #define ev_timer_set(ev,after_,repeat_)      do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0)
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:708:73: note: in expansion of macro ‘ev_timer_set’
    708 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
        |                                                                         ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:12952:3: note: in expansion of macro ‘ev_timer_init’
  12952 |   ev_timer_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_timer), __pyx_v_after, __pyx_v_repeat);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:12978:5: note: in expansion of macro ‘ev_set_priority’
  12978 |     ev_set_priority((&__pyx_v_self->_watcher), __pyx_t_5);
        |     ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_6signal_3ref_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:13546:18: note: in expansion of macro ‘ev_is_active’
  13546 |     __pyx_t_3 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                  ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_6signal_8priority___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:731:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    731 | # define ev_priority(ev)                     (+(((ev_watcher *)(void *)(ev))->priority))
        |                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:13794:36: note: in expansion of macro ‘ev_priority’
  13794 |   __pyx_t_1 = __Pyx_PyInt_From_int(ev_priority((&__pyx_v_self->_watcher))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1109, __pyx_L1_error)
        |                                    ^~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_6signal_8priority_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:13843:16: note: in expansion of macro ‘ev_is_active’
  13843 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:13867:3: note: in expansion of macro ‘ev_set_priority’
  13867 |   ev_set_priority((&__pyx_v_self->_watcher), __pyx_v_priority);
        |   ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_6signal_6active___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:14212:8: note: in expansion of macro ‘ev_is_active’
  14212 |   if ((ev_is_active((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_6signal_7pending___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:721:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    721 | #define ev_is_pending(ev)                    (0 + ((ev_watcher *)(void *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:14252:8: note: in expansion of macro ‘ev_is_pending’
  14252 |   if ((ev_is_pending((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_6signal_6__init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:710:51: note: in expansion of macro ‘ev_init’
    710 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:14409:3: note: in expansion of macro ‘ev_signal_init’
  14409 |   ev_signal_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_signal), __pyx_v_signalnum);
        |   ^~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:710:51: note: in expansion of macro ‘ev_init’
    710 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:14409:3: note: in expansion of macro ‘ev_signal_init’
  14409 |   ev_signal_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_signal), __pyx_v_signalnum);
        |   ^~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:710:51: note: in expansion of macro ‘ev_init’
    710 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:14409:3: note: in expansion of macro ‘ev_signal_init’
  14409 |   ev_signal_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_signal), __pyx_v_signalnum);
        |   ^~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:710:51: note: in expansion of macro ‘ev_init’
    710 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:14409:3: note: in expansion of macro ‘ev_signal_init’
  14409 |   ev_signal_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_signal), __pyx_v_signalnum);
        |   ^~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:14435:5: note: in expansion of macro ‘ev_set_priority’
  14435 |     ev_set_priority((&__pyx_v_self->_watcher), __pyx_t_6);
        |     ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4idle_3ref_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:14813:18: note: in expansion of macro ‘ev_is_active’
  14813 |     __pyx_t_3 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                  ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4idle_8priority___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:731:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    731 | # define ev_priority(ev)                     (+(((ev_watcher *)(void *)(ev))->priority))
        |                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:15061:36: note: in expansion of macro ‘ev_priority’
  15061 |   __pyx_t_1 = __Pyx_PyInt_From_int(ev_priority((&__pyx_v_self->_watcher))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1234, __pyx_L1_error)
        |                                    ^~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4idle_8priority_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:15110:16: note: in expansion of macro ‘ev_is_active’
  15110 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:15134:3: note: in expansion of macro ‘ev_set_priority’
  15134 |   ev_set_priority((&__pyx_v_self->_watcher), __pyx_v_priority);
        |   ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4idle_6active___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:15479:8: note: in expansion of macro ‘ev_is_active’
  15479 |   if ((ev_is_active((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4idle_7pending___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:721:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    721 | #define ev_is_pending(ev)                    (0 + ((ev_watcher *)(void *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:15519:8: note: in expansion of macro ‘ev_is_pending’
  15519 |   if ((ev_is_pending((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4idle_6__init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:713:51: note: in expansion of macro ‘ev_init’
    713 | #define ev_idle_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_idle_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:15623:3: note: in expansion of macro ‘ev_idle_init’
  15623 |   ev_idle_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_idle));
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:713:51: note: in expansion of macro ‘ev_init’
    713 | #define ev_idle_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_idle_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:15623:3: note: in expansion of macro ‘ev_idle_init’
  15623 |   ev_idle_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_idle));
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:713:51: note: in expansion of macro ‘ev_init’
    713 | #define ev_idle_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_idle_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:15623:3: note: in expansion of macro ‘ev_idle_init’
  15623 |   ev_idle_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_idle));
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:713:51: note: in expansion of macro ‘ev_init’
    713 | #define ev_idle_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_idle_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:15623:3: note: in expansion of macro ‘ev_idle_init’
  15623 |   ev_idle_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_idle));
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:15649:5: note: in expansion of macro ‘ev_set_priority’
  15649 |     ev_set_priority((&__pyx_v_self->_watcher), __pyx_t_3);
        |     ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_7prepare_3ref_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:16024:18: note: in expansion of macro ‘ev_is_active’
  16024 |     __pyx_t_3 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                  ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_7prepare_8priority___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:731:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    731 | # define ev_priority(ev)                     (+(((ev_watcher *)(void *)(ev))->priority))
        |                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:16272:36: note: in expansion of macro ‘ev_priority’
  16272 |   __pyx_t_1 = __Pyx_PyInt_From_int(ev_priority((&__pyx_v_self->_watcher))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1353, __pyx_L1_error)
        |                                    ^~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_7prepare_8priority_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:16321:16: note: in expansion of macro ‘ev_is_active’
  16321 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:16345:3: note: in expansion of macro ‘ev_set_priority’
  16345 |   ev_set_priority((&__pyx_v_self->_watcher), __pyx_v_priority);
        |   ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_7prepare_6active___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:16690:8: note: in expansion of macro ‘ev_is_active’
  16690 |   if ((ev_is_active((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_7prepare_7pending___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:721:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    721 | #define ev_is_pending(ev)                    (0 + ((ev_watcher *)(void *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:16730:8: note: in expansion of macro ‘ev_is_pending’
  16730 |   if ((ev_is_pending((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_7prepare_6__init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:16834:3: note: in expansion of macro ‘ev_prepare_init’
  16834 |   ev_prepare_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_prepare));
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:16834:3: note: in expansion of macro ‘ev_prepare_init’
  16834 |   ev_prepare_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_prepare));
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:16834:3: note: in expansion of macro ‘ev_prepare_init’
  16834 |   ev_prepare_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_prepare));
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:714:51: note: in expansion of macro ‘ev_init’
    714 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:16834:3: note: in expansion of macro ‘ev_prepare_init’
  16834 |   ev_prepare_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_prepare));
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:16860:5: note: in expansion of macro ‘ev_set_priority’
  16860 |     ev_set_priority((&__pyx_v_self->_watcher), __pyx_t_3);
        |     ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5check_3ref_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:17235:18: note: in expansion of macro ‘ev_is_active’
  17235 |     __pyx_t_3 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                  ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5check_8priority___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:731:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    731 | # define ev_priority(ev)                     (+(((ev_watcher *)(void *)(ev))->priority))
        |                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:17483:36: note: in expansion of macro ‘ev_priority’
  17483 |   __pyx_t_1 = __Pyx_PyInt_From_int(ev_priority((&__pyx_v_self->_watcher))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1472, __pyx_L1_error)
        |                                    ^~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5check_8priority_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:17532:16: note: in expansion of macro ‘ev_is_active’
  17532 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:17556:3: note: in expansion of macro ‘ev_set_priority’
  17556 |   ev_set_priority((&__pyx_v_self->_watcher), __pyx_v_priority);
        |   ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5check_6active___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:17901:8: note: in expansion of macro ‘ev_is_active’
  17901 |   if ((ev_is_active((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5check_7pending___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:721:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    721 | #define ev_is_pending(ev)                    (0 + ((ev_watcher *)(void *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:17941:8: note: in expansion of macro ‘ev_is_pending’
  17941 |   if ((ev_is_pending((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5check_6__init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:715:51: note: in expansion of macro ‘ev_init’
    715 | #define ev_check_init(ev,cb)                 do { ev_init ((ev), (cb)); ev_check_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:18045:3: note: in expansion of macro ‘ev_check_init’
  18045 |   ev_check_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_check));
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:715:51: note: in expansion of macro ‘ev_init’
    715 | #define ev_check_init(ev,cb)                 do { ev_init ((ev), (cb)); ev_check_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:18045:3: note: in expansion of macro ‘ev_check_init’
  18045 |   ev_check_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_check));
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:715:51: note: in expansion of macro ‘ev_init’
    715 | #define ev_check_init(ev,cb)                 do { ev_init ((ev), (cb)); ev_check_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:18045:3: note: in expansion of macro ‘ev_check_init’
  18045 |   ev_check_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_check));
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:715:51: note: in expansion of macro ‘ev_init’
    715 | #define ev_check_init(ev,cb)                 do { ev_init ((ev), (cb)); ev_check_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:18045:3: note: in expansion of macro ‘ev_check_init’
  18045 |   ev_check_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_check));
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:18071:5: note: in expansion of macro ‘ev_set_priority’
  18071 |     ev_set_priority((&__pyx_v_self->_watcher), __pyx_t_3);
        |     ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4fork_3ref_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:18446:18: note: in expansion of macro ‘ev_is_active’
  18446 |     __pyx_t_3 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                  ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4fork_8priority___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:731:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    731 | # define ev_priority(ev)                     (+(((ev_watcher *)(void *)(ev))->priority))
        |                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:18694:36: note: in expansion of macro ‘ev_priority’
  18694 |   __pyx_t_1 = __Pyx_PyInt_From_int(ev_priority((&__pyx_v_self->_watcher))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1591, __pyx_L1_error)
        |                                    ^~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4fork_8priority_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:18743:16: note: in expansion of macro ‘ev_is_active’
  18743 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:18767:3: note: in expansion of macro ‘ev_set_priority’
  18767 |   ev_set_priority((&__pyx_v_self->_watcher), __pyx_v_priority);
        |   ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4fork_6active___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:19112:8: note: in expansion of macro ‘ev_is_active’
  19112 |   if ((ev_is_active((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4fork_7pending___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:721:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    721 | #define ev_is_pending(ev)                    (0 + ((ev_watcher *)(void *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:19152:8: note: in expansion of macro ‘ev_is_pending’
  19152 |   if ((ev_is_pending((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4fork_6__init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:717:51: note: in expansion of macro ‘ev_init’
    717 | #define ev_fork_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:19256:3: note: in expansion of macro ‘ev_fork_init’
  19256 |   ev_fork_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_fork));
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:717:51: note: in expansion of macro ‘ev_init’
    717 | #define ev_fork_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:19256:3: note: in expansion of macro ‘ev_fork_init’
  19256 |   ev_fork_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_fork));
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:717:51: note: in expansion of macro ‘ev_init’
    717 | #define ev_fork_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:19256:3: note: in expansion of macro ‘ev_fork_init’
  19256 |   ev_fork_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_fork));
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:717:51: note: in expansion of macro ‘ev_init’
    717 | #define ev_fork_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:19256:3: note: in expansion of macro ‘ev_fork_init’
  19256 |   ev_fork_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_fork));
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:19282:5: note: in expansion of macro ‘ev_set_priority’
  19282 |     ev_set_priority((&__pyx_v_self->_watcher), __pyx_t_3);
        |     ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5async_3ref_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:19657:18: note: in expansion of macro ‘ev_is_active’
  19657 |     __pyx_t_3 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                  ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5async_8priority___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:731:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    731 | # define ev_priority(ev)                     (+(((ev_watcher *)(void *)(ev))->priority))
        |                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:19905:36: note: in expansion of macro ‘ev_priority’
  19905 |   __pyx_t_1 = __Pyx_PyInt_From_int(ev_priority((&__pyx_v_self->_watcher))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1710, __pyx_L1_error)
        |                                    ^~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5async_8priority_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:19954:16: note: in expansion of macro ‘ev_is_active’
  19954 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:19978:3: note: in expansion of macro ‘ev_set_priority’
  19978 |   ev_set_priority((&__pyx_v_self->_watcher), __pyx_v_priority);
        |   ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5async_6active___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:20323:8: note: in expansion of macro ‘ev_is_active’
  20323 |   if ((ev_is_active((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5async_6__init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:719:51: note: in expansion of macro ‘ev_init’
    719 | #define ev_async_init(ev,cb)                 do { ev_init ((ev), (cb)); ev_async_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:20467:3: note: in expansion of macro ‘ev_async_init’
  20467 |   ev_async_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_async));
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:719:51: note: in expansion of macro ‘ev_init’
    719 | #define ev_async_init(ev,cb)                 do { ev_init ((ev), (cb)); ev_async_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:20467:3: note: in expansion of macro ‘ev_async_init’
  20467 |   ev_async_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_async));
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:719:51: note: in expansion of macro ‘ev_init’
    719 | #define ev_async_init(ev,cb)                 do { ev_init ((ev), (cb)); ev_async_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:20467:3: note: in expansion of macro ‘ev_async_init’
  20467 |   ev_async_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_async));
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:719:51: note: in expansion of macro ‘ev_init’
    719 | #define ev_async_init(ev,cb)                 do { ev_init ((ev), (cb)); ev_async_set ((ev)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:20467:3: note: in expansion of macro ‘ev_async_init’
  20467 |   ev_async_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_async));
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:20493:5: note: in expansion of macro ‘ev_set_priority’
  20493 |     ev_set_priority((&__pyx_v_self->_watcher), __pyx_t_3);
        |     ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5child_3ref_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:21001:18: note: in expansion of macro ‘ev_is_active’
  21001 |     __pyx_t_3 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                  ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5child_8priority___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:731:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    731 | # define ev_priority(ev)                     (+(((ev_watcher *)(void *)(ev))->priority))
        |                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:21246:36: note: in expansion of macro ‘ev_priority’
  21246 |   __pyx_t_1 = __Pyx_PyInt_From_int(ev_priority((&__pyx_v_self->_watcher))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1836, __pyx_L1_error)
        |                                    ^~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5child_8priority_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:21295:16: note: in expansion of macro ‘ev_is_active’
  21295 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:21316:3: note: in expansion of macro ‘ev_set_priority’
  21316 |   ev_set_priority((&__pyx_v_self->_watcher), __pyx_v_priority);
        |   ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5child_6active___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:21652:8: note: in expansion of macro ‘ev_is_active’
  21652 |   if ((ev_is_active((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5child_7pending___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:721:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    721 | #define ev_is_pending(ev)                    (0 + ((ev_watcher *)(void *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:21692:8: note: in expansion of macro ‘ev_is_pending’
  21692 |   if ((ev_is_pending((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_5child_6__init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:711:51: note: in expansion of macro ‘ev_init’
    711 | #define ev_child_init(ev,cb,pid,trace)       do { ev_init ((ev), (cb)); ev_child_set ((ev),(pid),(trace)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:21835:3: note: in expansion of macro ‘ev_child_init’
  21835 |   ev_child_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_child), __pyx_v_pid, __pyx_v_trace);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:711:51: note: in expansion of macro ‘ev_init’
    711 | #define ev_child_init(ev,cb,pid,trace)       do { ev_init ((ev), (cb)); ev_child_set ((ev),(pid),(trace)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:21835:3: note: in expansion of macro ‘ev_child_init’
  21835 |   ev_child_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_child), __pyx_v_pid, __pyx_v_trace);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:711:51: note: in expansion of macro ‘ev_init’
    711 | #define ev_child_init(ev,cb,pid,trace)       do { ev_init ((ev), (cb)); ev_child_set ((ev),(pid),(trace)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:21835:3: note: in expansion of macro ‘ev_child_init’
  21835 |   ev_child_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_child), __pyx_v_pid, __pyx_v_trace);
        |   ^~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:711:51: note: in expansion of macro ‘ev_init’
    711 | #define ev_child_init(ev,cb,pid,trace)       do { ev_init ((ev), (cb)); ev_child_set ((ev),(pid),(trace)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:21835:3: note: in expansion of macro ‘ev_child_init’
  21835 |   ev_child_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_child), __pyx_v_pid, __pyx_v_trace);
        |   ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4stat_3ref_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:22480:18: note: in expansion of macro ‘ev_is_active’
  22480 |     __pyx_t_3 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                  ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4stat_8priority___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:731:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    731 | # define ev_priority(ev)                     (+(((ev_watcher *)(void *)(ev))->priority))
        |                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:22734:36: note: in expansion of macro ‘ev_priority’
  22734 |   __pyx_t_1 = __Pyx_PyInt_From_int(ev_priority((&__pyx_v_self->_watcher))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1981, __pyx_L1_error)
        |                                    ^~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4stat_8priority_2__set__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:22783:16: note: in expansion of macro ‘ev_is_active’
  22783 |   __pyx_t_1 = (ev_is_active((&__pyx_v_self->_watcher)) != 0);
        |                ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:22813:3: note: in expansion of macro ‘ev_set_priority’
  22813 |   ev_set_priority((&__pyx_v_self->_watcher), __pyx_v_priority);
        |   ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4stat_6active___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:722:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    722 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:23176:8: note: in expansion of macro ‘ev_is_active’
  23176 |   if ((ev_is_active((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4stat_7pending___get__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:721:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    721 | #define ev_is_pending(ev)                    (0 + ((ev_watcher *)(void *)(ev))->pending) /* ro, true when watcher is waiting for callback invocation */
        |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:23216:8: note: in expansion of macro ‘ev_is_pending’
  23216 |   if ((ev_is_pending((&__pyx_v_self->_watcher)) != 0)) {
        |        ^~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__pyx_pf_6gevent_5libev_8corecext_4stat_6__init__’:
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:687:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    687 |   ((ev_watcher *)(void *)(ev))->active  = \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:712:51: note: in expansion of macro ‘ev_init’
    712 | #define ev_stat_init(ev,cb,path,interval)    do { ev_init ((ev), (cb)); ev_stat_set ((ev),(path),(interval)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:23459:3: note: in expansion of macro ‘ev_stat_init’
  23459 |   ev_stat_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_stat), ((char *)__pyx_t_8), __pyx_v_interval);
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:688:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    688 |   ((ev_watcher *)(void *)(ev))->pending = 0; \
        |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:712:51: note: in expansion of macro ‘ev_init’
    712 | #define ev_stat_init(ev,cb,path,interval)    do { ev_init ((ev), (cb)); ev_stat_set ((ev),(path),(interval)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:23459:3: note: in expansion of macro ‘ev_stat_init’
  23459 |   ev_stat_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_stat), ((char *)__pyx_t_8), __pyx_v_interval);
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:689:3: note: in expansion of macro ‘ev_set_priority’
    689 |   ev_set_priority ((ev), 0);   \
        |   ^~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:712:51: note: in expansion of macro ‘ev_init’
    712 | #define ev_stat_init(ev,cb,path,interval)    do { ev_init ((ev), (cb)); ev_stat_set ((ev),(path),(interval)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:23459:3: note: in expansion of macro ‘ev_stat_init’
  23459 |   ev_stat_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_stat), ((char *)__pyx_t_8), __pyx_v_interval);
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:738:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    738 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
        |                                                                              ~^~~~~~~~~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:690:3: note: in expansion of macro ‘ev_set_cb’
    690 |   ev_set_cb ((ev), cb_);   \
        |   ^~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:712:51: note: in expansion of macro ‘ev_init’
    712 | #define ev_stat_init(ev,cb,path,interval)    do { ev_init ((ev), (cb)); ev_stat_set ((ev),(path),(interval)); } while (0)
        |                                                   ^~~~~~~
  src/gevent/libev/gevent.corecext.c:23459:3: note: in expansion of macro ‘ev_stat_init’
  23459 |   ev_stat_init((&__pyx_v_self->_watcher), ((void *)gevent_callback_stat), ((char *)__pyx_t_8), __pyx_v_interval);
        |   ^~~~~~~~~~~~
  /tmp/pip-install-xbj6i3ju/gevent/deps/libev/ev.h:732:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
    732 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
        |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c:23485:5: note: in expansion of macro ‘ev_set_priority’
  23485 |     ev_set_priority((&__pyx_v_self->_watcher), __pyx_t_9);
        |     ^~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘PyInit_corecext’:
  src/gevent/libev/gevent.corecext.c:29198:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29198 |   __pyx_type_6gevent_5libev_8corecext__EVENTSType.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29205:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29205 |   PyGeventLoop_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29210:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29210 |   PyGeventCallback_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29214:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29214 |   PyGeventWatcher_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29219:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29219 |   PyGeventIO_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29224:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29224 |   PyGeventTimer_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29229:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29229 |   PyGeventSignal_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29234:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29234 |   PyGeventIdle_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29239:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29239 |   PyGeventPrepare_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29244:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29244 |   PyGeventCheck_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29249:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29249 |   PyGeventFork_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29254:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29254 |   PyGeventAsync_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29261:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29261 |   PyGeventChild_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29268:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29268 |   PyGeventStat_Type.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c:29272:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
  29272 |   __pyx_type_6gevent_5libev_8corecext___pyx_scope_struct__genexpr.tp_print = 0;
        |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/include/python3.8/object.h:746,
                   from /usr/include/python3.8/pytime.h:6,
                   from /usr/include/python3.8/Python.h:85,
                   from src/gevent/libev/gevent.corecext.c:5:
  /usr/include/python3.8/cpython/object.h:260:30: note: declared here
    260 |     Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
        |                              ^~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__Pyx_PyCFunction_FastCall’:
  src/gevent/libev/gevent.corecext.c:30323:13: error: too many arguments to function ‘(PyObject * (*)(PyObject *, PyObject * const*, Py_ssize_t))meth’
  30323 |     return (*((__Pyx_PyCFunctionFast)meth)) (self, args, nargs, NULL);
        |            ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  src/gevent/libev/gevent.corecext.c: In function ‘__Pyx__ExceptionSave’:
  src/gevent/libev/gevent.corecext.c:30535:21: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
  30535 |     *type = tstate->exc_type;
        |                     ^~~~~~~~
        |                     curexc_type
  src/gevent/libev/gevent.corecext.c:30536:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
  30536 |     *value = tstate->exc_value;
        |                      ^~~~~~~~~
        |                      curexc_value
  src/gevent/libev/gevent.corecext.c:30537:19: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
  30537 |     *tb = tstate->exc_traceback;
        |                   ^~~~~~~~~~~~~
        |                   curexc_traceback
  src/gevent/libev/gevent.corecext.c: In function ‘__Pyx__ExceptionReset’:
  src/gevent/libev/gevent.corecext.c:30544:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
  30544 |     tmp_type = tstate->exc_type;
        |                        ^~~~~~~~
        |                        curexc_type
  src/gevent/libev/gevent.corecext.c:30545:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
  30545 |     tmp_value = tstate->exc_value;
        |                         ^~~~~~~~~
        |                         curexc_value
  src/gevent/libev/gevent.corecext.c:30546:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
  30546 |     tmp_tb = tstate->exc_traceback;
        |                      ^~~~~~~~~~~~~
        |                      curexc_traceback
  src/gevent/libev/gevent.corecext.c:30547:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
  30547 |     tstate->exc_type = type;
        |             ^~~~~~~~
        |             curexc_type
  src/gevent/libev/gevent.corecext.c:30548:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
  30548 |     tstate->exc_value = value;
        |             ^~~~~~~~~
        |             curexc_value
  src/gevent/libev/gevent.corecext.c:30549:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
  30549 |     tstate->exc_traceback = tb;
        |             ^~~~~~~~~~~~~
        |             curexc_traceback
  src/gevent/libev/gevent.corecext.c: In function ‘__Pyx__GetException’:
  src/gevent/libev/gevent.corecext.c:30604:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
  30604 |     tmp_type = tstate->exc_type;
        |                        ^~~~~~~~
        |                        curexc_type
  src/gevent/libev/gevent.corecext.c:30605:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
  30605 |     tmp_value = tstate->exc_value;
        |                         ^~~~~~~~~
        |                         curexc_value
  src/gevent/libev/gevent.corecext.c:30606:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
  30606 |     tmp_tb = tstate->exc_traceback;
        |                      ^~~~~~~~~~~~~
        |                      curexc_traceback
  src/gevent/libev/gevent.corecext.c:30607:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
  30607 |     tstate->exc_type = local_type;
        |             ^~~~~~~~
        |             curexc_type
  src/gevent/libev/gevent.corecext.c:30608:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
  30608 |     tstate->exc_value = local_value;
        |             ^~~~~~~~~
        |             curexc_value
  src/gevent/libev/gevent.corecext.c:30609:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
  30609 |     tstate->exc_traceback = local_tb;
        |             ^~~~~~~~~~~~~
        |             curexc_traceback
  src/gevent/libev/gevent.corecext.c: In function ‘__Pyx__ExceptionSwap’:
  src/gevent/libev/gevent.corecext.c:31158:24: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
  31158 |     tmp_type = tstate->exc_type;
        |                        ^~~~~~~~
        |                        curexc_type
  src/gevent/libev/gevent.corecext.c:31159:25: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
  31159 |     tmp_value = tstate->exc_value;
        |                         ^~~~~~~~~
        |                         curexc_value
  src/gevent/libev/gevent.corecext.c:31160:22: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
  31160 |     tmp_tb = tstate->exc_traceback;
        |                      ^~~~~~~~~~~~~
        |                      curexc_traceback
  src/gevent/libev/gevent.corecext.c:31161:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_type’; did you mean ‘curexc_type’?
  31161 |     tstate->exc_type = *type;
        |             ^~~~~~~~
        |             curexc_type
  src/gevent/libev/gevent.corecext.c:31162:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_value’; did you mean ‘curexc_value’?
  31162 |     tstate->exc_value = *value;
        |             ^~~~~~~~~
        |             curexc_value
  src/gevent/libev/gevent.corecext.c:31163:13: error: ‘PyThreadState’ {aka ‘struct _ts’} has no member named ‘exc_traceback’; did you mean ‘curexc_traceback’?
  31163 |     tstate->exc_traceback = *tb;
        |             ^~~~~~~~~~~~~
        |             curexc_traceback
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for gevent
  Running setup.py clean for gevent
Failed to build gevent
Installing collected packages: psycopg2, sqlalchemy, netifaces, pycrypto, psutil, six, idna, urllib3, certifi, chardet, requests, gevent, werkzeug, patool, pycparser, cffi, bcrypt, ipaddress, future, pytz, babel, pyxdg, MarkupSafe, Jinja2, pyyaml, pycups, PyPDF2
  Attempting uninstall: psycopg2
    Found existing installation: psycopg2 2.9.1
    Uninstalling psycopg2-2.9.1:
      Successfully uninstalled psycopg2-2.9.1
    Running setup.py install for psycopg2 ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xbj6i3ju/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-xbj6i3ju/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-35y3hirs/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/psycopg2
         cwd: /tmp/pip-install-xbj6i3ju/psycopg2/
    Complete output (73 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.8
    creating build/lib.linux-x86_64-3.8/psycopg2
    copying lib/errorcodes.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/pool.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/sql.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/psycopg1.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/tz.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/_range.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/extensions.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/__init__.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/extras.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/_ipaddress.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/_json.py -> build/lib.linux-x86_64-3.8/psycopg2
    creating build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_replication.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_cancel.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_quote.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_module.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_copy.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_cursor.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_types_basic.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_fast_executemany.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_connection.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_sql.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_bugX000.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/dbapi20_tpc.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_green.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_async_keyword.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_with.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/testconfig.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_ipaddress.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_transaction.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_types_extras.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/dbapi20.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_notify.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_psycopg2_dbapi20.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_lobject.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_errcodes.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/testutils.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_extras_dictcursor.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_bug_gc.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/__init__.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_dates.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_async.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    Skipping optional fixer: buffer
    Skipping optional fixer: idioms
    Skipping optional fixer: set_literal
    Skipping optional fixer: ws_comma
    running build_ext
    building 'psycopg2._psycopg' extension
    creating build/temp.linux-x86_64-3.8
    creating build/temp.linux-x86_64-3.8/psycopg
    x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION=2.7.7 (dt dec pq3 ext lo64) -DPG_VERSION_NUM=130002 -DHAVE_LO64=1 -I/usr/include/python3.8 -I. -I/usr/include/postgresql -I/usr/include/postgresql/13/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-3.8/psycopg/psycopgmodule.o -Wdeclaration-after-statement
    In file included from psycopg/psycopgmodule.c:27:
    ./psycopg/psycopg.h:35:10: fatal error: libpq-fe.h: No such file or directory
       35 | #include <libpq-fe.h>
          |          ^~~~~~~~~~~~
    compilation terminated.

    It appears you are missing some prerequisite to build the package from source.

    You may install a binary package by installing 'psycopg2-binary' from PyPI.
    If you want to install psycopg2 from source, please install the packages
    required for the build and try again.

    For further information please check the 'doc/src/install.rst' file (also at

    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    ----------------------------------------
  Rolling back uninstall of psycopg2
  Moving to /usr/local/lib/python3.8/dist-packages/psycopg2-2.9.1.dist-info/
   from /usr/local/lib/python3.8/dist-packages/~sycopg2-2.9.1.dist-info
  Moving to /usr/local/lib/python3.8/dist-packages/psycopg2/
   from /usr/local/lib/python3.8/dist-packages/~sycopg2
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xbj6i3ju/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-xbj6i3ju/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-35y3hirs/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/psycopg2 Check the logs for full command output. 


Stefano Maggiolo 在 2021年6月21日 星期一下午6:08:55 [UTC+8] 的信中寫道:

小方塊Cube

unread,
Jul 17, 2021, 1:35:33 AM7/17/21
to Contest Management System (support)

Sorry for the late respond, I tried many times but I when I was installing requirements.txt, I keep receiving this:
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xbj6i3ju/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-xbj6i3ju/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-35y3hirs/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.8/psycopg2 Check the logs for full command output.ss

Stefano Maggiolo 在 2021年6月21日 星期一下午6:08:55 [UTC+8] 的信中寫道:
For cmsResourceService -a, that output is expected as you don't have any contest in the system (as mentioned, you can import a contest, or you can create one from cmsAdminWebServer).

Stefano Maggiolo

unread,
Jul 19, 2021, 5:23:54 AM7/19/21
to Contest Management System (support)
Looks like you're missing some development packages required to build some dependency. At least one is given by:

    ./psycopg/psycopg.h:35:10: fatal error: libpq-fe.h: No such file or directory

I think you can try installing libpq-dev or something similar in your package manager (e.g. apt install libpq-dev).
Reply all
Reply to author
Forward
0 new messages