1

我尝试从源代码安装 GRPC。我有来自 devtoolset-10 的 Oracle Linux 7.9、GCC 10.2.1 和从源代码构建的 cmake 版本 3.21.0-rc1。

我使用的方式:

git clone --recurse-submodules -b v1.37.0 https://github.com/grpc/grpc
cd grpc
 mkdir -p cmake/build
 pushd cmake/build
 cmake -DgRPC_INSTALL=ON \
      -DgRPC_BUILD_TESTS=OFF \
      -DCMAKE_INSTALL_PREFIX=$/usr/local/bin \
      ../.. 
make
make install

在此之后,我看到 /root/grpc/cmake/build$/usr/local/bin/lib/...中的文件已在 /usr/local/... 中创建。

好的。但是当我将目录更改为 /usr/local 时 - 此目录不包含 make install 中的文件。

我做错了什么?

顺便说一句,当我尝试构建 1.38 版本的 GRPS 时,我返回构建错误:

/root/grpc/src/core/lib/gpr/log_linux.cc: In function ‘void gpr_default_log(gpr_log_func_args*)’:
/root/grpc/src/core/lib/gpr/log_linux.cc:97:62: error: no matching function for call to ‘StrFormat(const char [22], const char*, char [64], int32_t&, long int&, const char*&, int&)’
       time_buffer, now.tv_nsec, tid, display_file, args->line);
4

1 回答 1

1

以下对我有用:

$ git clone --recurse-submodules -b v1.37.0 https://github.com/grpc/grpc
$ cmake -G Ninja -S grpc/ -B grpc-build  \
    -DCMAKE_BUILD_TYPE=Release           \
    -DCMAKE_INSTALL_PREFIX=/usr/local    \
    -DgRPC_INSTALL=ON                    \
    -DgRPC_BUILD_TESTS=OFF
$ cmake --build grpc-build --target install

这里的相关区别是我的安装前缀没有杂散$,并且我设置了构建类型(您必须始终这样做)。

我在 Ubuntu 20.04 LTS 上使用 CMake 3.20.5(最新版本)和 GCC 10.3.0。请尝试上述命令,看看是否有任何变化。

于 2021-06-29T20:52:59.613 回答