On Tue Jan 09, 2007 at 12:03:14AM +0100, Georg Holzmann wrote:
Hallo!
So is there a way how the externals can find the shared library, whithout copying it into a global library path like /usr/lib/ ?
It seems that the only way is, to add the /full/path/to/installed/library/directory to the LD_LIBRARY_PATH variable before starting pd ...
I think you can link to it using a relative path, or even better, just the same dir, i.e. "." Mac OS X has handy tools for managing library paths (otool -L and install_name_tool), I don't know about other platforms.
"." does not work on linux - I would have to install the library first and then link it to the full path where I have it installed.
So it seems that the only way is to use dlopen() - where I have to modify the source (and handle it seperate for all platforms in the source file ...). I think it's not worth to do that for PDContainer - but we can continue to think about it if we can also use it for other externals ;)
how about modifying s_loader to also check in system paths for externals.. then you could reuse the same method regardless of whether its external to PD, or external to PD externals..
LG Georg
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev