Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Apr 1998 10:54:52 -0700 (PDT)
From:      patl@phoenix.volant.org
To:        alk@pobox.com
Cc:        freebsd-ports@FreeBSD.ORG
Subject:   Re: Libraries
Message-ID:  <ML-3.3.892576492.3010.patl@asimov>
In-Reply-To: <199804141649.LAA12862@pobox.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> Quoth Chuck Robey on Tue, 14 April:
> : Classic case in point is the tcl stuff.  If the newer versions
> : were compatible with older versions, we wouldn't have or need abortions
> : like libtcl81, we'd just have libtcl, and the linker would simply pick
> : up the latest version.  The trouble comes in when there are library
> : upgrades which orphan existing applications, so you must be able to to
> : have both lib versions on hand to run a given set of applications.  You
> : don't want our linker then to pick the latest version, so the basename
> : has to be modified.
> 
> I had thought the whole point of the .so.maj.min scheme was that
> existing applications could continue to use .so.(N-1).x while newly
> compiled applications use .so.N.x.

They can.  In fact, they will.  That's the problem.  If the newly
compiled application relies on something that was in .so.(N-1).x,
but isn't in the current .so.N.x, the link against .so will fail.
That's why we need to make the dependancy on libMumbleN-1 instead
of on libMumble; and why the patches in the port need to munge the
Makefiles to explicitly request a specific major and minor number
in the links.

Yes, it sucks.  Blame the library authors that don't maintain
backwards source-level compatability.  Especially those that don't
even bump the major number for an incompatable release.


-Pat

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ML-3.3.892576492.3010.patl>