gRPC 安装失败"make"

gRPC installation fails at "make"

本文关键字:make 失败 安装 gRPC      更新时间:2023-10-16

我正在遵循构建的源指令以安装grpc

$ git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc

成功

$ cd grpc

成功

$ git submodule update --init

成功

$ make

构建一些源文件后失败

third_party/boringssl/crypto/rand/urandom.c:62:2: error: #error "system call number for getrandom is not the expected value"
#error "system call number for getrandom is not the expected value"
 ^
In file included from /usr/include/x86_64-linux-gnu/sys/syscall.h:31:0,
from third_party/boringssl/crypto/rand/urandom.c:32:
third_party/boringssl/crypto/rand/urandom.c: In function ‘init_once’:
third_party/boringssl/crypto/rand/urandom.c:128:15: error: ‘__NR_getrandom’ undeclared (first use in this function)
syscall(SYS_getrandom, &dummy, sizeof(dummy), GRND_NONBLOCK);
         ^
third_party/boringssl/crypto/rand/urandom.c:128:15: note: each undeclared identifier is reported only once for each function it appears in
third_party/boringssl/crypto/rand/urandom.c: In function ‘fill_with_entropy’:
third_party/boringssl/crypto/rand/urandom.c:258:21: error: ‘__NR_getrandom’ undeclared (first use in this function)
r = syscall(SYS_getrandom, out, len, 0 /* no flags */);
            ^
Makefile:2564: recipe for target '/home/usrnm/grpc/objs/opt/third_party/boringssl/crypto/rand/urandom.o' failed
make: *** [/home/usrnm/grpc/objs/opt/third_party/boringssl/crypto/rand/urandom.o] Error 1

OS:Linux 4.4.0-0 SMP Debian 4.4.16-1

GCC版本:GCC(Debian 4.9.2-10)4.9.2

我在Internet上找不到有关此错误的任何开放问题或任何帮助。

如果没有嵌入式鲍林斯(Boringssl),您可能会有更好的运气。尝试使用:

构建
EMBED_OPENSSL=false make

如果您遇到缺少软件包的错误,请确保已安装libssl-dev

在编译鲍林斯时,问题似乎发生了。我们使用$ git submodule给出的版本,在撰写本文时为be2ee342d3781ddb954f91f8a7e660c6f59e87e5 third_party/boringssl (version_for_cocoapods_7.0-526-gbe2ee342)。您是否可以单独编译BoringsSL?