Я строю свой проект C ++ с использованием Bazel на macOS, и я добавил gRPC в качестве одного из deps
К вашему сведению, я успешно собрал с теми же настройками в Linux, но в macOS у меня ничего не вышло.
WORKSPACE
git_repository(
name = "com_github_grpc_grpc",
remote = "https://github.com/grpc/grpc",
tag = "v1.20.1"
)
load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
grpc_deps()
и файл сборки для моего модуля
a.BUILD
cc_library(
name = "s12",
srcs = glob(
["**/*.cc"],
),
hdrs = glob(
["**/*.h",],
),
deps = [
"@com_github_grpc_grpc//:grpc++",
"@com_google_protobuf//:protobuf",
],
)
и на этапе компоновки я получил следующую ошибку:
[libprotobuf ERROR external/com_github_sc_protobuf/src/google/protobuf/descriptor_database.cc:58] File already exists in database: google/protobuf/descriptor.proto
[libprotobuf FATAL external/com_github_sc_protobuf/src/google/protobuf/descriptor.cc:1370] CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
libc++abi.dylib: terminating with uncaught exception of type google::protobuf::FatalException: CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
external/bazel_tools/tools/test/test-setup.sh: line 310: 63268 Abort trap: 6 "${TEST_PATH}" "$@" 2>&1
Очевидно, что некоторые файлы включены несколько раз, однако я не мог понять, почему.