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

tags._generic_abi should use only the first part of the SOABI #606

Closed
mattip opened this issue Nov 1, 2022 · 3 comments · Fixed by #607
Closed

tags._generic_abi should use only the first part of the SOABI #606

mattip opened this issue Nov 1, 2022 · 3 comments · Fixed by #607

Comments

@mattip
Copy link
Contributor

mattip commented Nov 1, 2022

In _generic_abi() (which is used on non-CPython), the abi tag is equivalent to the SOABI sysconfig value. But this is "cpython-38-x86_64-linux-gnu" on CPython. The equivalent code path for CPython goes to _cpython_abis() which does not use SOABI at all. Currently, PyPy must keep its SOABI to "pypy38-pp73" in order to allow pip to function. The EXTSUFFIX is "".pypy38-pp73-x86_64-linux-gnu.so". This was fixed for wheel in pypa/wheel#372 and should be fixed here as well.

It seems CMake uses the SOABI, so building projects with PyPy there requires work-arounds. Here is the PyPy issue https://foss.heptapod.net/pypy/pypy/-/issues/3816

@mattip
Copy link
Contributor Author

mattip commented Nov 1, 2022

thinking about how to test this: the same result should be produced by _cpython_abis() and _generic_abis()

@brettcannon
Copy link
Member

Some other details can be found in #606 which was failed simultaneously.

@brettcannon
Copy link
Member

Welcome to the historical baggage that is wheel tag generation. 😉 Not saying we can't consider changing it, but this wasn't by design as much as organic growth when I collected all the various implementations together and this bifurcation of logic already existed.

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

Successfully merging a pull request may close this issue.

2 participants