Closed jalaziz closed 2 years ago
So the issue has to do with arm64 defaulting to unsigned char
. I pushed a fix here: https://github.com/jalaziz/cyksuid/commit/336ffc69a525a740dfb3cd9758ab988dd6b0fe55.
However, it then fails to build with gcc: error: cyksuid/fast_base62.cpp: No such file or directory
(as expected due to the cython build only working via setup.py).
I then looked into fixing the github actions pipeline, but I see they don't offer arm64 runners. Seems like the workaround would be to handle the builds in docker images or ensure cross-compilation works on the ubuntu images.
I can try to look into that later.
I got aarch64 builds working on linux: https://github.com/jalaziz/cyksuid/tree/fix-arm64-build
That being said, it looks we end up building the CPP files twice, once by the setup.py
call and then by cibuildwheel
. However, the setup.py
call is needed to cythonize the files.
I then looked into fixing the github actions pipeline, but I see they don't offer arm64 runners. Seems like the workaround would be to handle the builds in docker images or ensure cross-compilation works on the ubuntu images.
The only way to build arm64 wheels is to use qemu, which is rather slow, it takes ~30min+ to finish:(
Tests is addressed here: #28
Or maybe I should use travis to build linux aarch64 wheels
aarch64 wheels will be handled in #29
Thank you!
When installing
cyksuid
in an arm64 (aarch64) Linux docker image, the build fails:As a side note, it appears that the build is not generating wheels for Linux arm64.