之前按照官网或这个教程安装 https://blog.csdn.net/mou_it/article/details/79846066,均没有什么问题,后来重做系统之后,再安装,protobuf均安装成功了,均在grpc目录下面 make的时候报错,提示大概如下:
后来经过各种折腾吧,网上各种教程也没有解决,最后自己一步步解决。
1、先说原因吧:
系统中已经有protobuf了,而且版本跟源码安装上的不一样,所以导致安装grpc的时候编译失败。
2、解决方案
1) 多次卸载,并清理干净后再次安装还是失败,
2)在运行sudo ldconfig 的时候加了个选项 sudo ldconfig -v 把详细信息打印出来,发现在/usr/lib/x86_64-linux-gnu/目录下面有protobuf的动态库和静态库。
3)移除该库,移动到别的目录重新安装
mkdir -p ~/protobuf-bak
sudo mv /usr/lib/x86_64-linux-gnu/libproto* ~/protobuf-bak
注意:移除后可能导致terminal不能用,安装好以后可再移动回去,也可安装个可分屏终端: sudo apt-get install terminator
重新按照https://blog.csdn.net/mou_it/article/details/79846066安装。
cd grpc
make -j8
sudo make install
sudo mv ~/protobuf-bak/libproto* /usr/lib/x86_64-linux-gnu/
然后成功了。