Hi folks,

just a small note: I have been mightily confused today because ldconfig
on Linux (glibc-2.2.3 or 2.2.4) insisted on linking libssl.so.0 to my old
libssl.so.0.9.5 instead of to libssl.so.0.9.6. After rummaging around
some, I finally found the reason.

The so-name of the 0.9.6 library is libssl.so.0.9.6. Nothing wrong with that;
actually, it is probably smart to do so, because the interface changes
between releases. That means the libssl.so.0 is not linked to libssl.so.0.9.6
on ldconfig runs (ldconfig only links so-names to files containing the 
so-name). Nothing wrong with that either. But that means you have to link 
libssl.so directly to libssl.so.0.9.6 too. At the moment, libssl.so is 
linked to libssl.so.0; which after each ldconfig is linked to the old 
libssl.so.0.9.5, with bad results.

So, concluding, when making links for shared libraries you should:
  * Link the so-name to the actual library version
    In this case, because they are identical, nothing needs to be done
  * Link the base-name to the so-name
    In this case, link libssl.so to libssl.so.0.9.6
And especially, don't use libssl.so.0 as an intermediate!

AFAIK, this is true on at least Solaris too.

Thanks for the great work,
  Frodo

-- 
Frodo Looijaard <[EMAIL PROTECTED]>  PGP key and more: http://huizen.dds.nl/~frodol
Defenestration n. (formal or joc.):
  The act of removing Windows from your computer in disgust, usually followed
  by the installation of Linux or some other Unix-like operating system.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to