-
Notifications
You must be signed in to change notification settings - Fork 42
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
Binary wheels for armv6 #64
Comments
For Raspberry Pi, an alternative could have been to rely on the piwheels project. Unfortunately its infrastructure relies on Debian's Rust which is 1.48 and is too old to build some of the zenoh dependencies (see piwheels/packages#263) |
The ideal solution would be to create a custom manylinux image for armv6 and armv7. Another solution suggested on zenoh Discord by CircleOWO:
|
Hi, @JEnoch, I proposed a PR #66 to resolve this issue. It is a breaking change in the workflows of CI/Release. Any comments are welcome. |
Thanks @YuanYuYuan ! I tested your solution and it works well (see results here: https://pypi.org/project/eclipse-zenoh-nightly/0.6.0.dev20220608/#files). The armv7 wheel works at least in a So I merged you PR, and Github automatically closed this ticket (as the commit includes "resolve #64"). |
Thanks. |
I've added linux armv6l support in PyO3/maturin#966, although we don't have a docker image for brew tap messense/macos-cross-toolchains
brew install arm-unknown-linux-gnueabihf
export CC_arm_unknown_linux_gnueabihf=arm-unknown-linux-gnueabihf-gcc
export CXX_arm_unknown_linux_gnueabihf=arm-unknown-linux-gnueabihf-g++
export AR_arm_unknown_linux_gnueabihf=arm-unknown-linux-gnueabihf-ar
export CARGO_TARGET_ARM_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-unknown-linux-gnueabihf-gcc
pip3 install maturin
maturin build --release --target arm-unknown-linux-gnueabihf --out dist |
FYI, that toolchain is built for glibc 2.17. |
I think all armv6 use cases we saw were "old" Raspberry Pis such as RPi Zero W or RPi 1-B. So I think supporting glibc 2.17 is very fine since for the vast majority of those old hardware their users already moved (or are able to move) to Jessie or even more recent Raspberry OS. Thanks @messense for your great support! We'll try your cross toolchain on GitHub Actions ASAP. |
I confirm that the wheel built with |
Describe the feature
zenoh-python relies on pypa/cibuildwheel to build the binary wheels that are released on pypi.org.
However it doesn't support armv6 and armv7 architectures. The reason being there is no manylinux image available for armv6 nor armv7.
EDIT 2022-06-08:
Thanks to #66 an armv7 wheel is now built. The build now relies on messense/maturin-action which doesn't provide a solution for armv6.
The text was updated successfully, but these errors were encountered: