[oi-dev] gcc 4.8 update and binary compatibility

Alexander Pyhalov alp at rsu.ru
Mon Jun 30 08:02:12 UTC 2014


Hello.
I'm looking at adding gcc 4.8 package.

I have a big question about g++-4-runtime package.
For example, OmniOS g++-4-runtime includes
/usr/lib/libstdc++.so.6.0.18
/usr/lib/libstdc++.so.6.0.17
and so on.

But if we look, for example, at percona:
$ ldd /usr/percona-server/5.6/bin/mysql
         libthread.so.1 =>        /lib/libthread.so.1
         libsocket.so.1 =>        /lib/libsocket.so.1
         libssl.so.1.0.0 =>       /lib/libssl.so.1.0.0
         libcrypto.so.1.0.0 =>    /lib/libcrypto.so.1.0.0
         libcurses.so.1 =>        /lib/libcurses.so.1
         libstdc++.so.6 =>        /usr/lib/libstdc++.so.6
         libm.so.2 =>     /lib/libm.so.2
         libgcc_s.so.1 =>         /usr/lib/libgcc_s.so.1
         libc.so.1 =>     /lib/libc.so.1
         libnsl.so.1 =>   /lib/libnsl.so.1
         libdl.so.1 =>    /lib/libdl.so.1
         libmp.so.2 =>    /lib/libmp.so.2
         libmd.so.1 =>    /lib/libmd.so.1

we can see that it is linked to libstdc++.so.6. So, if we update link, 
runtime linker will load binary incompatible library.

Are there any ideas how to preserve binary compatibility on this update?
Or perhaps we should apply gcc-05-LINK_LIBGCC_SPEC-46.diff patch and 
avoid providing runtimes for gcc in /usr/lib ?
-- 
Best regards,
Alexander Pyhalov,
system administrator of Computer Center of Southern Federal University




More information about the oi-dev mailing list