bazelbuild / bazelbuild/rules_cc

toolchain: Apple CC toolchain not found when adding a hermetic toolchain

Open
#577 3 comments 0 reactions 0 assignees View on GitHub
category: toolchains
Dominant language
Starlark
Stars
247
Forks
196
PR merge metrics
No merged PRs in 30d

Description

I'm trying to update our project to start using hermetic toolchains. But **after adding the "toolchains_llvm" rule I get the following error**:

```log
ERROR: /Users/jagoba/projects/salto/saltosystems-internal/srpc/framework/ble/platform/macos/BUILD:6:13: in objc_library rule //ble/platform/macos:ble_macos:
Traceback (most recent call last):
File "/virtual_builtins_bzl/common/objc/objc_library.bzl", line 59, column 52, in _objc_library_impl
File "/virtual_builtins_bzl/common/objc/semantics.bzl", line 32, column 13, in _check_toolchain_supports_objc_compile
Error in fail: Compiling objc_library targets requires the Apple CC toolchain which can be found here: https://github.com/bazelbuild/apple_support#toolchain-setup
```

Our project contains Objective-C code that only builds on Macos. And compiles and runs fine when I use `rules_cc` with the auto detected toolchain.

```bazel
load('@rules_cc//cc:defs.bzl', 'objc_library')

objc_library(
name = 'ble_macos',
srcs = ['ble_macos.m'],
hdrs = ['ble_macos.h'],
sdk_frameworks = ['CoreBluetooth'],
target_compatible_with = ["@platforms//os:macos"],
)
```

Here's my `MODULE.bazel` file for reference:

```bazel
bazel_dep(name = "apple_support", version = "2.2.0", repo_name = "build_bazel_apple_support")
# important apple_support must come above rules_cc
bazel_dep(name = "rules_cc", version = "0.2.16")

# Adding these lines throws the error above
bazel_dep(name = "toolchains_llvm", version = "1.6.0")
# Configure and register the toolchain.
llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm")
llvm.toolchain(
llvm_version = "20.1.0", # https://releases.llvm.org/
)
use_repo(llvm, "llvm_toolchain")
register_toolchains("@llvm_toolchain//:all")
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.