Both Solaris and Linux are capable of linking a static library into a
shared one, as you did here:
$ /usr/ccs/bin/ld -G -h libdigestmd5.so.0 -o .libs/libdigestmd5.so.0.0.17
digestmd5.lo -L/usr/local/lib -L/usr/local/src/db/db-3.1.17/build_unix
-L/usr/local/src/OpenSSL/openssl-0.9.5a/lib -lcrypto -lsocket -lnsl -lc
-R/usr/local/lib
this solves the work problem, but does it in a very inefficient
manner. At least on Solaris, this will create a new, process-private,
copy of libcrypto.a for every process that dynamical loads
libdigestmd5.so.
The easiest way out of this would be to build shared openssl
libraries.
I'm unsure how easy it would be to modify Cyrus SASL to not use
OpenSSL if shared libraries aren't present. However, not using
OpenSSL is a big price---you end up not getting any encryption.
Another possibility would be to ship an implementation of RC4 with
Cyrus SASL (it's small and easy to implement) and not rely on an
outside source. At one point we were resisting shipping encryption
algorithms, but that time has probably passed.
Larry
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]