0

我正在尝试构建生成强大面部地标的LAB 。

在安装指南中,它说需要安装 Caffe 先决条件,我检查了 CUDA 和 BLAS 是否已安装在我的 AWS EC2 实例上。

然后我 git cloned 并make在 LAB 中命名的克隆 git 文件夹下输入

但它返回以下错误

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)我不知道错误需要哪个版本的protoc。

如何检查并获取有关上述两个问题的正确信息?

4

1 回答 1

0
  1. 尝试类似的东西PROTOC=/home/ubuntu/anaconda3/bin/protoc make
  2. -I确保编译器使用适当的选项 获得到 protobuf 标头的正确路径。
于 2018-09-26T01:34:13.103 回答