Какую версию protobuf использовать с caffe? - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь установить Caffe в Ubuntu 16.04.Поскольку я хочу использовать его с OpenPose, я не хочу использовать Anaconda для установки Caffe.После установки множества зависимостей от Caffe (после нескольких онлайн-уроков) я обнаружил, что protobuf был установлен с использованием python:

$ pip show protobuf
Имя: protobufВерсия: 3.6.1Резюме: протоколДомашняя страница буферов: https://developers.google.com/protocol-buffers/
Автор: Нет Автор электронной почты: Нет Лицензия: Лицензия на 3 раздела BSDРасположение: /home/userq/.local/lib/python2.7/site-packagesТребуется: setuptools, шестьТребуется:

Из прошлого опыта я знаю, что при использовании apt-get install libprotobuf-dev protobuf-compiler устанавливается версия protobuf, которая старше 3.6.1, поэтому яскачал двоичные файлы protobuf 3.6.1 и поместил их в / usr / bin и / usr / include.Теперь у меня есть:

$ protoc --version libprotoc 3.6.1

Но когда я пытаюсь построить Caffe, происходит сбой:

CXX .build_release / src / caffe / proto / caffe.pb.cc В файле, включенном в .build_release / src / caffe / proto / caffe.pb.cc: 4: 0: .build_release / src / caffe / proto / caffe.pb.h: 12: 2: ошибка: #error This файл был сгенерирован новой версией protoc с ошибкой # Этот файл был сгенерирован новой версией protoc с ^ .build_release / src / caffe / proto / caffe.pb.h: 13: 2: ошибка: # ошибка несовместима с вашими заголовками буфера протокола.Пожалуйста, обновите #error несовместимо с вашими заголовками буфера протокола.Пожалуйста, обновите ^ .build_release / src / caffe / proto / caffe.pb.h: 14: 2: ошибка: # ошибка ваших заголовков.# Ошибка ваших заголовков.^ В файле, включенном в .build_release / src / caffe / proto / caffe.pb.cc: 4: 0: .build_release / src / caffe / proto / caffe.pb.h: 23: 35: фатальная ошибка: google / protobuf /arena.h: компиляция таких файлов или каталогов не прекращена.Makefile: 598: рецепт для цели '.build_release / src / caffe / proto / caffe.pb.o' не выполнен make: *** [.build_release / src / caffe / proto / caffe.pb.o] Ошибка 1

Когда я открываю файл .build_release / src / caffe / proto / caffe.pb.h , я обнаруживаю, что такое сообщение об ошибке генерируется, когда версия protobuf старше 3.6.1.Вот выдержка из этого файла:

#if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

Я не думаю, что в этом случае конфликт версий.И хотя у меня версия 3.6.1, похоже, система ее не обнаружила.В чем может быть проблема?

1 Ответ

0 голосов
/ 13 января 2019

У меня тоже есть та же проблема, но я думаю, что это из-за protoc - версия 3.6, попытаться установить protoc 3.0 для меня, это решено.

...