I'm testing tensorflow, which is based on protobuf 3.0.0-b3/30.0-b2. But current Ubuntu 16.04 repository comes with protobuf 2.6.1 ... So when I tested my tensorflow code, I run into this error message:

[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)

I wonder how to solve this protobuf version conflict issues.

share|improve this question

Unfortunately, protobuf3 cannot be acquired through apt-get until Ubuntu 16.10 (Yakkety Yak). So you'll either need to update to that version of Ubuntu first, or get the library from its git repository.

Following the instructions at https://github.com/google/protobuf/blob/master/src/README.md, either install a prebuilt from here https://github.com/google/protobuf/releases or build it yourself from the sources (if you may want to join in the development effort for the library itself).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.