Finding Missing Shared Object Dependencies
Background
When using shared objects as plug-ins or modules the missing dependency error messages may be missing or deficient.
Explicitly Test Shared Object Loading
A quick way to test for missing shared object dependencies is to LD_PRELOAD the shared object explicitly while running a random shell command.
First, make sure your LDLIBRARYPATH is setup. Frequently this is done by sourcing a shell script:
. ./env.sh
Set the LD_PRELOAD env variable while running the "ls" command:
LD_PRELOAD=/home/ksedgwic/path/to/the/shared/object/of/interest.so ls
An error message will appear if there is a missing symbol. Sometimes the C++ demangler can be used to get nicer version of the name:
echo "_ZN17ACE_Event_Handler13add_referenceEv" | c++filt
ACE_Event_Handler::add_reference()