Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Static symbol PyInit__queue clashes with stdlib _queue #1480

Closed
jayvdb opened this issue Nov 14, 2019 · 0 comments · Fixed by #1614
Closed

Static symbol PyInit__queue clashes with stdlib _queue #1480

jayvdb opened this issue Nov 14, 2019 · 0 comments · Fixed by #1614

Comments

@jayvdb
Copy link

jayvdb commented Nov 14, 2019

  • gevent version: master
  • Python version: any; specifically using cPython 3.7 from openSUSE.
  • Operating System: Linux/openSUSE

Description:

_queue contains symbol PyInit__queue, which is the same symbol name as used by in stdlib _queue.

This causes problems when statically linking gevent into a binary with cPython. ;-)
i.e. this causes https://github.com/indygreg/PyOxidizer to not initialise gevent.

This could be fixed in static build tools, by renaming the symbols, and I have had success doing that with most libraries (indygreg/PyOxidizer#183), however the use of Cython here further complicates the problem as the rust ELF sym renaming library I am using doesnt handle the Cython generated output (gimli-rs/object#149).

It would be real nice of _queue could be renamed here to avoid the clash ;-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant