Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.
6404 Discussions

ProtoBuffer errors installing on the Raspberry PI

idata
Employee
1,756 Views

Hello, I've been trying to get the NCSDK installed on my PI running Stretch fully updated and upgraded. The error was due to the ProtoBuffers being wrong version (supplied 2.5 but files were created with version 3 !!)- so I downloaded and installed 3.5 from googles git hub which took about 4 hours to compile . It looks like it is now building the caffe c++ objects now - FYI

0 Kudos
8 Replies
idata
Employee
1,444 Views
Nope, still crashes see log, ive taken a lot out as it would not post here pi@raspberrybot:~/workspace/ncsdk $ make install ./uninstall-opencv.sh make install starting. ./install.sh --2018-02-04 17:27:45-- http://ncs-forum-uploads.s3.amazonaws.com/ncsdk/ncsdk_01_12/ncsdk_redirector.txt Movidius Neural Compute Toolkit Setup. Checking OS and version... Installing on Raspbian Stretch Installer NCSDK version: 1.12.00.01 Creating setup directory... -- Build files have been written to: /opt/movidius/bvlc-caffe/build make[1]: Entering directory '/opt/movidius/bvlc-caffe/build' make[2]: Entering directory '/opt/movidius/bvlc-caffe/build' make[3]: Entering directory '/opt/movidius/bvlc-caffe/build' [ 1%] Running C++/Python protocol buffer compiler on /opt/movidius/bvlc-caffe/src/caffe/proto/caffe.proto [ 75%] Built target caffe make[3]: Entering directory '/opt/movidius/bvlc-caffe/build' Scanning dependencies of target upgrade_solver_proto_text make[3]: Leaving directory '/opt/movidius/bvlc-caffe/build' make[3]: Entering directory '/opt/movidius/bvlc-caffe/build' [ 75%] Building CXX object tools/CMakeFiles/upgrade_solver_proto_text.dir/upgrade_solver_proto_text.cpp.o [ 76%] Linking CXX executable upgrade_solver_proto_text ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::AssignDescriptors(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, google::protobuf::internal::MigrationSchema const*, google::protobuf::Message const* const*, unsigned int const*, google::protobuf::MessageFactory*, google::protobuf::Metadata*, google::protobuf::EnumDescriptor const**, google::protobuf::ServiceDescriptor const**)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::ArenaImpl::AllocateAlignedAndAddCleanup(unsigned int, void (*)(void*))' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteFloatArray(float const*, int, google::protobuf::io::CodedOutputStream*)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::io::CodedOutputStream::WriteVarint64SlowPath(unsigned long long)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::WireFormatLite::Int32Size(google::protobuf::RepeatedField<int> const&)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::ArenaImpl::AllocateAligned(unsigned int)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::RegisterAllTypes(google::protobuf::Metadata const*, int)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::InitProtobufDefaults()' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::io::CodedInputStream::SkipFallback(int, int)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::ArenaImpl::AddCleanup(void*, void (*)(void*))' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::WireFormatLite::WriteDoubleArray(double const*, int, google::protobuf::io::CodedOutputStream*)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::WireFormatLite::UInt32Size(google::protobuf::RepeatedField<unsigned int> const&)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::OnShutdownDestroyMessage(void const*)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::OnShutdownDestroyString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const*)' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::internal::fixed_address_empty_string[abi:cxx11]' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::Message::SpaceUsedLong() const' ../lib/libcaffe.so.1.0.0: undefined reference to `google::protobuf::Arena::OnArenaAllocation(std::type_info const*, unsigned int) const' collect2: error: ld returned 1 exit status tools/CMakeFiles/upgrade_solver_proto_text.dir/build.make:128: recipe for target 'tools/upgrade_solver_proto_text' failed make[3]: *** [tools/upgrade_solver_proto_text] Error 1 make[3]: Leaving directory '/opt/movidius/bvlc-caffe/build' CMakeFiles/Makefile2:467: recipe for target 'tools/CMakeFiles/upgrade_solver_proto_text.dir/all' failed make[2]: *** [tools/CMakeFiles/upgrade_solver_proto_text.dir/all] Error 2 make[2]: Leaving directory '/opt/movidius/bvlc-caffe/build' Makefile:127: recipe for target 'all' failed make[1]: *** [all] Error 2 make[1]: Leaving directory '/opt/movidius/bvlc-caffe/build' Installation failed. Error on line 535
0 Kudos
idata
Employee
1,444 Views

Please can anybody help? I bought this as a product that supported the raspberry pi but it is not living up to that expectation!

0 Kudos
idata
Employee
1,444 Views

@hexitex Can you try installing the NCSDK on a fresh Raspberry Pi and let me know what the results are?

0 Kudos
idata
Employee
1,444 Views

It was a fresh raspberry pi

0 Kudos
idata
Employee
1,444 Views

Did you read the first comment, the supplied files were created with a different version of protobuffer than the one in your package

0 Kudos
idata
Employee
1,444 Views

@Tome_at_Intel , I am dead in the water here - surely not having the correct version of the protobuffer is a big indication that your script is incorrect! This is just an expensive paperweight for me at the moment - I know it is a dev board but it really should work if I have satisfied the requirements to run it.

0 Kudos
idata
Employee
1,444 Views

@hexitex or @Tome_at_Intel is there a solution to this problem? As I am experiencing the same issue at line 535. I am trying the full installation, vs the API. Will the API negate this error? Will i lose out on anything if I proceed with API instead?

0 Kudos
idata
Employee
1,444 Views

@tc23 Information on Raspberry Pi installation instructions can be found at https://movidius.github.io/ncsdk/install.html. What version of the NCSDK are you trying to install? Can you post your installation log? Is this a fresh Raspberry Pi?

 

If you install API mode, you will lose out on the toolkit half of the NCSDK. This means that you will be able to run examples and any applications you have created, but you will need to compile the Movidius graph file on another machine since you won't have the compiler available. This means that this other machine will have to have the full version of the NCSDK installed and you'll have compile your model on that platform. You will then have to transfer the compiled graph file over to the Pi.

 

Once the graph file is compiled and transferred, you won't need to create another graph file unless you want to use a different model/modified your model or you install a different version of the NCSDK.

0 Kudos
Reply