-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
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
gcc: fix Hydra builds for bootstrapTools.mips64el-linux-gnuabin32 #185284
Conversation
Our gcc builder creates lib64->lib links to ensure that the "primary" libraries for the targetPlatform wind up in $PREFIX/lib. This is required in order for make-bootstrap-files.nix to work correctly. On mips, gcc follows the somewhat awkward IRIX convention of putting mips32 binaries in `lib` and mips64n32 binaries in `lib32`. So we need similar symlinks there. This may come up on other ILP32 platforms as well, so a general-purpose variable name is provided.
On mips, gcc follows the somewhat awkward IRIX convention of putting mips64 binaries in `lib64` and mips64n32 binaries in `lib32`. So on mips64n32 we do not want the `lib64` symlinks.
This commit factors out the conditional which creates the `lib64->lib` symlink in the `preInstall` phase, and calculates its value in nix code rather than bash code so touching it doesn't cause a global rebuild on every platform.
Using
|
Note that the |
This Hydra build is the first one to include this PR, so it ought to produce a working bootstrap-files. |
Hmm, yes: https://hydra.nixos.org/eval/1777726?filter=mips |
Nice: #188334
When I click the link above, I see the failures, all for attrnames of the form Hydra should never attempt to build Indeed, there are a ton of Hydra failures in this category; I count 17 of them: https://hydra.nixos.org/eval/1777726?filter=.bootstrapTools&compare=1777572&full=#tabs-still-fail I'm preparing a PR to fix this. |
The fix is #188339. |
Description of changes
The Hydra builds for
bootstrapTools.mips64el-linux-gnuabin32.build
are currently failing due tomake-bootstrap-files.nix
expecting to find libraries in$PREFIX/lib
, whereas on mips gcc uses the slightly awkward IRIX convention:We already work around a similar problem on x86_64 by creating symlinks from
lib64
tolib
. This PR disables that workaround ifisMips64n32
and enables an analogous workaround to linklib32
tolib
.Things done
hello
)./result/bin/
)