University of Southern CaliforniaUSC
USC ICT TwitterUSC ICT FacebookUSC ICT YouTube

Building smartbody on Linux | General SmartBody Discussion | Forum

Avatar

Please consider registering
guest

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —




— Match —





— Forum Options —





Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
Building smartbody on Linux
May 15, 2017
10:30 am
Avatar
Member
Members
Forum Posts: 7
Member Since:
May 15, 2017
sp_UserOfflineSmall Offline

Hi there,

I am trying to build smartbody on Ubuntu 16.04 with protoc version 2.6.1, protobuf-compiler version 2.6.1-1.3, gcc version 5.4.0 . While 'make install', I am receiving the following error:

In file included from src/SmartBody/sb/SBMotion.cpp:28:0:
src/SmartBody/./protocols/sbmotion.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc whi
^
src/SmartBody/./protocols/sbmotion.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please
^
src/SmartBody/./protocols/sbmotion.pb.h:14:2: error: #error your headers.
#error your headers.
^
In file included from src/SmartBody/sb/SBMotion.cpp:28:0:
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion_MetaData::clear_metadataname()’:
src/SmartBody/./protocols/sbmotion.pb.h:344:25: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadataname_ != &::google::protobuf::internal::GetEmptyS
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion_MetaData::set_metadataname(const string&)’:
src/SmartBody/./protocols/sbmotion.pb.h:355:25: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadataname_ == &::google::protobuf::internal::GetEmptyS
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion_MetaData::set_metadataname(const char*)’:
src/SmartBody/./protocols/sbmotion.pb.h:363:25: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadataname_ == &::google::protobuf::internal::GetEmptyS
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion_MetaData::set_metadataname(const char*, size_t)’:
src/SmartBody/./protocols/sbmotion.pb.h:371:25: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadataname_ == &::google::protobuf::internal::GetEmptyS
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘std::__cxx11::string* SmartBodyBinary::Motion_MetaData::mutable_metadataname()’:
src/SmartBody/./protocols/sbmotion.pb.h:379:25: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadataname_ == &::google::protobuf::internal::GetEmptyS
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘std::__cxx11::string* SmartBodyBinary::Motion_MetaData::release_metadataname()’:
src/SmartBody/./protocols/sbmotion.pb.h:387:25: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadataname_ == &::google::protobuf::internal::GetEmptyS
^
src/SmartBody/./protocols/sbmotion.pb.h:391:50: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
metadataname_ = const_cast< ::std::string*>(&::google::prot
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion_MetaData::set_allocated_metadataname(std::__cxx11::string*)’:
src/SmartBody/./protocols/sbmotion.pb.h:396:25: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadataname_ != &::google::protobuf::internal::GetEmptyS
^
src/SmartBody/./protocols/sbmotion.pb.h:404:50: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
metadataname_ = const_cast< ::std::string*>(&::google::prot
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion_MetaData::clear_metadatavalue()’:
src/SmartBody/./protocols/sbmotion.pb.h:420:26: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadatavalue_ != &::google::protobuf::internal::GetEmpty
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion_MetaData::set_metadatavalue(const string&)’:
src/SmartBody/./protocols/sbmotion.pb.h:431:26: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadatavalue_ == &::google::protobuf::internal::GetEmpty
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion_MetaData::set_metadatavalue(const char*)’:
src/SmartBody/./protocols/sbmotion.pb.h:439:26: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadatavalue_ == &::google::protobuf::internal::GetEmpty
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion_MetaData::set_metadatavalue(const char*, size_t)’:
src/SmartBody/./protocols/sbmotion.pb.h:447:26: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadatavalue_ == &::google::protobuf::internal::GetEmpty
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘std::__cxx11::string* SmartBodyBinary::Motion_MetaData::mutable_metadatavalue()’:
src/SmartBody/./protocols/sbmotion.pb.h:455:26: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadatavalue_ == &::google::protobuf::internal::GetEmpty
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘std::__cxx11::string* SmartBodyBinary::Motion_MetaData::release_metadatavalue()’:
src/SmartBody/./protocols/sbmotion.pb.h:463:26: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadatavalue_ == &::google::protobuf::internal::GetEmpty
^
src/SmartBody/./protocols/sbmotion.pb.h:467:51: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
metadatavalue_ = const_cast< ::std::string*>(&::google::pro
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion_MetaData::set_allocated_metadatavalue(std::__cxx11::string*)’:
src/SmartBody/./protocols/sbmotion.pb.h:472:26: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (metadatavalue_ != &::google::protobuf::internal::GetEmpty
^
src/SmartBody/./protocols/sbmotion.pb.h:480:51: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
metadatavalue_ = const_cast< ::std::string*>(&::google::pro
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion::clear_name()’:
src/SmartBody/./protocols/sbmotion.pb.h:500:17: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (name_ != &::google::protobuf::internal::GetEmptyStringAlr
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion::set_name(const string&)’:
src/SmartBody/./protocols/sbmotion.pb.h:511:17: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (name_ == &::google::protobuf::internal::GetEmptyStringAlr
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion::set_name(const char*)’:
src/SmartBody/./protocols/sbmotion.pb.h:519:17: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (name_ == &::google::protobuf::internal::GetEmptyStringAlr
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion::set_name(const char*, size_t)’:
src/SmartBody/./protocols/sbmotion.pb.h:527:17: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (name_ == &::google::protobuf::internal::GetEmptyStringAlr
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘std::__cxx11::string* SmartBodyBinary::Motion::mutable_name()’:
src/SmartBody/./protocols/sbmotion.pb.h:535:17: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (name_ == &::google::protobuf::internal::GetEmptyStringAlr
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘std::__cxx11::string* SmartBodyBinary::Motion::release_name()’:
src/SmartBody/./protocols/sbmotion.pb.h:543:17: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (name_ == &::google::protobuf::internal::GetEmptyStringAlr
^
src/SmartBody/./protocols/sbmotion.pb.h:547:42: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
name_ = const_cast< ::std::string*>(&::google::protobuf::in
^
src/SmartBody/./protocols/sbmotion.pb.h: In member function ‘void SmartBodyBinary::Motion::set_allocated_name(std::__cxx11::string*)’:
src/SmartBody/./protocols/sbmotion.pb.h:552:17: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
if (name_ != &::google::protobuf::internal::GetEmptyStringAlr
^
src/SmartBody/./protocols/sbmotion.pb.h:560:42: error: ‘GetEmptyStringAlreadyInited’ is not a member of ‘google::protobuf::internal’
name_ = const_cast< ::std::string*>(&::google::protobuf::in
^
src/SmartBody/CMakeFiles/SmartBody.dir/build.make:8318: recipe for target 'src/SmartBody/CMakeFiles/SmartBody.dir/sb/SBMotion.cpp.o' failed
make[2]: *** [src/SmartBody/CMakeFiles/SmartBody.dir/sb/SBMotion.cpp.o] Error 1
CMakeFiles/Makefile2:378: recipe for target 'src/SmartBody/CMakeFiles/SmartBody.dir/all' failed
make[1]: *** [src/SmartBody/CMakeFiles/SmartBody.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

I re-installed the libprotobuf-dev but still seem to get the error. Does smartbody requires an older version of the protobuf-compiler? I am not sure what the error indicates to ? Can you help me on this?

Thanks.

May 16, 2017
12:20 pm
Avatar
Admin
Forum Posts: 980
Member Since:
December 1, 2011
sp_UserOfflineSmall Offline

I am using an older version of protocol buffers (version 2.5). The .proto files are the source, then Google Protocol buffers turns those files into .h and .cpp files.

You could try to delete the .h and .cpp files in smartbody/core/smartbody/SmartBody/src/protocols and see if the Makefile will rebuild them for you properly.

 

Ari

May 17, 2017
10:37 am
Avatar
Member
Members
Forum Posts: 7
Member Since:
May 15, 2017
sp_UserOfflineSmall Offline

Hi Ari, thanks for your reply.

I deleted sbmesh.pb.h, sbmotion.pd.h and sbutilities.pb.h since they were the only ones. It reinstalled sbmotion by itself, but gave this error for sbmesh and sbutilities:

/home/user/smartbody/src/SmartBody/sbm/sbm_deformable_mesh.cpp:30:33: fatal error: protocols/sbmesh.pb.h: No such file or directory
 #include <protocols/sbmesh.pb.h>
                                 ^
compilation terminated.
src/SmartBody/CMakeFiles/SmartBody.dir/build.make:6950: recipe for target 'src/SmartBody/CMakeFiles/SmartBody.dir/sbm/sbm_deformable_mesh.cpp.o' failed
make[2]: *** [src/SmartBody/CMakeFiles/SmartBody.dir/sbm/sbm_deformable_mesh.cpp.o] Error 1
CMakeFiles/Makefile2:378: recipe for target 'src/SmartBody/CMakeFiles/SmartBody.dir/all' failed
make[1]: *** [src/SmartBody/CMakeFiles/SmartBody.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2

So, I reinstalled those but the protoc error is only given for 'sbmotion', which Makefile re-creates itself. Any idea what might be the next step?

Btw, I could only find the procols directory in smartbody/src/SmartBody/protocols. And it did not have any .cpp files.

May 17, 2017
1:41 pm
Avatar
Admin
Forum Posts: 980
Member Since:
December 1, 2011
sp_UserOfflineSmall Offline

Can you erase all .h and .cpp and .cc files in protocols/ ? Everything should be generated from the protoc compiler.

May 19, 2017
10:29 am
Avatar
Member
Members
Forum Posts: 7
Member Since:
May 15, 2017
sp_UserOfflineSmall Offline

I did, but it did not regenerate them. Getting this error:

[  6%] Built target vhcl
[  9%] Built target vhmsg
[ 33%] Built target steerlib
[ 35%] Built target pprAI
make[2]: *** No rule to make target '../src/SmartBody/protocols/sbmotion.pb.cc', needed by 'src/SmartBody/CMakeFiles/protoctarget'.  Stop.
CMakeFiles/Makefile2:342: recipe for target 'src/SmartBody/CMakeFiles/protoctarget.dir/all' failed
make[1]: *** [src/SmartBody/CMakeFiles/protoctarget.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2