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
[DOCKER] Docker build failing on arm - cryptography requires Rust #565
Comments
Thanks for the report! Pinning cryptography==3.4.8 would work but is of course not ideal. I tried installing rust first:
And then installing cryptography. This works but takes more than 5 minutes (I'm experimenting on rPi), so also not great. It would be best if we could get pip to use binary wheels. |
Filed an issue (more like a support request) in the cryptography repo: pyca/cryptography#6342 |
OK, so cryptography does not provide (and don't plan to provide) 32-bit arm wheels. Healthchecks needs the fido2 library for WebAuthn support. There is https://www.piwheels.org/ – a wheel repository for Raspberry Pi. I tested it out:
But I'm not sure what to do with the Dockerfile. It seems wrong to add the piwheels repository for all architectures. |
I know what you mean. Probably makes more sense to build it from source instead and take the 5 min build time. |
I updated the Dockerfile to use the prebuilt wheels from piwheels.org but only if the architecture is
The alternative of installing rust and building cryptography from source is problematic on |
0009 is used to patch cryptography version used because of: healthchecks/healthchecks#565
0009 is used to patch cryptography version used because of: healthchecks/healthchecks#565
0009 is used to patch cryptography version used because of: healthchecks/healthchecks#565
* Update README.md * add license, the same used in imgtool repo * add patches, apply them on top of 1.8.0 0009 is used to patch cryptography version used because of: healthchecks/healthchecks#565 * [WIP] add first draft of release wf [TODO] remove hardcoded version and use ${GITHUB_REF/refs\/tags\//} add bash as default shell to find zip on win use 7zip on win to archive, zip is not installed by default remove ${{ github.workspace }} from win, it does not get expanded correctly * fix mac archive being corrupted tar in macos is not working correctly on the ghactions hosted runners actions/runner-images#2619 * add build using qemu and crosscompile with docker containers * fix path of volume binding, without the absolute path the volume is empty * fix permission problem: dist dir is created in the container with different user/grp * try to fix armv6 and v7 * install all qemu platforms, the build time does not increase * use version 4.2 of pyinstaller [it has the bootloader 🎉 for Linux-32-arm] pyinstaller/pyinstaller#6532 (comment) * use arm32v5 instead of arm32v6 as target arch. Debian is not available for armv6. arm32v6 arch should be able to run arm32v5 binaries * test for pyinstaller guys * bring back runner version because of glibc too recent * try to run file produced by pyinstaller * fix imgtool not starting. imgtool has to be run from `scripts/` folder and not from `imgtool/` one. Otherwise it will pick up the wrong main.py * use `env.PROJECT_NAME` * finalize CI: add correct trigger, create-release step, step names & cleanup * Apply suggestions from code review Co-authored-by: per1234 <accounts@perglass.com> * better organize the print output Co-authored-by: per1234 <accounts@perglass.com> * use env vars to factor out path strings Co-authored-by: per1234 <accounts@perglass.com>
With the latest Cryptography update (35.0.0), the
CRYPTOGRAPHY_DONT_BUILD_RUST
env var is ignored and rust is now required to build cryptography. This breaks Docker on arm again, which was originally fixed in #492.The text was updated successfully, but these errors were encountered: