-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
boost: fix cross-compilation for Darwin #346954
Conversation
be11d73
to
cbb55e8
Compare
ee7fb7e
to
183877a
Compare
@@ -40,6 +40,9 @@ stdenv.mkDerivation { | |||
postPatch = '' | |||
substituteInPlace src/build-system.jam \ | |||
--replace "default-toolset = darwin" "default-toolset = clang-darwin" |
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.
--replace "default-toolset = darwin" "default-toolset = clang-darwin" | |
--replace-fail "default-toolset = darwin" "default-toolset = clang-darwin" |
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.
Latest push drops this replacement because it fails with --replace-fail
. It appears upstream has made clang the default.
The nixfmt-check errors are for files not included in this PR. |
cbb55e8
to
f42c518
Compare
183877a
to
1fd30e4
Compare
65e4ae4
to
a3bf6f7
Compare
a3bf6f7
to
2e8c666
Compare
a240201
to
4112f1a
Compare
Upstream defaults to clang on Darwin now instead of GCC. This substitution doesn’t do anything.
b2 tries to invoke the linker without a prefix, which fails.
2e8c666
to
6bda1a3
Compare
a1adff0
to
e3f2829
Compare
# Upstream uses arm64, but nixpkgs uses aarch64. | ||
substituteInPlace src/tools/clang.jam \ | ||
--replace-fail 'arch = arm64' 'arch = aarch64' |
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 wonder if we should consider adding aliases for this to our LLVM build at some point…
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.
seems like the replace-fail should be replace-warn as older boosts are breaking here. and think that the default-toolset should be added back due to older boosts as well, using replace-warn
.
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.
see #350658
Bisect says 90df0c3
|
It also needs investigating to see whether any of those older versions of Boost still need the |
Darwin needs a few tweaks to cross-compile Boost. This depends on #346043.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.