opening a shared object / failing with Undefined Symbol.

Jim stapleton.41 at
Tue Mar 22 13:59:22 UTC 2011

I have an application that opens two .so files with dlopen(3):

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

dlerror produces the following string:
  "/usr/local/lib/ Undefined symbol "agTimingLock"

$ nm /usr/local/lib/ | grep agTiming
                 U agTimingLock

I'm guessing that means that agTimingLock is used in that library but
not defined?

$ nm /usr/local/lib/ | grep agTiming
0000000000141c00 B agTimingLock

And this would mean that it is defined in

Given that 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)

-Jim Stapleton

More information about the freebsd-questions mailing list