Ubuntu16.04下两个版本的protobuf简单兼容安装
Ubuntu16.04下两个版本的protobuf简单兼容安装
参考链接:
1.(https://blog.csdn.net/qq_16775293/article/details/81119375)
2.(https://www.geek-share.com/detail/2709640658.html)
3.(https://www.geek-share.com/detail/2727159344.html)
问题详述:
今天在试着在Ubuntu16.04上配置tensorflow的环境,以及Object Detection API,需要将下载tensorflow/models,将其剪切到tensorflow安装路径下,详细过程参考链接3。
而在运行以下步骤的时候出现错误:
# From tensorflow/models/research protoc object_detection/protos/*.proto --python_out=.
参照网上一些教程将*换成tensorflow/models/research/object_detection/protos/内逐个proto文件运行上述命令,但在编译其中 ssd.proto 时也无法成功:
object_detection/protos/ssd.proto:104:3: Expected "required", "optional", or "repeated". object_detection/protos/ssd.proto:104:12: Expected field name. object_detection/protos/model.proto: Import "object_detection/protos/ssd.proto" was not found or had errors. object_detection/protos/model.proto:12:5: "Ssd" is not defined.
经过查找,发现此处需要更新protobuf3.0以上的版本才可以完成。
解决方法:
考虑到ubuntu16.04自带的protobuf2.6.1,覆盖安装高版本会影响ROS等其他环境的使用,我们决定兼容安装,以及软链接的方法完成分开调用。
不考虑这问题的朋友可以参考链接1的覆盖安装。
下载解压安装:
1.以protobuf-3.6.1版本为例,下载protobuf-all-3.6.1.tar.gz解压。
下载链接
tar xvzf protobuf-all-3.6.1.tar.gz
2.安装
因为要和2.6.1区别开来,所以以下路径为例,在/usr下创建/protobuf文件夹并设置为安装路径
cd protobuf-3.6.1 ./autogen.sh ./configure --prefix=/usr/protobuf make -j8 make check -j8 sudo make install
3软链接生成
sudo ln -s /usr/protobuf/bin/protoc /usr/local/bin/protoc3.6.1
解释:/usr/protobuf/bin/protoc是我们3.6.1的可执行文件,我们生成链接文件为/usr/local/bin/protoc3.6.1,由于2.6.1对应的/usr/local/bin/protoc在同一路径内,所以此处不需要进行任何环境变量的修改,即可完成。
4测试
与2.6.1相似
protoc --version libprotoc 2.6.1 protoc3.6.1 --version libprotoc 3.6.1
对于本文前面关于Object Detection API的proto编译问题,可以简单解决:
# From tensorflow/models/research protoc3.6.1 object_detection/protos/*.proto --python_out=.
如果有任何问题,包括tensorflow在ubuntu16.04上的环境配置问题,欢迎交流。
- 在ubuntu 16.04上安装和简单配置MySQL(5.7版本)
- ubuntu16.04 tensorflow-gpu版本安装好后,简单的检测代码
- Ubuntu16.04下安装Tensorflow GPU版本(图文详解)
- ubuntu16.04 从源码安装tensorflow-gpu r1.4版本---2017-12-07
- 【Caffe】Ubuntu安装Protobuf2.5
- ubuntu16.04下安装opencv3.2版本
- ubuntu 16.04 下安装最新版本wineQQ
- 安装protobuf到Ubuntu14.04
- [置顶] Ubuntu 16.04最简单的tensorflow-gpu安装教程
- ubuntu14.04下protobuf2.6安装
- lamp环境centos5.10,phpprotobuf模块安装,及简单应用
- Linux下安装protobuf并实现简单的客户端服务器端通信
- Centos6.4下安装protobuf及简单使用
- Ubuntu16.04 安装server版本遇到的一些问题
- Ubuntu16.04安装配置GPU版本Caffe经验总结
- ubuntu默认安装JAVA的openjdk版本没有tools.jar的问题(以ubuntu16.04为例)
- ubuntu16.04中docker旧版本卸载,脚本安装新版本
- 学习 protobuf(一)—— ubuntu 下 protobuf 2.6.1 的安装
- Ubuntu 16.04安装使用--Ubuntu16.04下基于Docker的Caffe-GPU版本环境搭建总结
- XunSearch初探 ubuntu16.04 进行安装简单使用