Hi. I installed caffe as described on
https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-Installation-Guide. I set
WITH_PYTHON_LAYER := 1. Caffe runs fine except when I am trying to load a python layer. It then complains:
I0621 13:38:52.346406 21139 layer_factory.hpp:77] Creating layer data
2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609]
[libprotobuf FATAL google/protobuf/stubs/common.cc:61] This program requires version 3.3.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 "google/protobuf/descriptor.pb.cc".)
terminate called after throwing an instance of 'google::protobuf::FatalException'
what(): This program requires version 3.3.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 "google/protobuf/descriptor.pb.cc".)
*** Aborted at 1498045132 (unix time) try "date -d @1498045132" if you are using GNU date ***
PC: @ 0x7f48153ec428 gsignal
*** SIGABRT (@0x3e800005293) received by PID 21139 (TID 0x7f4818061ac0) from PID 21139; stack trace: ***
@ 0x7f48153ec4b0 (unknown)
@ 0x7f48153ec428 gsignal
@ 0x7f48153ee02a abort
@ 0x7f481620084d __gnu_cxx::__verbose_terminate_handler()
@ 0x7f48161fe6b6 (unknown)
@ 0x7f48161fe701 std::terminate()
@ 0x7f48161fe919 __cxa_throw
@ 0x7f4816744647 google::protobuf::internal::LogMessage::Finish()
@ 0x7f481674487d google::protobuf::internal::VerifyVersion()
@ 0x7f47e177de34 google::protobuf::protobuf_google_2fprotobuf_2fdescriptor_2eproto::TableStruct::InitDefaultsImpl()
@ 0x7f4816744f75 google::protobuf::GoogleOnceInitImpl()
@ 0x7f47e1779475 google::protobuf::protobuf_google_2fprotobuf_2fdescriptor_2eproto::InitDefaults()
@ 0x7f47e17794a9 google::protobuf::protobuf_google_2fprotobuf_2fdescriptor_2eproto::AddDescriptorsImpl()
@ 0x7f4816744f75 google::protobuf::GoogleOnceInitImpl()
@ 0x7f47e1779525 google::protobuf::protobuf_google_2fprotobuf_2fdescriptor_2eproto::AddDescriptors()
@ 0x7f4817ed26ba (unknown)
@ 0x7f4817ed27cb (unknown)
@ 0x7f4817ed78e2 (unknown)
@ 0x7f4817ed2564 (unknown)
@ 0x7f4817ed6da9 (unknown)
@ 0x7f48032abf09 (unknown)
@ 0x7f4817ed2564 (unknown)
@ 0x7f48032ac571 (unknown)
@ 0x7f48032abfa1 dlopen
@ 0x7f4815a7488d _PyImport_GetDynLoadFunc
@ 0x7f4815ae34be _PyImport_LoadDynamicModule
@ 0x7f4815ae4300 (unknown)
@ 0x7f4815ae45c8 (unknown)
@ 0x7f4815ae56db PyImport_ImportModuleLevel
@ 0x7f4815a5c698 (unknown)
@ 0x7f4815aa81e3 PyObject_Call
@ 0x7f4815b7e447 PyEval_CallObjectWithKeywords
./train.sh: line 1: 21139 Aborted
I investigated three possible packages:
1] pips protobuf: originally 2.6 was installed. I changed to 3.3.0, recompiled caffe, still the same problem
2] libprotobuf-dev: it claims to be libprotobuf10 amd64 3.1.0
3] protobuf-compiler: it claims to be 2.6.1-1.3, a web search suggested there is currently a version maximum of 3.1.0
Any advice is highly appreciated.
Cheers,
Thom