1. 问题背景
之前的Ubuntu20.04是可以正常编译gRPC(按如下指令)进行安装的,但是由于Ubuntu升级的最新22.04系统版本造成在编译安装时cmake找不到一些库。主要的问题是:
tar -zxvf grpc_v1.30.0.tar.gz
cd grpc_v1.30.0
mkdir -p cmake/build
cd cmake/build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DgRPC_INSTALL=ON \
-DgRPC_BUILD_TESTS=OFF \
-DgRPC_SSL_PROVIDER=package \
../..
sudo make -j2 install
第一个问题:warning
第二个问题:warning
第三个问题:error:但看起来不严重,只是缺少命名空间的引用而已,检查一下源代码
修改过上面两处后可以编译到37%, 如下:
问题看起来也不复杂, 好像还是std::max的问题
最后一处报错是std::max要求两个参数的类型相同,编译器自动猜测65536的数据类型和SIGSTKSZ不同导致的,添加类型声明就好。
最后重新编译运行:
okey, 编译安装成功