ubantu 下安装caffe 遇到多版本的protoc 问题

附:可能对应的错误

.build_release/src/caffe/proto/caffe.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is

#error This file was generated by a newer version of protoc which is

问题来自哪里 :   你自己安装的anconda 里面安装了protoc 系统自带 protoc 所以会有冲突  

可以用以下命令查找:

命令 whereis protoc 可以查看哪些路径下安装了protoc
命令which protoc 可以查看默认选用protoc的路径

命令 protoc --version 可以查看当前protoc版本

我先是做了如下操作(在caffe中的 Makefile文件)

指定protoc的版本可以在 Makefile文件内修改
在Makefile 中修改这两句:
$(Q)protoc --proto_path=$(PROTO_SRC_DIR) --cpp_out=$(PROTO_BUILD_DIR) $<
$(Q)protoc --proto_path=$(PROTO_SRC_DIR) --python_out=$(PY_PROTO_BUILD_DIR) $<

$(Q)/usr/bin/protoc --proto_path=$(PROTO_SRC_DIR) --cpp_out=$(PROTO_BUILD_DIR) $<
$(Q)/usr/bin/protoc --proto_path=$(PROTO_SRC_DIR) --python_out=$(PY_PROTO_BUILD_DIR) $<
即把开头的"protoc"补全路径即可 (/usr/bin/protoc即为自己向指定给的版本路径)

注:这种修改不会影响系统默认的protoc版本,只会在caffe编译的时候调用相应的proto版本

可还是不行 于是 卸载anconda   重新打开命令行 再次运行 make all 就可以了,下面是卸载anconda的教程。

在ubuntu上卸载anaconda的步骤 :

(一)删除整个anaconda目录:

    由于Anaconda的安装文件都包含在一个目录中,所以直接将该目录删除即可。到包含整个anaconda目录的文件夹下,删除整个Anaconda目录:

    rm -rf anaconda文件夹名

(二)建议清理下.bashrc中的Anaconda路径:

   1.到根目录下,打开终端并输入:
      sudo gedit ~/.bashrc

   2.在.bashrc文件末尾用#号注释掉之前添加的路径(或直接删除):
      #export PATH=/home/lq/anaconda3/bin:$PATH
      保存并关闭文件

   3.使其立即生效,在终端执行:
      source ~/.bashrc
 

   4.关闭终端,然后再重启一个新的终端,这一步很重要,不然在原终端上还是绑定有anaconda.


 

猜你喜欢

转载自blog.csdn.net/weixin_40355324/article/details/84929042