-
Notifications
You must be signed in to change notification settings - Fork 698
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
"include/GFp/check.h:27:11: fatal error: 'assert.h' file not found" on M1 apple silicon computers #1332
Comments
Usually you must set TARGET_CC and TARGET_AR, or equivalent, when cross-compiling. PTAL at .github/workflows/ci.yml and mk/cargo.sh in this repo to see how. |
@brainstorm Did the advice I give you above resolve this for you? |
Thanks for the followup @briansmith! It did not resolve it yet because my usecase depends heavily on the SAM cli but I bet I'd work with regular docker containers (without the SAM tool wrapping)... I've been hitting some limitations there as xref'd on this issue above :/ The env vars you mentioned and pointed to in the CI and .mk are all triplets, right? What would you put in |
There are hoops that have to be jumped through to get a working C toolchain that targets Linux from a Mac host, especially for a I know that setting up the sysroot is annoying and I'm hoping we can provide better support for this scenerio soon. I hope others that are already doing this can help with hints and/or scripts to help set up the sysroot for now. |
@briansmith Thanks for the assistance and patience, I finally managed to sort this out in aws/aws-sam-build-images#26 (comment) |
Reopening since this is not fully solved. @nmoutschen got one step forward using
@briansmith Do you have any further suggestions on what might be going wrong here? It's interesting that Graviton2 ARMs work fine but not Apple Silicon M1s... as mentioned before though, ideally |
Similar issue noted on #1374, this issue tracks non-MUSL cross-compiling of |
Sans
Now, digging into this specific error, there's
After following its logic, I suspect that the mapping of M1 to its underlying ASM (pregenerator?) is not defined yet (and so it defaults to
I'll check through the issues/PRs if somebody started work defining this mapping... |
Scratch the previous observations, passing the ("right"?)
We run into a long chain of
|
And then running with the latest stable Rust 1.56 without setting
Then installing this GCC cross compiler ( |
try
|
When I set my environment variable |
Thanks! This worked for me as well. |
Closing since this seems like it was resolved for people and because I build on an M2 all the time. |
Hello @briansmith,
I'm trying to cross-compile
ring
on an Apple Silicon M1 to deploy an AWS lambda (target is aprovided.al2
Amazon linux container that should generate ax86_64-unknown-linux-gnu
), but I'm facing the following issue:Here's a quick reproducer:
The text was updated successfully, but these errors were encountered: