Skip to content

darwin/make-bootstrap-tools: move "lib" from install name to rpath#124228

Merged
jonringer merged 1 commit intoNixOS:masterfrom
thefloweringash:bootstrap-rpath
May 26, 2021
Merged

darwin/make-bootstrap-tools: move "lib" from install name to rpath#124228
jonringer merged 1 commit intoNixOS:masterfrom
thefloweringash:bootstrap-rpath

Conversation

@thefloweringash
Copy link
Copy Markdown
Member

The rpath structure for the bootstrap tools was reworked to minimize
the amount of rewriting required on unpack, but the test was not
updated to match the different structure.

Additionally [1] builds that use the bootstrap version of libc++
cannot find libc++abi if the reference includes the "lib"
component (ie, libc++ refers to libc++abi with
@rpath/lib/libc++abi.dylib).

[1] https://logs.nix.samueldr.com/nix-darwin/2021-05-18#4993282

Test failure observed on Hydra: https://hydra.nixos.org/build/143130126

Motivation for this change

Fix channel blocking bootstrap tools test.

Tested the test attribute of bootstrap tools, but not the resulting full stdenv rebuild.

cc @toonn

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Added a release notes entry if the change is major or breaking
  • Fits CONTRIBUTING.md.

The rpath structure for the bootstrap tools was reworked to minimize
the amount of rewriting required on unpack, but the test was not
updated to match the different structure.

Additionally [1] builds that use the bootstrap version of libc++
cannot find libc++abi if the reference includes the "lib"
component (ie, libc++ refers to libc++abi with
@rpath/lib/libc++abi.dylib).

[1] https://logs.nix.samueldr.com/nix-darwin/2021-05-18#4993282

Test failure observed on Hydra: https://hydra.nixos.org/build/143130126
@ofborg ofborg bot added the 6.topic: darwin Running or building packages on Darwin label May 24, 2021
@github-actions github-actions bot added the 6.topic: stdenv Standard environment label May 24, 2021
@ofborg ofborg bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. labels May 24, 2021
@toonn
Copy link
Copy Markdown
Contributor

toonn commented May 24, 2021

This seems to have solved two of my problems. I cherry-picked this commit then generated an LLVM 11 bootstrap-tools (from LLVM 7 bootstrap-tools and stdenv, this part already worked). I then used this LLVM 11 bootstrap-tools in generating another LLVM 11 bootstrap-tools, this time based on an LLVM 11 stdenv. Another step closer to LLVM 11 stdenv for x86_64 darwin! \o/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: darwin Running or building packages on Darwin 6.topic: stdenv Standard environment 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants