gRPC 安装在 "make" 失败

gRPC installation fails at "make"

我正在按照 Built From Source instructions 安装 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 时发生的。我们使用 $ git submodule 给出的版本,在撰写本文时为 be2ee342d3781ddb954f91f8a7e660c6f59e87e5 third_party/boringssl (version_for_cocoapods_7.0-526-gbe2ee342)。你能自己编译 boringssl 吗?

如果没有嵌入式 BoringSSL,您可能会更幸运。尝试构建:

EMBED_OPENSSL=false make

如果您收到有关缺少软件包的错误消息,请确保您已安装 libssl-dev