-
Notifications
You must be signed in to change notification settings - Fork 8
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
Invalid precompiled binaries for aarch64-linux-gnu
#38
Comments
Hey, thanks for raising this issue. I'll check the GitHub action, I might not actually have an aarch64 build target on there and it looks like the mix precompile library generates them anyways. |
So it seems that I either need to add a cross-compilation job or wait for the public release of the GitHub hosted ARM Linux runners (https://github.blog/changelog/2023-10-30-accelerate-your-ci-cd-with-arm-based-hosted-runners-in-github-actions/). This release says that the runners should be publicly available by Jan 2024, so I plan to wait a bit longer to see if they release these. If that takes too long I'll take another look at adding a cross-compiled option. I can revise the GH Actions to at least not upload an aarch linux build file since that is quite confusing and obviously erroneous. EDIT: Seeing as cc_precompiler seems to support cross-compilation in a straight-forward manner (https://hexdocs.pm/elixir_make/precompilation_guide.html#optional-customise-precompilation-targets) I might give this a go sometime sooner. It might not end up taking a whole lot |
Wow, is it possibly the same that I see in dockerbuilds which started to fail lately
Somehow locally in a docker build 2.17 is being fetched and I have this error while on CI also in docker build it's 2.16 and it works fine. |
After some more investigation I figured that on CI docker was building x86 while on apple silicon is was trying arm. So indeed looks like this issue with the wrong binary for arm. |
Looking at the precompiled binaries in
exgboost-nif-2.17-aarch64-linux-gnu-0.5.0.tar.gz
, they appear to be forx86-64
:Just to confirm my
file
prints architectures correctly, I also tried the precompiled binaries forex_tokenizers
. These are correctly labelled asaarch64
binaries.This issue causes the NIF to fail to load with a
no such file or directory
on a aarch64 linux machine when downloading precompiled binaries.The text was updated successfully, but these errors were encountered: