Приложение, которое использует protobuf 2.6, не работает в Ubuntu 17.10

У меня есть приложение Qt, которое статически связывается с protobuf 2.6.

Когда я пытаюсь запустить его в Ubuntu 17.10, я получаю исключение при запуске.

[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 "/build/mir-y44crS/mir-0.28.0+17.10.20171011.1/
 obj-x86_64-linux-gnu/src/protobuf/mir_protobuf.pb.cc".)

Глядя на трассировку стека, я вижу, что источником исключения является файл protobuf, называемый mir_protobuf.pb.cc в libmirprotobuf.so.3

#8  google::protobuf::internal::VerifyVersion (headerVersion=3000000, minLibraryVersion=<optimized out>, filename=0x7f56e740fb00 "/build/mir-y44crS/mir-0.28.0+17.10.20171011.1/obj-x86_64-linux-gnu/src/protobuf/mir_protobuf.pb.cc") at google/protobuf/stubs/common.cc:61
#9  0x00007f56e73dd2bb in mir::protobuf::protobuf_AddDesc_mir_5fprotobuf_2eproto() () from /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3
#10 0x00007f56e73d0109 in ?? () from /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3

Глубже в трассировка стека Я вижу, это вызывается Qt, через libqgtk3.so

#16 0x00007f56f9cde0d9 in _dl_open (file=0x55c572496638 "/usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/libqgtk3.so", mode=-2147479551, caller_dlopen=0x7f56f840571c, nsid=-2, argc=<optimized out>, argv=<optimized out>, env=0x7ffe60c11c38) at dl-open.c:660
...
#23 0x00007f56f83ef068 in QFactoryLoader::instance(int) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

protobuf 3 по умолчанию установлен в Ubuntu 17.10

libmirprotobuf3/artful,now 0.28.0+17.10.20171011.1-0ubuntu1 amd64 [installed,automatic]
libprotobuf-dev/artful,now 3.0.0-9ubuntu5 amd64 [installed]
libprotobuf-lite10/artful,now 3.0.0-9ubuntu5 amd64 [installed,automatic]
libprotobuf10/artful,now 3.0.0-9ubuntu5 amd64 [installed,automatic]

Мое приложение статически связывается с protobuf 2.6 , но, похоже, это мешает libmirprotobuf.so.3.

Можно ли запустить мое приложение в Ubuntu 17.10?

1
задан 23 December 2017 в 00:08

0 ответов

Другие вопросы по тегам:

Похожие вопросы: