-
Notifications
You must be signed in to change notification settings - Fork 544
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
wheel_installer
with --platform
fails for non-cp
abis
#1810
Comments
FYI this is related to #1790, more specifically: #1790 (comment) |
aignas
added a commit
to aignas/rules_python
that referenced
this issue
Mar 18, 2024
The bazelbuild#1693 PR incorrectly assumed that the platform tag will be os-arch specific if and only if the abi tag is of form cpxy. However, there are many wheels that are not like this (e.g. watchdog, tornado, libclang). This fixes the starlark code that is overriding the user platforms with something that only the wheel supports by also taking into account the ABI. Fixes bazelbuild#1810.
aignas
added a commit
to aignas/rules_python
that referenced
this issue
Mar 18, 2024
The bazelbuild#1693 PR incorrectly assumed that the platform tag will be os-arch specific if and only if the abi tag is of form cpxy. However, there are many wheels that are not like this (e.g. watchdog, tornado, libclang). This fixes the starlark code that is overriding the user platforms with something that only the wheel supports by also taking into account the ABI. Fixes bazelbuild#1810.
github-merge-queue bot
pushed a commit
that referenced
this issue
Mar 18, 2024
The #1693 PR incorrectly assumed that the platform tag will be os-arch specific if and only if the abi tag is of form cpxy. However, there are many wheels that are not like this (e.g. watchdog, tornado, libclang). This fixes the starlark code that is overriding the user platforms with something that only the wheel supports by also taking into account the ABI. Fixes #1810.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
🐞 bug report
Affected Rule
Users of the
wheel_installer
tool - e.g. like the generated repos frompip_parse
when used withexperimental_target_platforms
.Is this a regression?
Yes - works on
0.29.0
(likely due to #1693 cc: @aignas).Description
The
wheel_installer
tool is defensive when parsing the--platform
flag and checks whether the abi starts withcp
- this is a problem when wheels do not use that abi (but are nevertheless compatible, see below) as it then tries to find the OS to target using the abi name instead.For example, in the linked reproduction below, pip ends up downloading:
tornado-6.4-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
-abi_tag == "abi3"
(link on PyPI)libclang-17.0.6-py2.py3-none-manylinux2010_x86_64.whl
-abi_tag == "none"
(link on PyPI)Relevant PEPs:
🔬 Minimal Reproduction
See https://github.com/Illedran/wheel_installer_tool_abi_bug.
🔥 Exception or Error
See the README.md for the full error log (incl. Bazel) and another example.
🌍 Your Environment
Operating System:
Linux 5.15.146.1-microsoft-standard-WSL2 x86_64
Output of
bazel version
:Rules_python version:
0.31.0
The text was updated successfully, but these errors were encountered: