Ubuntu18.04同时安装两个版本的protobuf(protoc)
原文链接: Ubuntu18.04同时安装两个版本的protobuf(protoc)
1.1 清理系统中protobuf
sudo apt-get remove libprotobuf-dev
sudo apt-get remove protobuf-compiler
sudo apt-get remove python-protobuf
sudo rm -rf /usr/local/bin/protoc
sudo rm -rf /usr/bin/protoc
sudo rm -rf /usr/local/include/google
sudo rm -rf /usr/local/include/protobuf*
sudo rm -rf /usr/include/google
sudo rm -rf /usr/include/protobuf*
# 以下两行慎用!
sudo rm -rf /usr/local/lib/libproto*
sudo rm -rf /usr/lib/libproto*
## 重装protobuf
sudo apt-get update
sudo ldconfig
sudo apt-get install libprotobuf* protobuf-compiler python-protobuf
protobuf 多个版本切换 源码编译
git checkout v2.5.0
配置编译后的输出路径(比如为$PROTOC_2_5)
./configure --prefix=/usr/local/protobuf-3.5.1
make && make install
1
制作软连接
ln -s $PROTOC_3_0_2/bin/protoc /usr/local/bin/protoc3.0.2
sudo ln -s /usr/local/protobuf-3.5.1/ /usr/local/protobuf
在/etc/profile中添加下面内容
####### add protobuf lib path ########
#(动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
#(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
#执行程序搜索路径
export PATH=$PATH:/usr/local/protobuf/bin/
#c程序头文件搜索路径
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
#c++程序头文件搜索路径
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
#pkg-config 路径
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig
caffe 安装protobuf 常见的几个问题
- 版本过低
- 版本过高 protobuf 3.10 不兼容
python中安装 protobuf 和系统中的protobuf冲突
pip list
pip uninstall protobuf 执行卸载
pip install protobuf==3.9
————————————————
版权声明:本文为CSDN博主「不懂音乐的欣赏者」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_16775293/article/details/81119375
https://github.com/protocolbuffers/protobuf/releases/download/v3.5.1/protobuf-all-3.5.1.tar.gz
1. 下载并安装protobuf2.5.0
- 下载地址:Protocol Buffers v2.5.0,我选择的是protobuf-2.5.0.tar.gz。
- 解压缩
protobuf-2.5.0.tar.gz
并移动到合适的文件夹:
$ tar -zxvf protobuf-2.5.0.tar.gz
$ sudo cp -rf protobuf-2.5.0 /usr/local
$ cd /usr/local
$ sudo chmod -R 0777 protobuf-2.5.0 # 更改文件夹权限
- 安装protobuf-2.5.0,安装过程参考博客:ubuntu下protobuf安装
- 这时在
/usr/local/bin
目录下会出现protoc
,输入protoc --version
会出现protoc的版本。 - 为了与后面的protoc3.6区别,建立软链接:
$ sudo ln /usr/local/bin/protoc /usr/local/bin/protoc2.5
$ sudo rm -rf pprotoc # 删除protoc的软链接
$ protoc2.5 --version # 通过新创建的软链接查看protoc版本
2. 下载并安装protobuf3.6.0
- 下载地址:Protocol Buffers v3.6.0。我选择的是protobuf-all-3.6.0.tar.gz。
- 解压缩
protobuf-all-3.6.0.tar.gz
并移动到合适的文件夹:
$ tar -zxvf protobuf-all-3.6.0.tar.gz
$ sudo cp -rf protobuf-3.6.0 /usr/local
$ cd /usr/local
$ sudo chmod -R 0777 protobuf-3.6.0 # 更改文件夹权限
- 安装
protobuf-3.6.0
:
$ cd protobuf-3.6.0
$ ./autogen.sh
$ ./configure --prefix=/usr/protobuf # 为了与protobuf-2.5.0分开来,设定配置目录
$ make
$ make check
$ sudo make install
- 创建软链接:
$ sudo ln -s /usr/protobuf/bin/protoc /usr/local/bin/protoc3.6
- 查看版本并验证安装是否成功:
$ protoc3.6 --version
- 1
进入
/usr/local/bin
目录查看软链接:参考链接:
Ubuntu16.04下两个版本的protobuf简单兼容安装
protobuf简单介绍和ubuntu 16.04环境下安装
ubuntu下protobuf安装