[Bug 1739814] [NEW] Cannot run apps with protobuf 2.6 on Ubuntu 17.10
Public bug reported: I have a Qt 5 application which has a dependency on protobuf 2.6. Having upgraded to Ubuntu 17.10 I am no longer able to run it. > [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".) When building my app, I am linking against the static version of protobuf, `libprotobuf.a`. However, by default, protobuf 3 is installed: 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] A back trace shows the exception originates from `/usr/lib/x86_64-linux- gnu/libmirprotobuf.so.3`. #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x7f56f74e5f5d in __GI_abort () at abort.c:90 #2 0x7f56f7e8c095 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x7f56f7e89c86 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x7f56f7e89cd1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x7f56f7e89f14 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #6 0x55c570b362c7 in google::protobuf::internal::LogMessage::Finish (this=this@entry=0x7ffe60c10c90) at google/protobuf/stubs/common.cc:195 #7 0x55c570b36658 in google::protobuf::internal::LogFinisher::operator= (other=..., this=) at google/protobuf/stubs/common.cc:203 #8 google::protobuf::internal::VerifyVersion (headerVersion=300, minLibraryVersion=, 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 0x7f56e73dd2bb in mir::protobuf::protobuf_AddDesc_mir_5fprotobuf_2eproto() () from /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3 #10 0x7f56e73d0109 in ?? () from /usr/lib/x86_64-linux-gnu/libmirprotobuf.so.3 #11 0x7f56f9cd9a6a in call_init (l=, argc=argc@entry=1, argv=argv@entry=0x7ffe60c11c28, env=env@entry=0x7ffe60c11c38) at dl-init.c:72 #12 0x7f56f9cd9b7b in call_init (env=0x7ffe60c11c38, argv=0x7ffe60c11c28, argc=1, l=) at dl-init.c:30 #13 _dl_init (main_map=main_map@entry=0x55c5724d2800, argc=1, argv=0x7ffe60c11c28, env=0x7ffe60c11c38) at dl-init.c:120 #14 0x7f56f9cdeb86 in dl_open_worker (a=a@entry=0x7ffe60c0) at dl-open.c:575 #15 0x7f56f7605d64 in __GI__dl_catch_error (objname=objname@entry=0x7ffe60c11100, errstring=errstring@entry=0x7ffe60c11108, mallocedp=mallocedp@entry=0x7ffe60c110ff, operate=operate@entry=0x7f56f9cde7a0 , args=args@entry=0x7ffe60c0) at dl-error-skeleton.c:198 #16 0x7f56f9cde0d9 in _dl_open (file=0x55c572496638 "/usr/lib/x86_64-linux-gnu/qt5/plugins/platformthemes/libqgtk3.so", mode=-2147479551, caller_dlopen=0x7f56f840571c, nsid=-2, argc=, argv=, env=0x7ffe60c11c38) at dl-open.c:660 #17 0x7f56f5f29ff6 in dlopen_doit (a=a@entry=0x7ffe60c11320) at dlopen.c:66 #18 0x7f56f7605d64 in __GI__dl_catch_error (objname=objname@entry=0x55c5724503d0, errstring=errstring@entry=0x55c5724503d8, mallocedp=mallocedp@entry=0x55c5724503c8, operate=operate@entry=0x7f56f5f29fa0 , args=args@entry=0x7ffe60c11320) at dl-error-skeleton.c:198 #19 0x7f56f5f2a759 in _dlerror_run (operate=operate@entry=0x7f56f5f29fa0 , args=args@entry=0x7ffe60c11320) at dlerror.c:163 #20 0x7f56f5f2a092 in __dlopen (file=, mode=) at dlopen.c:87 #21 0x7f56f840571c in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #22 0x7f56f83feb45 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #23 0x7f56f83ef068 in QFactoryLoader::instance(int) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #24 0x7f56f89b4c23 in QPlatformThemeFactory::create(QString const&, QString const&) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #25 0x7f56f89c2448 in QGuiApplicationPrivate::createPlatformIntegration() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #26 0x7f56f89c2e3d in QGuiApplicationPrivate::createEventDispatcher() () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #27 0x7f56f8410b85 in QCoreApplicationPrivate::init() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #28 0x7f56f89c48cf in QGuiApplicationPrivate::init() () from
[Bug 1737608] Re: RPATH no longer respected for indirect dependencies
** Package changed: ubuntu => glibc (Ubuntu) -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1737608 Title: RPATH no longer respected for indirect dependencies To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/glibc/+bug/1737608/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1737608] [NEW] RPATH no longer respected for indirect dependencies
Public bug reported: Regression from Ubuntu 16.04 to Ubuntu 17.10. I am building a binary with a hard-coded RUNPATH, pointing to the location of some vendor-supplied shared libraries. $ readelf -d /home/steve/src/krx/tests/krx.test | grep RUNPATH 0x001d (RUNPATH)Library runpath: [../library] On Ubuntu 16.04 the RUNPATH allowed us to locate the libraries. $ ldd ./krx.test ... libinisafeNet.so => ../library/libinisafeNet.so (0x7f35c7754000) libiniCore.so => ../library/libiniCore.so (0x7f35c5bea000) libiniPKI.so => ../library/libiniPKI.so (0x7f35c5952000) libiniCrypto.so => ../library/libiniCrypto.so (0x7f35c56e6000) On Ubuntu 17.10 it no longer works $ ldd ./krx.test ... libinisafeNet.so => ../library/libinisafeNet.so (0x7fb4acc38000) libiniCore.so => not found libiniPKI.so => not found libiniCrypto.so => not found Note that setting LD_LIBRARY_PATH does allow the libraries to be found $ export LD_LIBRARY_PATH=../library $ ldd ./krx.test ... libinisafeNet.so => ../library/libinisafeNet.so (0x7fa787659000) libiniCore.so => ../library/libiniCore.so (0x7fa785a86000) libiniPKI.so => ../library/libiniPKI.so (0x7fa7857ee000) libiniCrypto.so => ../library/libiniCrypto.so (0x7fa785582000) --- >> LD_DEBUG for Ubuntu 16.04 << I set LD_DEBUG=all and ran ldd against my binary. Here is an excerpt for libiniCore.so: 30438: file=libiniCore.so [0]; needed by ../library/libinisafeNet.so [0] 30438: find library=libiniCore.so [0]; searching 30438: search path=../library/tls/x86_64:../library/tls:../library/x86_64:../library (RPATH from file ./krx.test) 30438: trying file=../library/tls/x86_64/libiniCore.so 30438: trying file=../library/tls/libiniCore.so 30438: trying file=../library/x86_64/libiniCore.so 30438: trying file=../library/libiniCore.so The library is successfully located, and as can be seen from the search path section, it is using RPATH from file ./krx.test. --- >> LD_DEBUG for Ubuntu 17.10 << I set LD_DEBUG=all and ran ldd against my binary. Here is an excerpt for libiniCore.so: (it now uses the system search path, not the krx.test RPATH) 20027: file=libiniCore.so [0]; needed by ../library/libinisafeNet.so [0] 20027: find library=libiniCore.so [0]; searching 20027: search cache=/etc/ld.so.cache 20027: search path=/lib/x86_64-linux-gnu/tls/haswell/x86_64:/lib/x86_64-linux-gnu/tls/haswell:/lib/x86_64-linux-gnu/tls/x86_64:/lib/x86_64-linux-gnu/tls:/lib/x86_64-linux-gnu/haswell/x86_64:/lib/x86_64-linux-gnu/haswell:/lib/x86_64-linux-gnu/x86_64:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu/tls/haswell/x86_64:/usr/lib/x86_64-linux-gnu/tls/haswell:/usr/lib/x86_64-linux-gnu/tls/x86_64:/usr/lib/x86_64-linux-gnu/tls:/usr/lib/x86_64-linux-gnu/haswell/x86_64:/usr/lib/x86_64-linux-gnu/haswell:/usr/lib/x86_64-linux-gnu/x86_64:/usr/lib/x86_64-linux-gnu:/lib/tls/haswell/x86_64:/lib/tls/haswell:/lib/tls/x86_64:/lib/tls:/lib/haswell/x86_64:/lib/haswell:/lib/x86_64:/lib:/usr/lib/tls/haswell/x86_64:/usr/lib/tls/haswell:/usr/lib/tls/x86_64:/usr/lib/tls:/usr/lib/haswell/x86_64:/usr/lib/haswell:/usr/lib/x86_64:/usr/lib (system search path) 20027: trying file=/lib/x86_64-linux-gnu/tls/haswell/x86_64/libiniCore.so 20027: trying file=/lib/x86_64-linux-gnu/tls/haswell/libiniCore.so 20027: trying file=/lib/x86_64-linux-gnu/tls/x86_64/libiniCore.so 20027: trying file=/lib/x86_64-linux-gnu/tls/libiniCore.so 20027: trying file=/lib/x86_64-linux-gnu/haswell/x86_64/libiniCore.so 20027: trying file=/lib/x86_64-linux-gnu/haswell/libiniCore.so 20027: trying file=/lib/x86_64-linux-gnu/x86_64/libiniCore.so ... ... 20027: trying file=/lib/x86_64/libiniCore.so 20027: trying file=/lib/libiniCore.so 20027: trying file=/usr/lib/tls/haswell/x86_64/libiniCore.so 20027: trying file=/usr/lib/tls/haswell/libiniCore.so 20027: trying file=/usr/lib/tls/x86_64/libiniCore.so 20027: trying file=/usr/lib/tls/libiniCore.so 20027: trying file=/usr/lib/haswell/x86_64/libiniCore.so 20027: trying file=/usr/lib/haswell/libiniCore.so 20027: trying file=/usr/lib/x86_64/libiniCore.so 20027: trying file=/usr/lib/libiniCore.so So it seems the behaviour of ld has changed, and since it is an indirect dependency (krx.test --> libinisafeNet.so --> libiniCore.so) the RPATH for krx.test is no longer used. ** Affects: ubuntu Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1737608 Title: RPATH no longer respected for indirect dependencies To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+bug/1737608/+subscriptions --
[Bug 1591868] Re: fwupd consuming 100% CPU
How can I get this fix in Xenial? -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1591868 Title: fwupd consuming 100% CPU To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/appstream-glib/+bug/1591868/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 1617838] [NEW] std::isnan and isnan visibility problems
Public bug reported: Consider the following small test application: #include #include #include int main() { double d = NAN; std::cout << std::isnan(d) << '\n'; std::cout << isnan(d) << '\n'; return 0; } Compiling on Ubuntu 16.04 with g++-5.4.0 using C++11 standard fails: $ g++ -std=c++11 main.cpp main.cpp: In function ‘int main()’: main.cpp:10:25: error: ‘isnan’ was not declared in this scope std::cout << isnan(d) << '\n'; ^ main.cpp:10:25: note: suggested alternative: In file included from main.cpp:3:0: /usr/include/c++/5/cmath:641:5: note: ‘std::isnan’ isnan(_Tp __x) ^ I've compiled this on Centos gcc-4.9.1 and gcc-5.2.1 and it works on both. I've compiled this on Ubuntu gcc-4.9.3 and that too works. However, compiling on Ununtu gcc-5.4.0 doesn't. I've also tried several online compilers, with mixed results. Wandbox has gcc-6.3.0, gcc-5.2.0, gcc-5.1.0 and they all compiled fine. Godbolt broke for gcc-4.9.2 through gcc-5.3, but then works on 6.1. Given it works for gcc-5.2.0 on Wandbox and breaks for gcc-5-2.0 on Godbolt makes me thing one must be using a patched standard library. ** Affects: gcc-5 (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1617838 Title: std::isnan and isnan visibility problems To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1617838/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs