[2295] in Kerberos_V5_Development

home help back first fref pref prev next nref lref last post

Re: shared library versioning thoughts

daemon@ATHENA.MIT.EDU (Richard Basch)
Sun Mar 9 15:26:00 1997

Date: Sun, 9 Mar 1997 15:24:01 -0500
To: Tom Yu <tlyu@MIT.EDU>
Cc: krbdev@MIT.EDU
In-Reply-To: <9703092010.AA12493@tesla-coil.MIT.EDU>
From: "Richard Basch" <basch@lehman.com>

On Sun, 9-March-1997, "Tom Yu" wrote to "krbdev@MIT.EDU" saying:

> The shared library system currently in the 1.0 does not allow for
> compatibility between major versions of shared libraries that are
> different minor versions, at least not on all platforms.  Do we want
> to fix this in a later release or not?
> 
> Performing this fix would involve explicitly setting the SONAME field
> in some architectures and making a bunch of symlinks, e.g. for a
> GNU-ld based ELF system:
> 
> libfoo.so.1.1 (has SONAME libfoo.so.1)
> libfoo.so.1 -> libfoo.so.1.1
> libfoo.so -> libfoo.so.1.1
> 
> Note that this would also be required under, say, Solaris.  It may not
> be necessary under some ports of NetBSD, due to some of the ld.so
> versioning hacks that are used therein, though I believe the pmax and
> alpha ports will require the "handful of symlinks" solution.
> 
> I would much prefer applying a change such as this to the trunk rather
> than to the 1.0 release branch, mostly because it will be easier to
> modify the new library build system to cope.
> 
> Do people think that we actually want to get shared library
> major-version compatibility working in this way?

Yes.
I think it is a bug that we do not have it this way already.  In fact, I
was planning to "fix" this in my own tree and post a similar question...

However, I would like to add one comment.  We should make sure that the
set of symlinks really allows linked applications to reference any
library with the same major version number.  On some systems, the
explicit reference to the minor version number may prohibit this.  In
those cases, applications should be linked with the library only
containing the major version number.  This is where the application
linking becomes system-dependent...
-- 
Richard Basch                   
Sr. Developer/Analyst, DSO      URL: http://web.mit.edu/basch/www/home.html
Lehman Brothers, Inc.           Email: basch@lehman.com, basch@mit.edu
101 Hudson St., 38th Floor      Fax:   +1-201-524-5828
Jersey City, NJ 07302-3988      Voice: +1-201-524-5049


home help back first fref pref prev next nref lref last post