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

Reply via email to