明明我还是一个小白,在做事的时候就不能那么谨慎点,手贱 make clean了一下所以就重新 make一下,出来这么个幺蛾子错误:
tan@tan-Precision-T3610:~/VPGNet/caffe$ make all
CXX .build_release/src/caffe/proto/caffe.pb.ccIn file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
.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
^
.build_release/src/caffe/proto/caffe.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
.build_release/src/caffe/proto/caffe.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from .build_release/src/caffe/proto/caffe.pb.cc:5:0:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directory
#include <google/protobuf/arena.h>
^
compilation terminated.
make: *** [.build_release/src/caffe/proto/caffe.pb.o] Error 1
说是什么protoc 版本的错误,可是天地良心我根本就没有动关于这个劳什子的配置呀。但还是根据网上各种文章重新卸载安装protoc ,没什么卵用,简直给弄的没脾气.
这时候我结合好几个文章分析了下 一共安装protoc的有两个版本
protoc --version
libprotoc 3.4.0
sudo protoc --version
libprotoc 2.5.0
我原来在没出错以前还是可以运行的 也就是这两个版本是有一个能用的 ,但是现在不能用了可能是路径指向问题,可是我这么笨不想换路径(因为换不成功),所以就尝试
sudo make all
没想到还真的可以,至少上面那个错误是没有了,也就是说2.5.0的版本是可以运行的。所以我也就将anaconda3/bin/protoc 换成了/usr/bin里的protoc 。所以make all 也可以了。
替换前
替换后
但是,这一口气还没松完,就又出现了新的错误,好像摔电脑啊,命途多舛。错误如下:
In file included from /usr/include/boost/python/detail/prefix.hpp:13:0,
from /usr/include/boost/python/args.hpp:8,
from /usr/include/boost/python.hpp:11,
from src/caffe/layer_factory.cpp:4:
/usr/include/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory
# include <pyconfig.h>
^
compilation terminated.
make: *** [.build_release/src/caffe/layer_factory.o] Error 1
网上搜了下这是在弄caffe的python接口处的错误,就想起我在makefile文件里将这个注释去掉了,所以将注释重新加上,现在就可以了(我承认这样治标不治本,以后再弄Python接口的时候也会出现这个问题)
哎,人生真的不容易,我这刚开始弄这个就觉得自己憔悴了好多。本小白写此记录就是为了让以后我再修改什么文件使得环境崩溃的时候,知道自己干了啥。