红帽源码安装Bazel时报错:
Use --sandbox_debug to see verbose messages from the sandbox
In file included from external/upb/upb/upb.h:42:0,
from external/upb/upb/msg.h:41,
from external/upb/upb/msg_internal.h:15,
from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c:10:
external/upb/upb/port_def.inc:54:2: error: #error upb requires C99 or C++11 or MSVC >= 2015.
#error upb requires C99 or C++11 or MSVC >= 2015.
^
In file included from external/upb/upb/table_internal.h:54:0,
from external/upb/upb/msg_internal.h:16,
from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c:10:
external/upb/upb/port_def.inc:54:2: error: #error upb requires C99 or C++11 or MSVC >= 2015.
#error upb requires C99 or C++11 or MSVC >= 2015.
^
In file included from external/upb/upb/msg_internal.h:20:0,
from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c:10:
external/upb/upb/port_def.inc:54:2: error: #error upb requires C99 or C++11 or MSVC >= 2015.
#error upb requires C99 or C++11 or MSVC >= 2015.
^
In file included from external/upb/upb/decode.h:38:0,
from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h:13,
from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c:11:
external/upb/upb/port_def.inc:54:2: error: #error upb requires C99 or C++11 or MSVC >= 2015.
#error upb requires C99 or C++11 or MSVC >= 2015.
^
In file included from external/upb/upb/encode.h:38:0,
from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h:15,
from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c:11:
external/upb/upb/port_def.inc:54:2: error: #error upb requires C99 or C++11 or MSVC >= 2015.
#error upb requires C99 or C++11 or MSVC >= 2015.
^
In file included from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h:17:0,
from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c:11:
external/upb/upb/port_def.inc:54:2: error: #error upb requires C99 or C++11 or MSVC >= 2015.
#error upb requires C99 or C++11 or MSVC >= 2015.
^
In file included from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h:17:0,
from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c:12:
external/upb/upb/port_def.inc:54:2: error: #error upb requires C99 or C++11 or MSVC >= 2015.
#error upb requires C99 or C++11 or MSVC >= 2015.
^
In file included from external/com_github_grpc_grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c:14:0:
external/upb/upb/port_def.inc:54:2: error: #error upb requires C99 or C++11 or MSVC >= 2015.
#error upb requires C99 or C++11 or MSVC >= 2015.
报错是由于upb中.c文件的编译选项需要-std=c99,.cc文件的编译选项需要-std=c++11。所以我们在编译时添加编译选项即可:
env EXTRA_BAZEL_ARGS="–host_javabase=@local_jdk --tool_java_runtime_version=local_jdk --cxxopt=-std=c++11 --copt=-std=c99" bash ./compile.sh