Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upservo-linux-cross2 is having trouble building arm64 #683
Comments
jdm
commented
May 30, 2017
|
Haven't seen this for a long time. |
|
Saw this again on servo-linux-cross1 today in servo/servo#18821. |
|
This happened for both arm32 and arm64 in servo/servo#18821, both times on servo-linux-cross1. |
|
Both arm32 and arm64 failed both times, and across all of servo-linux-cross1, servo-linux-cross2, and servo-linux-cross3. I wish I could get ahold of the config.log files that were generated for those builds :( |
|
|
The argument in question comes from https://github.com/alexcrichton/cc-rs/blob/a84c5ee84e1a18091dd8c46b45912567fde9dbda/src/lib.rs#L614-L619 but I'm still confused how this sometimes works and sometimes does not. |
|
Apparently when the build succeeds, the command executed is this instead:
Specifically, the -m64 is missing. The failing log was retried from |
|
Accordingly, the two configure scripts are invoked slightly differently: Successful: |
|
Cargo is definitely building backtrace-sys with an unexpected target, according to this output:
|
|
CC @alexcrichton, in case you’ve seen this before or have some idea what’s going on. |
|
Well, either it's an unexpected target, or it's expected but cc-rs is finding the wrong compiler for it (perhaps we're setting CC somehow before the backtrace-rs build script is invoked?). |
|
Ok, so the compiler is being set to the cross binary by the build environment in saltfs/buildbot/master/files/config/environments.py Lines 113 to 144 in df07d3a |
|
Oh, I know why this is hitting us on servo/servo#18821 - the new version of metadeps uses error-chain 0.10, which depends on backtrace. dbus and x11-rs both have a build dependency on metadeps, which means that we now compile backtrace for the host system, leading to the situation where we end up selecting the wrong compiler. |
|
Interesting! Perhaps this is a case where the env var should be |
|
That sounds like a good solution; thanks! |
Specify compilers only for cross-compilation This should fix #683. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/saltfs/732) <!-- Reviewable:end -->