[PD-dev] how to load shared code for libraries
Hans-Christoph Steiner
hans at at.or.at
Wed Sep 28 15:07:02 CEST 2011
On Sep 28, 2011, at 3:15 AM, IOhannes m zmoelnig wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 2011-09-27 21:55, Hans-Christoph Steiner wrote:
>>
>> That's a good break down of the issues. I'll checkout @loader_path.
>> The @executable_path technique has been in Pd-extended for a long
>> time,
>> check out all of the libs in Pd-extended.app/Contents/lib by doing
>> something like:
>>
>> otool -L /Applications/Pd-extended.app/Contents/lib/libavcodec.
>> 51.dylib
>>
>> But this still leaves us with Windows and GNU/Linux, right? I
>> think the
>> original idea of setting the LD_LIBRARY_PATH when loading, then
>> unsetting, is a good one. It would be good to have all platforms use
>> the same technique.
>>
>
> seems like my other mail got unnoticed: i find that the
> LD_LIBRARY_PATH
> trick does NOT work as expected, as this variable is only evaluated at
> strttime of the application, and setting it via setenv() seems to not
> effect dlopen().
Ah, ok, that changes things. So you are sure there isn't a way to
make this work? If so, do you think there are other shared library
techniques you think could work? Otherwise, it looks like we are back
to my original manual dlopen() proposal.
.hc
----------------------------------------------------------------------------
As we enjoy great advantages from inventions of others, we should be
glad of an opportunity to serve others by any invention of ours; and
this we should do freely and generously. - Benjamin Franklin
More information about the Pd-dev
mailing list