opening a shared object / failing with Undefined Symbol.
Jim
stapleton.41 at gmail.com
Tue Mar 22 13:59:22 UTC 2011
I have an application that opens two .so files with dlopen(3):
/usr/local/lib/libag_core.so
/usr/local/lib/libag_gui.so
Both files exist
Running nm(1) against each produces a lot of output, showing all the
symbols I know to exist in each library.
My application gets a null return from dlopen on the libag_gui.so.
dlerror produces the following string:
"/usr/local/lib/libag_gui.so Undefined symbol "agTimingLock"
$ nm /usr/local/lib/libag_gui.so | grep agTiming
U agTimingLock
I'm guessing that means that agTimingLock is used in that library but
not defined?
$ nm /usr/local/lib/libag_core.so | grep agTiming
0000000000141c00 B agTimingLock
And this would mean that it is defined in libag_core.so?
Given that libag_core.so gets loaded first, does anyone have any
suggestions on how to fix such an issue? (Note: I didn't write this
library, I did compile/install it)
Thanks,
-Jim Stapleton
More information about the freebsd-questions
mailing list