ubuntu 安装grpc
整体流程为:下载代码 -> 编译&安装依赖库 -> 编译&安装grpc -> 测试。
1. 安装openssl
安装
wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz tar -xvf openssl-1.1.1b.tar.gz cd openssl-1.1.1b ./config --prefix=/usr/local --openssldir=/usr/local/openssl make && make install
验证:
openssl version -a
2. 安装cmake
安装:
wget https://cmake.org/files/v3.17/cmake-3.17.2.tar.gz tar zxvf cmake-3.17.2.tar.gz cd cmake-3.17.2 ./configure sudo make && make install
验证方式:
cmake --version
3. 下载grpc
sudo apt install -y build-essential autoconf libtool pkg-config
git clone https://github.com/grpc/grpc.git cd grpc git submodule update --init
4. 安装absl依赖
sudo apt-get update && sudo apt-get install -y libssl-dev cd third_party/abseil-cpp/cmake mkdir build sudo cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE .. sudo make install
5. 安装c-ares
cd third_party/cares/cares mkdir build cd build sudo cmake -DCMAKE_BUILD_TYPE=Release .. sudo make install
6. 安装benchmark依赖
cmake -DCMAKE_BUILD_TYPE=Release ..
如果发现找不到gtest库,需要增加参数指定目录: -DGOOGLETEST_PATH=~/grpc/third_party/googletest
7. 安装protobuf
cd third_party/protobuf/ git submodule update --init --recursive sudo ./autogen.sh sudo ./configure sudo make
sudo make install
sudo ldconfig
验证方式: protoc --version
8. 安装zlib
cdthird_party/zlib mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make install
9. 安装grpc
cd ../.. sudo make
sudo make install
异常处理:
在sudo make install后出错:Installing via 'make' is no longer supported. Use cmake or bazel instead.
sudo cmake -DCMAKE_BUILD_TYPE=Release \
-DgRPC_INSTALL=ON \
-DgRPC_BUILD_TESTS=OFF \
-DgRPC_CARES_PROVIDER=package \
-DgRPC_ABSL_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package ..
10. 测试
cd grpc/examples/cpp/helloworld
make
./greeter_server
./greeter_client
整个流程参考:https://blog.csdn.net/w13l14/article/details/117984322
参考:https://github.com/IvanSafonov/grpc-cmake-example