Fix build breakage on macOS when XCode is not installed. #223
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If the macOS "command-line developer tools" are installed, but XCode
is not, then Bazel will make
ar_executable
point to/usr/bin/libtool
(despite the fact that
ar
andlibtool
are not invoked the same way).https://github.com/bazelbuild/bazel/blob/71932dd4e25d5e755cb8ce12f4dece438c4b5cb1/tools/cpp/unix_cc_configure.bzl#L101
Fix it by checking for that case and overriding it to point to
/usr/bin/ar
(which is a path also hard-coded in the above code). This is not ideal, but I don't
know a good way around it.
Note that
rules_rust
has done a similar workaround:https://github.com/bazelbuild/rules_rust/blob/df95c3e3cd5afd87a69fa71dc9a56a0d0baa7823/rust/toolchain.bzl#L18
Filed an upstream bug: bazelbuild/bazel#5127