On 29 Apr 2012, Darrell Anderson said:
If I understand correctly, any library directory outside of the standard /lib and /usr/lib locations need to be identified in /etc/ld.so.cache. Is this correct?
During my Trinity build and packaging process, I have been inserting /opt/trinity/lib into /etc/ld.so.cache.
Do I need to add /opt/trinity/lib/trinity too or are subdirectories of /opt/trinity/lib automatically found by ldconfig?
No, you need to add any directory outside the 'standard system set' (normally /usr/local/lib, /usr/lib, /lib, and any /lib32 / /lib64 variants your distro may use). Subdirectories are not autoamtically searched to satisfy DT_NEEDED entries. However, the lib/trinity/ subdirectory is not loaded via DT_NEEDED entries but via explicit dlopen(), which does no path searching at all because the path needed is explicitly specified in the dlopen() call.
(And you need to run /sbin/ldconfig.)