Open PiotrCzapla opened 1 day ago
I remembered that there was some discussion about this over at https://github.com/ziglang/zig-pypi/issues/20#issuecomment-2088748050. 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 ship[^1] the MUSL object files libc.musl-x86_64.so.1
, libc.musl-aarch64.so.1
, and those for other Linux architectures) within the repairwheel
wheels as package data, and make them available when trying to repair a MUSL wheel.
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 libc
is required to compile for a potential target: https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
[^1]: I'm not sure where they can be sourced from, though, since I wasn't able to find pre-compiled distributions for them so far.
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'