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.)
--
NULL && (void)