Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants