-
Notifications
You must be signed in to change notification settings - Fork 3
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
Repairwheel breaks on musllinux (via cibuildwheel) #43
Comments
I remembered that there was some discussion about this over at ziglang/zig-pypi#20 (comment). Opening an issue here slipped out of my mind back then, so, thanks for this, @PiotrCzapla! |
One (hacky) way to provide cross-platform support for this could be to ship1 the MUSL object files This is on similar lines to what Zig does for its highly coveted cross-compilation support across platforms/architectures – as a white lie, it ships a copy of whatever Footnotes
|
Thank you for prompt replay. While cross-compilation is appealing, it adds another layer of complexity, and we'll already be dealing with enough challenges when compiling with CUDA, Vulkan, support. For the time being we utilize repairwheel only during the |
I originally built this tool to use with cross compilation workflows, so that's a big requirement. The issue with musl is that - if I understand correctly - there's no way to tell that a binary is linked to musl libc - or which version of musl libc - just by looking at it. Supporting musl should be possible - I just don't know of a way to do so automatically while also supporting the cross compilation workflow. Maybe a CLI param or environment variable that specifies the musl version. |
Hi,
I've added the repairwheels step to setup.py and it is working fine. Unfrotunately your tool breaks when run via cibuildwheel on musllinux. I seems that you ship with audittool that only works for manylinux.
I've tested the audittool installed stand alone and it works as it ships with different set of platforms on musllinux, but it fails when run via repairwheel.
Have a look,
But it breaks when run via repairwheel:
to replicate this issue use docker 'musllinux_1_2_x86_64'
docker run -it quay.io/pypa/musllinux_1_2_x86_64:2024.10.07-1 /bin/sh
Then pip install repair tool:
/opt/python/cp38-cp38/bin/python -m pip install repairwheel
and try to run repairwheel with
AUDITWHEEL_PLAT='musllinux_1_2_x86_64'
The text was updated successfully, but these errors were encountered: