Skip to content

Commit dd3719f

Browse files
committed
Bump to rules_proto 6.0.2, protobuf v21.7
This works with Bazel 7 on Linux and Windows, but fails on macOS with the error described in detail further below. It also fails on macOS when using Bazel 6 with: ```txt ERROR: external/zlib/BUILD.bazel:37:11: Compiling trees.c [for tool] failed: (Aborted): wrapped_clang failed: error executing command (from target @zlib//:zlib) external/local_config_cc/wrapped_clang '-D_FORTIFY_SOURCE=1' -fstack-protector -fcolor-diagnostics -Wall -Wthread-safety -Wself-assign -fno-omit-frame-pointer -g0 -O2 -DNDEBUG '-DNS_BLOCK_ASSERTIONS=1' ... (remaining 34 arguments skipped) dyld[78138]: missing LC_UUID load command in external/local_config_cc/wrapped_clang dyld[78138]: missing LC_UUID load command ``` The Bazel 6 error we can fix with a `rules_cc` update. The Bazel 7 error we'll fix with a protobuf v28.0 update. --- protobuf v21.7 uses Zlib 1.2.11, and versions v22.0 up until v28.0 use Zlib 1.2.13. These Zlib versions cause the error below when building on macOS with Xcode 16.4 and Clang 17. See: - madler/zlib#895 - llvm/llvm-project#74676 ```txt $ bazel build //... Starting local Bazel server and connecting to it... INFO: Analyzed 2 targets (113 packages loaded, 2278 targets configured). INFO: From Compiling adler32.c [for tool]: In file included from external/zlib/adler32.c:8: external/zlib/zutil.h:170:11: warning: 'OS_CODE' macro redefined [-Wmacro-redefined] 170 | # define OS_CODE 19 | ^ external/zlib/zutil.h:141:11: note: previous definition is here 141 | # define OS_CODE 7 | ^ 1 warning generated. [ ...snip OS_CODE warning from crc32.c:30... ] ERROR: external/zlib/BUILD.bazel:37:11: Compiling zutil.c [for tool] failed: (Exit 1): cc_wrapper.sh failed: error executing CppCompile command (from target @@zlib//:zlib) external/local_config_cc/cc_wrapper.sh -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics ... (remaining 33 arguments skipped) ERROR: external/zlib/BUILD.bazel:37:11: Compiling zutil.c [for tool] failed: (Exit 1): wrapped_clang failed: error executing command (from target @zlib//:zlib) external/local_config_cc/wrapped_clang '-D_FORTIFY_SOURCE=1' -fstack-protector -fcolor-diagnostics -Wall -Wthread-safety -Wself-assign -fno-omit-frame-pointer -g0 -O2 -DNDEBUG '-DNS_BLOCK_ASSERTIONS=1' ... (remaining 35 arguments skipped) [ ...snip OS_CODE warning from zutil.c:8... ] In file included from external/zlib/zutil.c:10: In file included from external/zlib/gzguts.h:21: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:61: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_stdio.h:318:7: error: expected identifier or '(' 318 | FILE *fdopen(int, const char *) __DARWIN_ALIAS_STARTING(__MAC_10_6, __IPHONE_2_0, __DARWIN_ALIAS(fdopen)); | ^ external/zlib/zutil.h:147:33: note: expanded from macro 'fdopen' 147 | # define fdopen(fd,mode) NULL /* No fdopen() */ | ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/17/include/__stddef_null.h:26:16: note: expanded from macro 'NULL' 26 | #define NULL ((void*)0) | ^ [ ...snip two more error messages pointing into __stddef_null.h:26... ] 1 warning and 3 errors generated. ERROR: external/com_frobozz_rules_magic/src/com/frobozz/magic/BUILD:3:12 Building external/com_frobozz_rules_magic/src/com/frobozz/magic/EmitDigestsWorker.jar (1 source file) [for tool] failed: (Exit 1): cc_wrapper.sh failed: [ ...snip repeated CppCompile command error... ] ```
1 parent ac6074e commit dd3719f

File tree

3 files changed

+47
-16
lines changed

3 files changed

+47
-16
lines changed

bootcamp/WORKSPACE

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,35 @@ load("@rules_python//python:repositories.bzl", "py_repositories")
1919

2020
py_repositories()
2121

22+
# Note that `rules_java` 8.x suggests loading `protobuf_deps()` after
23+
# `rules_java_dependencies` and before `rules_java_toolchains()`:
24+
# - https://github.com/bazelbuild/rules_java/releases/tag/8.9.0
25+
#
26+
# `rules_java` 7.x also works with this ordering.
2227
load(
2328
"@rules_java//java:repositories.bzl",
2429
"rules_java_dependencies",
2530
"rules_java_toolchains",
2631
)
2732

2833
rules_java_dependencies()
34+
35+
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
36+
37+
protobuf_deps()
38+
2939
rules_java_toolchains()
3040

31-
load(
32-
"@rules_proto//proto:repositories.bzl",
33-
"rules_proto_dependencies",
34-
"rules_proto_toolchains",
35-
)
41+
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies")
3642

3743
rules_proto_dependencies()
44+
45+
load("@rules_proto//proto:setup.bzl", "rules_proto_setup")
46+
47+
rules_proto_setup()
48+
49+
load("@rules_proto//proto:toolchains.bzl", "rules_proto_toolchains")
50+
3851
rules_proto_toolchains()
3952

4053
load("@com_frobozz_rules_magic//magic:config.bzl", "magic_config")

rules_magic/WORKSPACE

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,35 @@ load("@rules_python//python:repositories.bzl", "py_repositories")
1212

1313
py_repositories()
1414

15+
# Note that `rules_java` 8.x suggests loading `protobuf_deps()` after
16+
# `rules_java_dependencies` and before `rules_java_toolchains()`:
17+
# - https://github.com/bazelbuild/rules_java/releases/tag/8.9.0
18+
#
19+
# `rules_java` 7.x also works with this ordering.
1520
load(
1621
"@rules_java//java:repositories.bzl",
1722
"rules_java_dependencies",
1823
"rules_java_toolchains",
1924
)
2025

2126
rules_java_dependencies()
27+
28+
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
29+
30+
protobuf_deps()
31+
2232
rules_java_toolchains()
2333

24-
load(
25-
"@rules_proto//proto:repositories.bzl",
26-
"rules_proto_dependencies",
27-
"rules_proto_toolchains",
28-
)
34+
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies")
2935

3036
rules_proto_dependencies()
37+
38+
load("@rules_proto//proto:setup.bzl", "rules_proto_setup")
39+
40+
rules_proto_setup()
41+
42+
load("@rules_proto//proto:toolchains.bzl", "rules_proto_toolchains")
43+
3144
rules_proto_toolchains()
3245

3346
load("@com_frobozz_rules_magic//magic:config.bzl", "magic_config")

rules_magic/magic/deps.bzl

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,17 @@ def rules_magic_deps():
1616
maybe(
1717
http_archive,
1818
name = "rules_proto",
19-
sha256 = "dc3fb206a2cb3441b485eb1e423165b231235a1ea9b031b4433cf7bc1fa460dd",
20-
strip_prefix = "rules_proto-5.3.0-21.7",
21-
urls = [
22-
"https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz",
23-
"https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz",
24-
],
19+
sha256 = "6fb6767d1bef535310547e03247f7518b03487740c11b6c6adb7952033fe1295",
20+
strip_prefix = "rules_proto-6.0.2",
21+
url = "https://github.com/bazelbuild/rules_proto/releases/download/6.0.2/rules_proto-6.0.2.tar.gz",
22+
)
23+
24+
maybe(
25+
http_archive,
26+
name = "com_google_protobuf",
27+
sha256 = "75be42bd736f4df6d702a0e4e4d30de9ee40eac024c4b845d17ae4cc831fe4ae",
28+
strip_prefix = "protobuf-21.7",
29+
url = "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v21.7.tar.gz",
2530
)
2631

2732
maybe(

0 commit comments

Comments
 (0)