On 2017-06-13 11:46 -0700, L A Walsh wrote: > I compiled & installed the gcc suite to get the 6.x toolset (only had 4.x > available before). > > A side effect of this has cropped up in various libs generated > by the new toolset that other tools link to: > > /home/opt/Qt/5.8/gcc_64/plugins/platforms/libqxcb.so: > /usr/lib64/libQt5Core.so.5: no version information available (required > by /home/opt/Qt/5.8/gcc_64/plugins/platforms/libqxcb.so) > > Why did this disappear w/new gcc? Did I leave off some > switch in gcc-config or in compiling or linking the libs? > > Why is an internal version number needed? Wasn't the > ".so" extension supposed to allow for library versioning > along the lines of: > > foo.so.4.3 > foo.so.5.8 > foo.so.4 => foo.so.4.3 > foo.so.5 => foo.so.5.8 > foo.so => foo.so.5 Libstdc++ has been using version number 6.0.x for a long time. For each release we bump x and add some symbols. See <https://gcc.gnu.org/onlinedocs/gcc-6.3.0/libstdc++/manual/manual/abi.html>. Your issue happens because an ABI change in GCC 5 release (most likely). The page <https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html> should help you. I think building your libqxcb.so with -D_GLIBCXX_USE_CXX11_ABI=0 can solve your issue now. But as the BLFS book suggested <http://linuxfromscratch.org/blfs/view/systemd/general/gcc.html>, you should either recompile all of your C++ shared libraries, or configure your GCC 6 with "--with-default-libstdcxx-abi=gcc4-compatible", in order to prevent this issue happening again. > (not that such is used very often on linux for some reason). > > Thanks much! > Linda > > > -- Xi Ruoyao <ryxi@xxxxxxxxxxxxxxxxx> School of Aerospace Science and Technology, Xidian University