Какой протокол использует команда?

Я пытаюсь создать LAB, которые генерируют надежный ориентир лица.

В руководстве по установке говорится, что необходимо установить предварительные условия Caffe, которые я проверил, CUDA и BLAS хорошо установлены на моем экземпляре AWS EC2.

Затем я клонировал git и набрал make в клонированной папке git, названной в LAB.

Но он возвращает следующую ошибку

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) Я не знаю, какая версия протокола требует ошибки.

Как я могу проверить и получить правильную информацию о двух вышеуказанных проблемах?


person Beverlie    schedule 26.09.2018    source источник


Ответы (1)


  1. Попробуйте что-нибудь вроде PROTOC=/home/ubuntu/anaconda3/bin/protoc make
  2. Убедитесь, что компилятор получил правильный путь к заголовкам protobuf с соответствующей опцией -I.
person ivan.ukr    schedule 26.09.2018