My Issue
I am struggeling with this error:
[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'
It is obviously telling me to update the 'Protobuf runtime library', but I have no clue how to accomplish that. Can anybody please help me on that?
I did not compile tensorflow myself, nor am I planning to do that.
My Context
I am in a python script, attempting to train a tensorflow model by the keras library; This line is causing the error:
keras.callbacks.TensorBoard(log_dir=self.log_dir, histogram_freq=0, write_graph=True, write_images=False)
Running on Ubuntu 17.10 artful
Here I share the output of some commands, that I used while trying to debug:
(venv) $ pip show protobuf
Name: protobuf
Version: 3.6.1
Summary: Protocol Buffers
Also protoc is fine (but I need the 'runtime library', which is different from the 'compiler', I guess)
$ protoc --version
libprotoc 3.6.1
$ which protoc
/usr/local/bin/protoc
My Attempts
The default package by apt is libprotobuf10 (Version: 3.0.0).
So I installed a newer version from here https://launchpad.net/~maarten-fonville/+archive/ubuntu/protobuf without any changes in the error message
$ 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
I don't dare to apt remove libprotobuf10, because it will also remove gnome-shell, ubuntu-desktop, ... which sounds kinda dangerous.
Any ideas appreciated :)