I use Julia on a Docker container which is running on Raspberry Pi 3.
Till now I have cross-compiled our company application using Julia 1.4.1 and it was perfectly working if I specified the cpu target armv8-a.
Docker build: docker buildx build --platform linux/armhf --load -t $tag .
Julia line in Dockerfile: RUN julia -e using PackageCompiler; create_sysimage([:TOML, :DSP], replace_default=true, cpu_target="armv8-a", precompile_execution_file="precompile.jl");
A couple of days ago I moved to the new Julia 1.5.2 and the cross-compilation failed. I did not notice that the arm32/v7 is not supported anymore. What are the reasons that made the support for arm32 discontinue?
Anyone found a way to cross-compile for Raspberry Pi?
Julia may or may not build. If it does, it is unlikely to pass tests. Binaries may be available in some cases. When they are, they should be considered experimental. Ongoing support is dependent on community efforts.
Looks like armv7 was changed from “Tier 2” to “Tier 3” in March of this year due to “build failures and other issues”.
Thank you for linking the issue. Many embedded systems are based on the armv7 architecture and thus we need to build julia ourselves, or change the embedded system and discontinue the old hardware.
Before doing anything, I’d like to understand the build failures or library issues. Any more information on the traps? So I save time getting out of…
Thanks!
I would suggest asking in that PR. Also, if it’s “only” a matter of someone digging into various issues and you are willing to help out, perhaps it could be brought back to Tier 2 when they are resolved.