[PD] dynamic loading in external
dmedine at ucsd.edu
Fri Jan 9 22:34:13 CET 2015
I am writing an extern that uses a 3rd party shared object library. I
keep getting a
"cannot open shared object file: No such file or directory"
posted to the Pd console when I load the extern. The library is linking
properly in my makefile (as far as I can tell) and the .so file that I
want the extern to load is in the same folder as the extern. I have also
put the path to the unfound library in Pd's path list.
I have also compiled a different, plain old dylib/shared object/dll
using this very same library for use in python and it works perfectly.
I've also written C and C++ programs that link to this library at run
time and they work perfectly too. Does anybody have any idea why Pd
I have also done dynamic loading successfully in a Pd extern using the
sphinx library. The only difference there was that there the sphinx
libraries were installed in a standard library directory (ie /usr/lib or
something like that) . I can't try to do this right now because I don't
have su rights on the computer I am using. My understanding, though, is
that linux should be searching for dynamic libraries in the directory
that the parent application is in. So I also tried putting my unfound
library in pd-0-whatever/bin. No joy.
I have tried compiling using gcc and g++ on linux. I've also tried to
link with those compilers as well as ld (which is called by those
compilers if you link with them). I haven't tried any other OSs yet.
Thanks in advance,
More information about the Pd-list