lms-org / config_auto_drive

main repository for config files (includes all needed modules & libs as git submodules)
1 stars 0 forks source link

Protobuf lib conflicted mit system protobuf lib [ubuntu 16.04] #78

Closed fabolhak closed 7 years ago

fabolhak commented 7 years ago

Hey,

ich wollte gerade mal die nette Anleitung ausprobieren. Leider funktioniert der conan install Schritt bei mir nicht ganz (beim Linken der lms executable):

liblmscore.so: undefined reference to `google::protobuf::internal::empty_string_'
liblmscore.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)'
liblmscore.so: undefined reference to `pugi::xml_node::path(char) const'
liblmscore.so: undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::string const&) const'
liblmscore.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
liblmscore.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
liblmscore.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::string*)'
liblmscore.so: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::string const&))'
liblmscore.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
liblmscore.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::New()'
liblmscore.so: undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
liblmscore.so: undefined reference to `google::protobuf::Message::GetTypeName() const'

Anscheinend gibt es da wohl Probleme mit der Protobuf Lib die schon im System installiert ist: https://github.com/BVLC/caffe/issues/3046

Ich kann leider auch nicht die System Protobuf lib deinstallieren, da sich dann mein halbes Ubuntu mit deinstalliert (und nein ich würde nur sehr ungern irgendwelche Libs auf gut Glück löschen).

Auf meinem System sind die folgenden Protobuf Libs installiert:

~$ ls /usr/lib/x86_64-linux-gnu/libprotobuf* -l
-rw-r--r-- 1 root root 2362284 Okt 23  2015 /usr/lib/x86_64-linux-gnu/libprotobuf.a
-rw-r--r-- 1 root root  395748 Okt 23  2015 /usr/lib/x86_64-linux-gnu/libprotobuf-lite.a
lrwxrwxrwx 1 root root      25 Okt 23  2015 /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so -> libprotobuf-lite.so.9.0.1
lrwxrwxrwx 1 root root      25 Okt 23  2015 /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9 -> libprotobuf-lite.so.9.0.1
-rw-r--r-- 1 root root  199176 Okt 23  2015 /usr/lib/x86_64-linux-gnu/libprotobuf-lite.so.9.0.1
lrwxrwxrwx 1 root root      20 Okt 23  2015 /usr/lib/x86_64-linux-gnu/libprotobuf.so -> libprotobuf.so.9.0.1
lrwxrwxrwx 1 root root      20 Okt 23  2015 /usr/lib/x86_64-linux-gnu/libprotobuf.so.9 -> libprotobuf.so.9.0.1
-rw-r--r-- 1 root root 1170328 Okt 23  2015 /usr/lib/x86_64-linux-gnu/libprotobuf.so.9.0.1

Hattet ihr das Problem auch schon mal?

syxolk commented 7 years ago

Ja, das Problem hatten wir am Samstag auf dem Intel NUC. Hat was mit Conan zu tun.

Phibedy commented 7 years ago

Das liegt daran, das die libs wahrscheinlich nicht kompatibel zum Compiler sind. Was für einen gcc verwendest du?

fabolhak commented 7 years ago

gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609

auf

Linux fabian-notebook 4.5.2-040502-generic #201604200335 SMP Wed Apr 20 07:37:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [ubuntu 16.04]

TamasNeumer commented 7 years ago
[100%] Linking CXX executable bin/lms
liblmscore.so: undefined reference to `google::protobuf::internal::empty_string_'
liblmscore.so: undefined reference to `google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::string*)'
liblmscore.so: undefined reference to `pugi::xml_node::path(char) const'
liblmscore.so: undefined reference to `google::protobuf::DescriptorPool::FindFileByName(std::string const&) const'
liblmscore.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteString(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
liblmscore.so: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
liblmscore.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::Delete(std::string*)'
liblmscore.so: undefined reference to `google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::string const&))'
liblmscore.so: undefined reference to `google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::string const&, google::protobuf::io::CodedOutputStream*)'
liblmscore.so: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::New()'
liblmscore.so: undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)'
liblmscore.so: undefined reference to `google::protobuf::Message::GetTypeName() const'
collect2: error: ld returned 1 exit status
CMakeFiles/lms.dir/build.make:95: recipe for target 'bin/lms' failed
make[2]: *** [bin/lms] Error 1
CMakeFiles/Makefile2:104: recipe for target 'CMakeFiles/lms.dir/all' failed
make[1]: *** [CMakeFiles/lms.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

lms/2.0@lms/stable: ERROR: Package '13a8d081f533db91339ab619a0f71485c8820c78' build failed
lms/2.0@lms/stable: WARN: Build folder /home/phoenix/.conan/data/lms/2.0/lms/stable/build/13a8d081f533db91339ab619a0f71485c8820c78
ERROR: lms: Error 512 while executing cmake --build . 
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
Phibedy commented 7 years ago

Wir warten auf eine Antwort: https://github.com/memsharded/conan-protobuf/issues/7

fabolhak commented 7 years ago

hab auf gcc 4.8 gewechselt und da geht es: https://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu