-
Notifications
You must be signed in to change notification settings - Fork 13
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
Enable build of linux-aarch64 wheels #34
Conversation
EDIT: Solved with merged PR #37 |
This is a great idea. It so happens that the Common Crawl Foundation mostly uses linux ARM cloud machines because they are cheaper to rent. Thank you for this PR. |
Hey :) What is the status on this PR? Not having linux ARM wheels still blocks usage of Is there anything I can do? Maybe skip testing of the ARM wheels, only build them through QEMU? |
Hi sorry, |
Since I stumbled upon a weird issue (pypa/cibuildwheel#1771) where Note that |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great. Is this ready to merge from your part? Could you do a rebase before?
All is done now; PR should be ready to merge :) Sorry for the long time that this took. |
The first aarch64 builds are up. Please test. |
Great to hear! Some idea that I use currently at my company to circumvent the entire cross-compilation situation: One could use the Mac M-series runners and spawn the Manylinux ARM Linux docker container natively in them. I'm not too familiar with which settings one would have to overwrite in That should reduce the build times back to <=5min I guess. |
That would probably be as easy as just running everything inside the Linux Docker image on the macOS-14 runner. A disadvantage would be that you cannot easily express that as a simple build matrix. My last experiments with the native M1 runners failed (for other reasons), but it might be worth trying that again. |
Currently, only Mac Intel/ARM, Windows x86_64 and Linux x86_64 wheels are being built in this repository.
It would be nice if Linux ARM wheels could also be available, for example:
For that I prepared this PR.
Disadvantages:
libc requirements
Because of
I was unable to get this to work with
manylinux2014
and had to switch all the way to2_28
since2_24
is deprecated and EOL.This obviously has the implication that the wheel no longer consumable by OS's that have a libc <
2_28
. This should not be of concern for ARM machines at least since one could expect that they run on relatively new hardware/OS's anyways. Don't know how you feel about that though! One could of course build Linux x86 wheels on the oldermanylinux
version, but that would slightly increase complexity in the Dockerfile.CI times
I noticed a rough ~5x increase of CI times since all the ARM Wheel builds and tests are run through QEMU which is notoriously slow.