-
Notifications
You must be signed in to change notification settings - Fork 935
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gevent 1.5.0 specifies a cython file as a prerequisite, causing cython to run only when it was installed after 2020 #1936
Comments
gevent 1.5 is quite old and no longer supported by this project. But here are some things I remember. gevent does not specify a dependency on If cython is installed at setup/build time, cython will be run. If it is not installed, the bundled C files will be used. It's as simple as that. Except it's not quite that simple. gevent 1.5 was the first release to include a pyproject.toml, which was a relatively new thing at the time, and many users were using build systems that did not pay attention to it. Those that do, however, will fetch a released version of cython at build time, and cythonize any necessary files. This is the only way we could have a hope of running on newer versions of CPython, as the generated C files only support releases that were available at the time it was created. |
That doesn't happen... cython only runs when its files have a newer mtime than the source files of gevent; that's rather absurd. It's causing build failures because apparently the version of cython that was used at the time of gevent 1.5.0 was too old to support Python 3.10.8. Should I open an issue with cython about that mtime problem then? It looks like you expect cython to always run when it's in the PATH. Or is there a flag that forces a re-make, like |
No, cython always runs. Whether it does anything or not is up to it, and out of control of this project. |
It is not out of control of the project, since |
I meant it is way out of gevent 1.5's control. That ship sailed long ago. |
When installing
spack install py-gevent
it resolves toand attempts a build using
pypi
tarballs.Description:
py-gevent
re-cythonizes files because it has a prereq specified on cython files:So, depending on what date you've installed cython on your system, it runs cython or not.
It's like writing a makefile that specifies a system library as a prereq by absolute path...
Also, is there a way to tell gevent setup that it should always run cython no matter what?
The text was updated successfully, but these errors were encountered: