On Mon, Jul 29, 2013 at 12:47:37PM +0400, Alexander Pyhalov wrote: > Hello. > > On 07/29/2013 11:54, Andrzej Szeszo wrote: > > Hi Alexander > > [...] > > I see your point. > I've looked at something like this: > https://github.com/pyhalov/oi-userland/compare/gcc-links to avoid > duplicating libraries in /usr/gcc/4.x/lib and /usr/lib and avoid mess with > RPATH (for example, libgfortran.so has RPATH set to $PREFIX/lib, so if we > link with it libraries from /usr/lib/gcc/4.7 become preferred to libraries > in /usr/lib.
We's seen good results if runtime libs are loaded first from a fully private directory. If that directory prints the major.minor version of the compiler then always the version of lib is loaded where the binary has been compiled with. The to follow the way versioned installation directory layout is done for the Solaris, the layout should be: /usr/gcc/4.7/lib (package: gcc-47-runtime) you may add an optional fallback: /usr/gcc/lib (package: gcc-4-runtime, only mediated symlinks to /usr/gcc/4.7/lib/lib*so*) gcc-4-runtime should have a dependency on the platform- default version of gcc-47-runtime. /usr/lib does not need any more symlinks to the runtime- libs, as every software delivered has a pacakge dependency on ether gcc-4-runtime or gcc-47-runtime in a case where a specific gcc version is required to have the Software compile/work. An Example would be QT 4.8.3 which only works with gcc 4.6 and below as C++11 and QT4.8 aren't working without a lot patching. Regards, Thomas _______________________________________________ oi-dev mailing list oi-dev@openindiana.org http://openindiana.org/mailman/listinfo/oi-dev