On Mon, 2011-02-07 at 08:28 -0600, Gabriel M. Beddingfield wrote: > > On Mon, 7 Feb 2011, Miretti, Gabriel wrote: > > > Hi, I just begin to work with Meego and particularly with Meego Compliance. > > > > In 3.2.2, the specification says: > > My question: There is a preferred/recommended/mandatory > > method to load this libraries in order to avoid clashes > > shared libraries of different applications? For example, > > two 3rd party applications supplied "libgsoap.so", one > > "libgsoap.so.1" and the other "libgsoap.so.0", if both > > exposes its shared libraries one of them probably will > > crash.
> Suppose that your app needs 3rd party libs and you install > them in the folder /opt/foo/lib. Before you start your app, > you can manipulate the LD_LIBRARY_PATH to pull in your lib > folder. > > ### BEGIN STARTUP SCRIPT ### > #!/bin/sh > > LD_LIBRARY_PATH="/opt/foo/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" > export LD_LIBRARY_PATH > > exec /opt/foo/foo.bin "$@" > ### END ### So imagine the case of openssl, you provide it as it is not Meego Core, it's linked to a specific version. Meego provides a different one, you an't link to it in theory as it is not a core lib. In this example you then bring in Qt to your application which does a dlopen on it's openssl. This basically crashes your app. My point being, some libs just probably shouldn't be allowed even in an LD_LIBRARY_PATH.
_______________________________________________ MeeGo-dev mailing list MeeGo-dev@meego.com http://lists.meego.com/listinfo/meego-dev