mirror of
https://github.com/google/brotli.git
synced 2026-07-08 17:56:58 +00:00
Missing aarch64 wheels #387
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @odidev on GitHub (Apr 28, 2021).
Problem:
On aarch64 architecture,
pip install Brotlidownloads the source distribution of it and build it. Directly downloading the wheel file and installing the same is quite efficient rather than building and installing from the source code. Also, it requires development environments to be installed on the user's machine.Overall, it is painful to install
Brotlion aarch64 as it doesn't have aarch64 wheels on PyPi.Resolution:
pipshould be able to download aarch64 wheels from PyPi and install same.@eustas and team, please let me know your interest here. I can help you in building and uploading aarch64 wheels on PyPi.
@anthrotype commented on GitHub (Apr 28, 2021):
IIUC aarch64 is the tag that gets used for the new macs with Apple M1 chip, right?
yes, it'd be great if you could help setting up the CI for builing aarch64 wheels. We build them in this repo: https://github.com/google/brotli-wheels
@odidev commented on GitHub (Apr 29, 2021):
Yes, you are correct. I have raised PR: https://github.com/google/brotli-wheels/pull/13 to release aarch64 Linux wheels.
@anthrotype commented on GitHub (Aug 11, 2021):
before I got confused between
aarch64andarm64wheels: the former tag is used only for linux, whereas the latter is only used for macOS, even though the architecture is basically the same.Anyway, I made some progress over at https://github.com/google/brotli-wheels/, it's now building both aarch64 (linux) and arm64 (mac) wheels. However the aarch64 linux wheels require emulation (via qemu) and the build is super slow... (about 11 minutes for each python, and there's 5 of them from 3.6 through to 3.10, so it takes about 1 hour, still ongoing while I'm writing this)
Apparently this is a know issue and @odidev himself is working on making cibuildwheel able to cross-compile aarch64 on a x86_64 machine.
I'm tempted to not build aarch64 for now, until https://github.com/pypa/cibuildwheel/issues/598 is done..
@anthrotype commented on GitHub (Aug 11, 2021):
i'm now running the aarch64 jobs in distinct parallel jobs, the total runtime is a little more than 20 minutes to build around 34 wheels (for multiple combinations of pythons and platforms)
https://github.com/google/brotli-wheels/actions/runs/1120860508
I think that's ok after all. If we didn't run the brotli test suite it could go even faster, but it's probably good to keep testing, as the upstream repo doesn't test all possible combinations (rightly so).
@anthrotype commented on GitHub (Aug 11, 2021):
I have uploaded to PyPI the
aarch64linux wheels as well as the macuniversal2wheels (containing bothx86_64andarm64binaries). You can find them at https://pypi.org/project/Brotli/1.0.9/#filesI downloaded them from the artifact.zip file that the brotli-wheels Github Actions pipeline generated (https://github.com/google/brotli-wheels/actions/runs/1120967704), and then uploaded them manually using twine.
Upon the next brotli release, they should be uploaded automatically (provided I manage to set the encrypted secret https://github.com/google/brotli-wheels/issues/5)
@anthrotype commented on GitHub (Aug 11, 2021):
@eustas this issue can be closed, thanks
@eustas commented on GitHub (Aug 12, 2021):
@anthrotype Thanks to you!