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

manylinux1_aarch64 is an undefined platform but gets built #1972

Closed
Rot127 opened this issue Aug 15, 2024 · 5 comments
Closed

manylinux1_aarch64 is an undefined platform but gets built #1972

Rot127 opened this issue Aug 15, 2024 · 5 comments

Comments

@Rot127
Copy link

Rot127 commented Aug 15, 2024

Description

According to pypi/warehouse#6599 (comment) and pypa/manylinux#84 manylinux1 is not defined for AArch64.

But cibuildwheel generates wheels which are named manylinux1_aarch64 if:

          CIBW_ARCHS_LINUX: "x86_64 i686 aarch64"
          CIBW_BUILD: "cp38-* cp39-* cp310-* cp311-* cp312-*"

The consequence is that pypi rejects the built wheel with:

ERROR    HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/        
         Binary wheel                                                           
         'capstone-5.0.2-py3-none-manylinux1_aarch64.manylinux_2_17_aarch64.many
         linux2014_aarch64.whl' has an unsupported platform tag                 
         'manylinux1_aarch64'.

Build log

No response

CI config

No response

Rot127 added a commit to Rot127/capstone that referenced this issue Aug 15, 2024
Rot127 added a commit to Rot127/capstone that referenced this issue Aug 15, 2024
- Win32 never builds a 32bit binary.
- Linux AArch64 is build for undefined platform manylinux1_aarch64 (pypa/cibuildwheel#1972)
Rot127 added a commit to Rot127/capstone that referenced this issue Aug 15, 2024
- Win32 never builds a 32bit binary.
- Linux AArch64 is build for undefined platform manylinux1_aarch64 (pypa/cibuildwheel#1972)
@henryiii
Copy link
Contributor

Auditwheel is likely noticing you don’t use anything past manylinux1 and is setting that. I think either auditwheel needs to have an arch dependent floor or PyPI needs to accept tags that never had a supported image to build it. I think the correct way to do it is the former, though.

@mayeut
Copy link
Member

mayeut commented Aug 15, 2024

The tag does not come from auditwheel.
Auditwheel will only ever replace a linux_{arch} tag however in https://github.com/capstone-engine/capstone/blob/v5/bindings/python/setup.py#L214, the platform is manually set to manylinux1. This tag does not get replaced.

@henryiii
Copy link
Contributor

That would do it. :)

@Rot127
Copy link
Author

Rot127 commented Aug 16, 2024

Oh boy. Now I feel stupid. Thanks a lot :D
Really did not expect this is someone would do.

@Rot127
Copy link
Author

Rot127 commented Aug 16, 2024

So there is still the problem that out setup.py injects --plat_name into argv because it won't get set by -m build wheel (I think?). But this is a separated issue and is probably the fault of the 8-10year old Python code there.
@mayeut Thanks again. Nothing makes one quicker awake than old hard-coded fixes you never expect to be there in the first place.

@Rot127 Rot127 closed this as completed Aug 16, 2024
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

No branches or pull requests

3 participants