root@Debbie:~/streaming-load-testing# make init
pip3 install -r requirements.txt
Obtaining file:///root/streaming-load-testing (from -r requirements.txt (line 8))
Preparing metadata (setup.py) ... done
Collecting pytest
Using cached pytest-8.0.1-py3-none-any.whl (333 kB)
Collecting coverage
Using cached coverage-7.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (237 kB)
Collecting locustio==0.14.4
Using cached locustio-0.14.4-py3-none-any.whl (263 kB)
Collecting mpegdash==0.2.0
Using cached mpegdash-0.2.0-py3-none-any.whl (9.4 kB)
Collecting m3u8==0.3.6
Using cached m3u8-0.3.6.tar.gz (14 kB)
Preparing metadata (setup.py) ... done
Collecting requests==2.23.0
Using cached requests-2.23.0-py2.py3-none-any.whl (58 kB)
Collecting gevent==1.5a2
Using cached gevent-1.5a2.tar.gz (5.4 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [319 lines of output]
Compiling src/gevent/resolver/cares.pyx because it changed.
[1/1] Cythonizing src/gevent/resolver/cares.pyx
performance hint: src/gevent/libev/corecext.pyx:1266:5: Exception check on '_syserr_cb' will always require the GIL to be acquired.
Possible solutions:
Declare '_syserr_cb' as 'noexcept' if you control the definition and you're sure you don't want the function to raise exceptions.
Use an 'int' return type on '_syserr_cb' to allow an error code to be returned.
warning: src/gevent/libev/corecext.pyx:1263:0: Global name SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: src/gevent/libev/corecext.pyx:1263:0: Global name __SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: src/gevent/libev/corecext.pyx:1263:0: Global name SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: src/gevent/libev/corecext.pyx:1263:0: Global name __SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
src/gevent/libev/corecext.pyx:1003:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
...
def __cinit__(self, loop loop, double after=0.0, double repeat=0.0, ref=True, priority=None):
if repeat < 0.0:
raise ValueError("repeat must be positive or zero: %r" % repeat)
libev.ev_timer_init(&self._watcher, <void *>gevent_callback_timer, after, repeat)
self.__watcher = <libev.ev_watcher*>&self._watcher
^
src/gevent/libev/corecext.pyx:1047:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
...
def cinit(self, loop loop, double after=0.0, double repeat=0.0, ref=True, priority=None):
if repeat < 0.0:
raise ValueError("repeat must be positive or zero: %r" % repeat)
libev.ev_timer_init(&self._watcher, <void >gevent_callback_timer, after, repeat)
self.__watcher = <libev.ev_watcher>&self._watcher
self.__ss = &timer_ss
^
src/gevent/libev/corecext.pyx:1048:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
...
1) "libev: ev_signal_start called with illegal signal number"
# EV_NSIG might be different from signal.NSIG on some platforms
# 2) "libev: a signal must not be attached to two different loops"
# we probably could check that in LIBEV_EMBED mode, but not in general
libev.ev_signal_init(&self._watcher, <void *>gevent_callback_signal, signalnum)
self.__watcher = <libev.ev_watcher*>&self._watcher
^
src/gevent/libev/corecext.pyx:1092:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
...
EV_NSIG might be different from signal.NSIG on some platforms
# 2) "libev: a signal must not be attached to two different loops"
# we probably could check that in LIBEV_EMBED mode, but not in general
libev.ev_signal_init(&self._watcher, <void *>gevent_callback_signal, signalnum)
self.__watcher = <libev.ev_watcher*>&self._watcher
self.__ss = &signal_ss
^
src/gevent/libev/corecext.pyx:1093:20: Cannot convert 'start_and_stop *' to Python object
src/gevent/libev/corecext.pyx:1165:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
...
raise AttributeError("Child watchers are not supported on Windows")
if not loop.default:
raise TypeError('child watchers are only available on the default loop')
libev.gevent_install_sigchld_handler()
libev.ev_child_init(&self._watcher, <void >gevent_callback_child, pid, trace)
self.__watcher = <libev.ev_watcher>&self._watcher
^
src/gevent/libev/corecext.pyx:1187:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
...
if not loop.default:
raise TypeError('child watchers are only available on the default loop')
libev.gevent_install_sigchld_handler()
libev.ev_child_init(&self._watcher, <void >gevent_callback_child, pid, trace)
self.__watcher = <libev.ev_watcher>&self._watcher
self.__ss = &child_ss
^
src/gevent/libev/corecext.pyx:1188:20: Cannot convert 'start_and_stop *' to Python object
src/gevent/libev/corecext.pyx:1239:20: Cannot convert 'start_and_stop *' to Python object
Compiling src/gevent/libev/corecext.pyx because it changed.
[1/1] Cythonizing src/gevent/libev/corecext.pyx
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(*hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/setuptools/build_meta.py", line 295, in _get_build_requires
self.run_setup()
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/setuptools/build_meta.py", line 480, in run_setup
super().run_setup(setup_script=setup_script)
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/setuptools/build_meta.py", line 311, in run_setup
exec(code, locals())
File "", line 48, in
File "/tmp/pip-install-gkh_0yiz/gevent_b6836f3ad7764283b02d81400a85da1d/_setuputils.py", line 195, in cythonize1
new_ext = cythonize(
^^^^^^^^^^
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/Cython/Build/Dependencies.py", line 1154, in cythonize
cythonize_one(args)
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: src/gevent/libev/corecext.pyx
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
make: *** [Makefile:18: init] Error 1
Trying to build on Debian 12:
root@Debbie:~/streaming-load-testing# make init pip3 install -r requirements.txt Obtaining file:///root/streaming-load-testing (from -r requirements.txt (line 8)) Preparing metadata (setup.py) ... done Collecting pytest Using cached pytest-8.0.1-py3-none-any.whl (333 kB) Collecting coverage Using cached coverage-7.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (237 kB) Collecting locustio==0.14.4 Using cached locustio-0.14.4-py3-none-any.whl (263 kB) Collecting mpegdash==0.2.0 Using cached mpegdash-0.2.0-py3-none-any.whl (9.4 kB) Collecting m3u8==0.3.6 Using cached m3u8-0.3.6.tar.gz (14 kB) Preparing metadata (setup.py) ... done Collecting requests==2.23.0 Using cached requests-2.23.0-py2.py3-none-any.whl (58 kB) Collecting gevent==1.5a2 Using cached gevent-1.5a2.tar.gz (5.4 MB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [319 lines of output] Compiling src/gevent/resolver/cares.pyx because it changed. [1/1] Cythonizing src/gevent/resolver/cares.pyx performance hint: src/gevent/libev/corecext.pyx:1266:5: Exception check on '_syserr_cb' will always require the GIL to be acquired. Possible solutions:
Use an 'int' return type on '_syserr_cb' to allow an error code to be returned. warning: src/gevent/libev/corecext.pyx:1263:0: Global name SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release. warning: src/gevent/libev/corecext.pyx:1263:0: Global name __SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release. warning: src/gevent/libev/corecext.pyx:1263:0: Global name SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release. warning: src/gevent/libev/corecext.pyx:1263:0: Global name __SYSERR_CALLBACK matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
Error compiling Cython file:
... if events & ~(libev.EV__IOFDSET | libev.EV_READ | libev.EV_WRITE): raise ValueError('illegal event mask: %r' % events)
All the vfd_functions are no-ops on POSIX
src/gevent/libev/corecext.pyx:1002:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
... raise ValueError('illegal event mask: %r' % events)
All the vfd_functions are no-ops on POSIX
src/gevent/libev/corecext.pyx:1003:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
...
src/gevent/libev/corecext.pyx:1047:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
... def cinit(self, loop loop, double after=0.0, double repeat=0.0, ref=True, priority=None): if repeat < 0.0: raise ValueError("repeat must be positive or zero: %r" % repeat) libev.ev_timer_init(&self._watcher, <void >gevent_callback_timer, after, repeat) self.__watcher = <libev.ev_watcher>&self._watcher self.__ss = &timer_ss ^
src/gevent/libev/corecext.pyx:1048:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
...
1) "libev: ev_signal_start called with illegal signal number"
src/gevent/libev/corecext.pyx:1092:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
...
EV_NSIG might be different from signal.NSIG on some platforms
src/gevent/libev/corecext.pyx:1093:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
...
src/gevent/libev/corecext.pyx:1108:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
... cdef libev.ev_idle _watcher
src/gevent/libev/corecext.pyx:1109:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
...
src/gevent/libev/corecext.pyx:1121:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
... cdef libev.ev_prepare _watcher
src/gevent/libev/corecext.pyx:1122:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
...
src/gevent/libev/corecext.pyx:1134:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
... cdef libev.ev_check _watcher
src/gevent/libev/corecext.pyx:1135:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
...
src/gevent/libev/corecext.pyx:1147:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
... cdef libev.ev_fork _watcher
src/gevent/libev/corecext.pyx:1148:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
...
Note the use of ev_async_pending instead of ev_is_pending
src/gevent/libev/corecext.pyx:1164:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
... return True if libev.ev_async_pending(&self._watcher) else False
src/gevent/libev/corecext.pyx:1165:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
... raise AttributeError("Child watchers are not supported on Windows") if not loop.default: raise TypeError('child watchers are only available on the default loop') libev.gevent_install_sigchld_handler() libev.ev_child_init(&self._watcher, <void >gevent_callback_child, pid, trace) self.__watcher = <libev.ev_watcher>&self._watcher ^
src/gevent/libev/corecext.pyx:1187:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
... if not loop.default: raise TypeError('child watchers are only available on the default loop') libev.gevent_install_sigchld_handler() libev.ev_child_init(&self._watcher, <void >gevent_callback_child, pid, trace) self.__watcher = <libev.ev_watcher>&self._watcher self.__ss = &child_ss ^
src/gevent/libev/corecext.pyx:1188:20: Cannot convert 'start_and_stop *' to Python object
Error compiling Cython file:
... self._paths = paths else: paths =path
self._paths = paths
libev.ev_stat_init(&self._watcher, <void >gevent_callback_stat, <char>paths, interval)
self.__watcher = <libev.ev_watcher*>&self._watcher
^
src/gevent/libev/corecext.pyx:1238:25: Cannot convert 'ev_watcher *' to Python object
Error compiling Cython file:
... else: paths =path
self._paths = paths
libev.ev_stat_init(&self._watcher, <void >gevent_callback_stat, <char>paths, interval)
self.watcher = <libev.ev_watcher*>&self._watcher
self.ss = &stat_ss
^
src/gevent/libev/corecext.pyx:1239:20: Cannot convert 'start_and_stop *' to Python object Compiling src/gevent/libev/corecext.pyx because it changed. [1/1] Cythonizing src/gevent/libev/corecext.pyx Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(*hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/setuptools/build_meta.py", line 295, in _get_build_requires
self.run_setup()
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/setuptools/build_meta.py", line 480, in run_setup
super().run_setup(setup_script=setup_script)
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/setuptools/build_meta.py", line 311, in run_setup
exec(code, locals())
File "", line 48, in
File "/tmp/pip-install-gkh_0yiz/gevent_b6836f3ad7764283b02d81400a85da1d/_setuputils.py", line 195, in cythonize1
new_ext = cythonize(
^^^^^^^^^^
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/Cython/Build/Dependencies.py", line 1154, in cythonize
cythonize_one( args)
File "/tmp/pip-build-env-5pyw51j2/overlay/local/lib/python3.11/dist-packages/Cython/Build/Dependencies.py", line 1321, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: src/gevent/libev/corecext.pyx
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error
× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip. make: *** [Makefile:18: init] Error 1