我正在尝试构建LAB来生成可靠的面部标志。
在安装指南中说需要安装Caffe必备软件,我已经检查了在我的AWS EC2实例上正确安装的CUDA和BLAS。
然后我git克隆并在LAB中命名的克隆git文件夹下键入make
但是它返回以下错误
CXX .build_release/src/caffe/proto/caffe.pb.cc
In file included from .build_release/src/caffe/proto/caffe.pb.cc:4: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:4:0:
.build_release/src/caffe/proto/caffe.pb.h:23:35: fatal error: google/protobuf/arena.h: No such file or directory
compilation terminated.
Makefile:588: recipe for target '.build_release/src/caffe/proto/caffe.pb.o' failed
make: *** [.build_release/src/caffe/proto/caffe.pb.o] Error 1
上面的错误似乎是我使用的是旧版本的libprotoc
,因此如果我输入which protoc
,它将返回
/home/ubuntu/anaconda3/bin//protoc
对于protoc --version
,它返回libprotoc 3.5.1
对于whereis protoc
它返回
protoc: /usr/local/bin/protoc /home/ubuntu/anaconda3/bin/protoc /usr/share/man/man1/protoc.1.gz
因此,由于看起来/usr/local/bin
中还有另一个协议,因此我通过/usr/local/bin/protoc --version
检查了它的版本,该返回了
libprotoc 3.3.0
我这里有两个问题:
1)我不知道我是否使用make
cmd,该协议已被引用。
2)我不知道错误要求使用哪个协议版本。
如何检查并获得有关上述两个问题的正确信息?
答案 0 :(得分:0)
PROTOC=/home/ubuntu/anaconda3/bin/protoc make
-I
选项,确保编译器具有正确的protobuf标头路径。