-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
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
cctools, darwin-bintuils: Don't always bring in headers #31754
cctools, darwin-bintuils: Don't always bring in headers #31754
Conversation
@nixborg build |
Jobset created at https://hydra.mayflower.de/jobset/nixos/pr-31754 |
@nixborg build |
Jobset created at https://hydra.mayflower.de/jobset/nixos/pr-31754 |
libbfd and libopcdes are separate derivations which now provide all headers and libraries. Binutils should just provide executables.
- Give cctools a dev output for the headers - Update Libsystem to grab the headers from that dev output - Don't include the headers in Darwin binutils, just as GNU Binutils no longer does.
ccfef4c
to
652c2be
Compare
@nixborg build |
Jobset created at https://hydra.mayflower.de/jobset/nixos/pr-31754 |
The Perl failure seems like a non-deterministic build parallelism issue? I nuked refs and diffed the logs, and didn't see anything interesting, just permutation of build steps. For some reason the succeeding build did
but the failing one did not before that was needed. |
@nixborg build |
Jobset created at https://hydra.mayflower.de/jobset/nixos/pr-31754 |
oops, failed builds are cached of course, so that was pointless. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not known the Darwin build system, but I expect this to work.
@GrahamcOfBorg build git |
^ for people who can use grahamcofborg, please don't do this :) I'm doing an experiment, intentionally torturing the borg service. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Failure for system: x86_64-darwin
cannot build derivation ‘/nix/store/kji9x5vxhprb9mhv9haak94s0f85wq8r-configd-osx-10.8.5.drv’: 9 dependencies couldn't be built
cannot build derivation ‘/nix/store/ycaqx2iaihwz3k5xq3fqgkmik9ss8h8d-python-2.7.14.drv’: 15 dependencies couldn't be built
cannot build derivation ‘/nix/store/q88hb96wbkpk3fvcjf8mzf121gdll18c-asciidoc-8.6.9.drv’: 4 dependencies couldn't be built
cannot build derivation ‘/nix/store/pidlykxl6lag9s9b9rcxdlqph1vqxzq7-libxml2-2.9.5.drv’: 5 dependencies couldn't be built
cannot build derivation ‘/nix/store/d2r12sccmkh3c1fazqkvavrgllw6ij58-libxslt-1.1.29.drv’: 5 dependencies couldn't be built
cannot build derivation ‘/nix/store/g4i1gjmk24h45m97jnc2fly3q7gp93sa-xmlto-0.0.28.drv’: 9 dependencies couldn't be built
cannot build derivation ‘/nix/store/7yipdwd877g7pj71vxz9faylqix25b91-opensp-1.5.2.drv’: 6 dependencies couldn't be built
cannot build derivation ‘/nix/store/1rfq9r6k10xg70kajrahrrr93i13i26v-docbook2X-0.8.8.drv’: 15 dependencies couldn't be built
cannot build derivation ‘/nix/store/s6ivycd0gf71i3pxv9c31f1xkp88a3da-git-2.15.0.drv’: 32 dependencies couldn't be built
error: build of ‘/nix/store/s6ivycd0gf71i3pxv9c31f1xkp88a3da-git-2.15.0.drv’ failed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Success for system: x86_64-linux
/nix/store/gj9jqm1znmn8m4s7702j9cscahasgjmw-git-2.15.0/share/git/contrib/convert-grafts-to-replace-refs.sh: interpreter directive changed from "/bin/sh" to "/nix/store/4a2z857wf3n3za5jgid7bl456y1nxprg-bash-4.4-p12/bin/sh"
/nix/store/gj9jqm1znmn8m4s7702j9cscahasgjmw-git-2.15.0/share/git/contrib/git-resurrect.sh: interpreter directive changed from "/bin/sh" to "/nix/store/4a2z857wf3n3za5jgid7bl456y1nxprg-bash-4.4-p12/bin/sh"
/nix/store/gj9jqm1znmn8m4s7702j9cscahasgjmw-git-2.15.0/share/git/contrib/git-shell-commands/list: interpreter directive changed from "/bin/sh" to "/nix/store/4a2z857wf3n3za5jgid7bl456y1nxprg-bash-4.4-p12/bin/sh"
/nix/store/gj9jqm1znmn8m4s7702j9cscahasgjmw-git-2.15.0/share/git/contrib/git-shell-commands/help: interpreter directive changed from "/bin/sh" to "/nix/store/4a2z857wf3n3za5jgid7bl456y1nxprg-bash-4.4-p12/bin/sh"
/nix/store/gj9jqm1znmn8m4s7702j9cscahasgjmw-git-2.15.0/share/git/contrib/credential/netrc/test.pl: interpreter directive changed from "/usr/bin/perl" to "/nix/store/b64097cqjfvj5caj7jmhd5c4yhbjdvl0-perl-5.24.3/bin/perl"
/nix/store/gj9jqm1znmn8m4s7702j9cscahasgjmw-git-2.15.0/share/git/contrib/credential/netrc/git-credential-netrc: interpreter directive changed from "/usr/bin/perl" to "/nix/store/b64097cqjfvj5caj7jmhd5c4yhbjdvl0-perl-5.24.3/bin/perl"
/nix/store/gj9jqm1znmn8m4s7702j9cscahasgjmw-git-2.15.0/libexec/git-core/git-subtree: interpreter directive changed from "/bin/sh" to "/nix/store/4a2z857wf3n3za5jgid7bl456y1nxprg-bash-4.4-p12/bin/sh"
/nix/store/gj9jqm1znmn8m4s7702j9cscahasgjmw-git-2.15.0/libexec/git-core/git-gui--askpass: interpreter directive changed from "/bin/sh" to "/nix/store/4a2z857wf3n3za5jgid7bl456y1nxprg-bash-4.4-p12/bin/sh"
checking for references to /tmp/nix-build-git-2.15.0.drv-0 in /nix/store/gj9jqm1znmn8m4s7702j9cscahasgjmw-git-2.15.0...
/nix/store/gj9jqm1znmn8m4s7702j9cscahasgjmw-git-2.15.0
Motivation for this change
Basically the goal is separation of concerns / mirroring GNU Binutils.
Give cctools a dev output for the headers
Darwin binutils don't try to include headers from GNU binutils as it doesn't produce any (that's now the libbfd derivation's responsibility). Also don't include any from cctools; just use the default "out" output not "dev.
The headers are included with Libsystem, which is where I'd guess anything that uses them would be finding them anyways.
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)