Мой выпуск
Я борюсь с этой ошибкой:
[libprotobuf FATAL google/protobuf/stubs/common.cc:67]
This program requires version 3.4.0 of the Protocol Buffer runtime library,
but the installed version is 3.0.0.
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_archive/src/google/protobuf/any.pb.cc".)
terminate called after throwing an instance of 'google::protobuf::FatalException'
Очевидно, что я советую обновить «библиотеку времени выполнения Protobuf», но я понятия не имею, как этого добиться. Кто-нибудь может помочь мне с этим?
Я сам не скомпилировал тензорный поток, и я не собираюсь этого делать.
Мой контекст
Я пишу скрипт на python, пытаясь обучить модель тензорного потока библиотекой keras; Эта строка вызывает ошибку:
keras.callbacks.TensorBoard(log_dir=self.log_dir, histogram_freq=0, write_graph=True, write_images=False)
Работает на Ubuntu 17.10 artful
Здесь я делюсь выводом некоторых команд, которые я использовал при попытке отладки:
(venv) $ pip show protobuf
Name: protobuf
Version: 3.6.1
Summary: Protocol Buffers
Также с протоколом все в порядке (но мне нужна «библиотека времени выполнения», я думаю, она отличается от «компилятора»)
$ protoc --version
libprotoc 3.6.1
$ which protoc
/usr/local/bin/protoc
Мои попытки
Пакетом по умолчанию для apt
является libprotobuf10
(версия: 3.0.0).
Поэтому я установил более новую версию здесь https://launchpad.net/~maarten-fonville/+archive/ubuntu/protobuf без каких-либо изменений в сообщении об ошибке
$ sudo add-apt-repository ppa:maarten-fonville/protobuf
$ sudo apt update
$ sudo apt install libprotobuf15 # Version: 3.5.2
$ sudo apt install libprotobuf12 # Version: 3.4.1
Я не смею apt remove libprotobuf10
, потому что он также удалит gnome-shell, ubuntu-desktop, ...
, что звучит довольно опасно.
Любые идеи приветствуются:)