Open jpruciak opened 2 years ago
This diff fixes it for musllinux, I've not worked on getting manylinux working.
diff --git a/src/auditwheel/policy/__init__.py b/src/auditwheel/policy/__init__.py
index a1a30ca..274cbcd 100644
--- a/src/auditwheel/policy/__init__.py
+++ b/src/auditwheel/policy/__init__.py
@@ -88,6 +88,7 @@ def _fixup_musl_libc_soname(whitelist):
"s390x": "libc.musl-s390x.so.1",
"ppc64le": "libc.musl-ppc64le.so.1",
"armv7l": "libc.musl-armv7.so.1",
+ "riscv64": "libc.musl-riscv64.so.1",
}
}
new_whitelist = []
diff --git a/src/auditwheel/policy/musllinux-policy.json b/src/auditwheel/policy/musllinux-policy.json
index b103099..f2f6a06 100644
--- a/src/auditwheel/policy/musllinux-policy.json
+++ b/src/auditwheel/policy/musllinux-policy.json
@@ -21,6 +21,8 @@
"s390x": {
},
"armv7l": {
+ },
+ "riscv64": {
}
},
"lib_whitelist": ["libc.so", "libz.so.1"],
@@ -42,6 +44,8 @@
"s390x": {
},
"armv7l": {
+ },
+ "riscv64": {
}
},
"lib_whitelist": ["libc.so", "libz.so.1"],
This would first need a manylinux image, so I suggest opening an issue there. That will need some sort of public CI system which has RISC-V runners. I don't think Travis or GH Actions supports RISC-V at the moment, but I could be wrong. These would be the minimum requirements to add support for the platform.
RISC-V support can be enabled using qemu-user-static based actions for runners on github actions eg. using this: https://github.com/docker/setup-qemu-action
AFAIK this is the same way as running armv7 on actions.
Also I think that manylinux image is totally another problem, auditwheel can support repairing wheels but without official support from manylinux images side. When they will decide to include RISC-V compatible image for manylinux (Alpine stable still doesn't support riscv, so musllinux is no way atm anyway) - the path will be clear as auditwheel would support it already.
Anyway I created the issue: https://github.com/pypa/manylinux/issues/1425
Also I think that manylinux image is totally another problem, auditwheel can support repairing wheels but without official support from manylinux images side.
We use the manylinux images in the test suite, and without a riscv64 image we can't test if auditwheel is working correctly on this platform. Thanks for filing the issue in manylinux.
We use the manylinux images in the test suite, and without a riscv64 image we can't test if auditwheel is working correctly on this platform.
I think this could be added as an untested ALPHA feature. Anyway, we'll always be in a chicken & egg situation (manylinux requires auditwheel, we can't have an image without support in auditwheel).
As far as I could see:
I updated https://github.com/mayeut/pep600_compliance/commit/4b6a18a885d76db5e3ec390efeb834774dccc591 and added some manylinux policies in there.
I'm open to a PR adding those policies & the bits missing in auditwheel as long as support is marked experimental if @lkollar agrees.
@JuniorJPDJ, you'll want to make sure pip gets proper support for this as well (through packaging). As of now, this is not the case. PyPI will also refuse riscv64 uploads as of now.
As it involves multiple python packaging projects, I advise you to create a discussion at https://discuss.python.org/c/packaging/14
I was talking with alpine maintainers about riscv support and they said as long as they do not have server-grade riscv boards for builders it's no go for stable. Edge/rolling supports RISC-V for a while already. Seeing this supported as experimental would be good enough for me, as I just want to build packages for private repositories in Funkwhale project.
https://wiki.alpinelinux.org/wiki/Riscv64
RISC V's first release into Alpine Linux was in v3.20.
In terms of public CI system which has RISC-V runners, this GitHub action promises to do the trick. There are also others, which do seem to require running the runner on self-hosted hardware.
When running auditwheel on linux_riscv64 wheel it crashes.
It looks like policies for musllinux and manylinux are missing.