Я тестирую tensorflow, который основан на protobuf 3.0.0-b3/30.0-b2. Но текущий репозиторий Ubuntu 16.04 идет с protobuf 2.6.1... Таким образом, когда я протестировал свой код tensorflow, я сталкиваюсь с этим сообщением об ошибке:
[libprotobuf FATAL google/protobuf/stubs/common.cc:61] This program requires version 3.0.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "external/protobuf/src/google/protobuf/any.pb.cc".)
terminate called after throwing an instance of 'google::protobuf::FatalException'
what(): This program requires version 3.0.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in "external/protobuf/src/google/protobuf/any.pb.cc".)
Aborted (core dumped)
Интересно, как решить этот protobuf конфликт версий проблемы.
К сожалению, protobuf3 не может быть получен через Кв. - добираются до Ubuntu 16.10 (Як Yakkety) . Таким образом, необходимо будет или обновить к той версии Ubuntu сначала или получить библиотеку из ее репозитория мерзавца.
Следование инструкциям в https://github.com/google/protobuf/blob/master/src/README.md, или устанавливают предварительно созданный отсюда https://github.com/google/protobuf/releases или создают его самостоятельно из источников (если можно хотеть участвовать в усилии по разработке для самой библиотеки).
Я не уверен если, именно это Вы ищете. Я нашел очень простой способ обновить protobuf от 2.6.1 до 3.5.2.post1 для python 2.7
sudo pip install --upgrade protobuf
как в:
Поскольку версия 3 protobuf для бионического бобра доступна напрямую через apt.
https://launchpad.net/ubuntu/+source/protobuf
$ sudo apt install protobuf-compiler
...
$ protoc --version
libprotoc 3.0.0