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>