krb5 libraries and circular dependencies
Jeffrey Hutzelman
jhutz at cmu.edu
Thu Jun 3 13:41:39 EDT 2010
"Henry B. Hotz" <hotz at jpl.nasa.gov> wrote:
> The example that sticks in my mind the most was
> Cyrus SASL. The first time I built it on Solaris ldd said
> that the command line tools, and libsasl could find all
> their dependencies fine. However libsasl couldn't
> find any of its plugins and had no mechanisms to
> offer.
I believe this is because on Solaris, the search for dependencies of a shared object loaded via dlopen() uses only the embedded path of the object being loaded, and not that of the object doing the load. So, if the plugins depend on /usr/local/lib/libsasl.so.99 but don't have /usr/local/lib in RPATH, they won't load.
The build problem may or may not be related to the reason we patch libtool; I don't "own" sasl here and so don't know if we've seen that problem. Why libsasl doesn't warn when dlopen fails, I do not know.
More information about the krbdev
mailing list