On Wed, Oct 29, 2008 at 10:30:17PM +0100, C. Florian Ebeling said: > Hi, > > I recently came across the statement that one needs to set the > DYLD_LIBRARY_PATH > variable if you want to run an executable linked against a dynamic > library which is not to be found > in any of the standard locations (~/lib:/usr/lib:/usr/local/lib). That > is the case for all mp installed > libraries, I'd say. My immediate reaction was that this is not true, > and that everything is fine > without the variable as long as `otool -L' points to the right > location. So the "install name" counts. > To be sure I reviewed some of the apple documentation [1][2], and that > read quite like you _do_ > really need the variable. So what is the truth now? :) Please > enlighten me. Do you really > need a special environment at run time when you use a library > installed by MacPorts? -- because > that's what it comes down to, effectively. >
You might be commingling two different, but similar, ideas: an item can be linked directly against a dylib (eg, what you see with 'otool -L') and you can load a dylib (or bundle) at runtime using dlopen(). If 'otool -L' shows a given item linked against the right libs, then for those you don't need to fool with any env variables. dlopen(), I believe, does need to know if you're installing items outside the standard locations. Also, I believe that using the fallback version is preferred when one must be used, there's been issues with the system having trouble finding stuff when DYLD_LIBRARY_PATH was used. Bryan > (Add-on question: are dynamic libraries usually "dependent libraries" > or are the "dynamically loaded > libaries" -- and how do you tell?) > > Cheers, > Florian > > [1] http://url.ie/ug8 > [2] http://url.ie/uga > > > -- > Florian Ebeling > Twitter: febeling > [EMAIL PROTECTED] _______________________________________________ macports-dev mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev
