-
Notifications
You must be signed in to change notification settings - Fork 294
Description
Description
I'm currently working on a pull request (chatnoir-eu/chatnoir-resiliparse#34) enabling Linux ARM64 wheel builds for a certain package.
They use a special manylinux container since they need some other dependencies available in their build environment. I already prepared containers for both x86_64 and aarch64 that are available here (built from this Dockerfile and this workflow):
- https://github.com/jonded94/chatnoir-resiliparse/pkgs/container/resiliparse-manylinux_2_28_x86_64
- https://github.com/jonded94/chatnoir-resiliparse/pkgs/container/resiliparse-manylinux_2_28_aarch64
Trying both of these out locally works without a problem; I'm working on a Linux x86_64 machine and ran the aarch64 docker container through QEMU.
The wheel builds on Linux x86_64 work without a problem, but unfortunately the aarch64 one crashes: https://github.com/jonded94/chatnoir-resiliparse/actions/runs/8109883876/job/22165995057
Starting container image ghcr.io/jonded94/resiliparse-manylinux_2_28_aarch64...
info: This container will host the build for cp38-manylinux_aarch64, cp39-manylinux_aarch64, cp310-manylinux_aarch64, cp311-manylinux_aarch64, cp312-manylinux_aarch64...
Unable to find image 'ghcr.io/jonded94/resiliparse-manylinux_2_28_aarch64:latest' locally
latest: Pulling from jonded94/resiliparse-manylinux_2_28_aarch64
no matching manifest for linux/amd64 in the manifest list entries
It's correctly detecting that it wants to build aarch64 wheels now, correctly chooses the resiliparse-manylinux_2_28_aarch64 image but apparently tries to execute it in x86_64 mode: no matching manifest for linux/amd64 in the manifest list entries. This is also apparent through the executed docker command: ['docker', 'create', '--env=CIBUILDWHEEL', '--env=SOURCE_DATE_EPOCH', '--name=cibuildwheel-b6474ae9-7c52-468f-96c7-d91c73f4ae12', '--interactive', '--volume=/:/host', 'ghcr.io/jonded94/resiliparse-manylinux_2_28_aarch64', '/bin/bash']. Here, it should say --platform linux/arm64/v8 but that's missing.
The workflow that executes these wheel builds is this one here: https://github.com/jonded94/chatnoir-resiliparse/blob/develop/.github/workflows/build-wheels.yml
Build log
https://github.com/jonded94/chatnoir-resiliparse/actions/runs/8109883876/job/22165995057