[2151] in Kerberos_V5_Development
Re: thoughts about shared library build process
daemon@ATHENA.MIT.EDU (Ezra Peisach)
Sun Dec 29 23:46:01 1996
To: Tom Yu <tlyu@MIT.EDU>
Cc: krbdev@MIT.EDU
In-Reply-To: Your message of "Sun, 29 Dec 1996 19:13:37 EST."
<9612300013.AA10039@tesla-coil.MIT.EDU>
Date: Sun, 29 Dec 1996 23:45:48 EST
From: Ezra Peisach <epeisach@MIT.EDU>
From what I can tell from examining Debian Linux only. If you do not
specify the soname when building the library, then the soname will
be the "ld -o" name. So for our libraries, libkrb5.so is used.
Then you have convention... From Debian point of view, it appears that
commonly (i.e. libc, libgdbm, etc) libfoo.so.MAJ is used as a soname.
libfoo.so.MAJ is a symlink to the latest libfoo.so.MAJ.MIN and for
developers libfoo.so is a link to libfoo.so.MAJ. (It is possible to
install the run time libraries without the development versions often).
I do not know what other versions of linux do.
Now, NetBSD on the otherhand, just requires libfoo.so.MAJ.MIN to be
present. (no libfoo.so needs be there). The effective soname from what I
can tell is libfoo.so.MAJ,MIN in the linked object and at runtime the loader
looks for minor and failing that the highest minor. (Note that ldd lies
on this platform and does not indicate the minor number being searched
for unless you hack together your own ld.so and crt0.o - newer versions
of ld.so can give the minor number info).
Ezra