From owner-freebsd-ports Tue Apr 14 10:33:52 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id KAA24387 for freebsd-ports-outgoing; Tue, 14 Apr 1998 10:33:52 -0700 (PDT) (envelope-from owner-freebsd-ports@FreeBSD.ORG) Received: from picnic.mat.net (picnic.mat.net [206.246.122.117]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id RAA24322 for ; Tue, 14 Apr 1998 17:33:29 GMT (envelope-from chuckr@glue.umd.edu) Received: from localhost (chuckr@localhost) by picnic.mat.net (8.8.8/8.8.5) with SMTP id MAA01021; Tue, 14 Apr 1998 12:32:16 -0400 (EDT) Date: Tue, 14 Apr 1998 12:32:16 -0400 (EDT) From: Chuck Robey X-Sender: chuckr@localhost To: Tony Kimball cc: freebsd-ports@FreeBSD.ORG Subject: Re: Libraries In-Reply-To: <199804141649.LAA12862@pobox.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, 14 Apr 1998, Tony Kimball wrote: > 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. > Depends. If you use the -l thing, then you link with the latest version of the lib as determined from the basename and the version numbers. If you include the entire name of the library, then you can zero in on just one version. Applications that use -lname type library selection have to select via different basenames in order to guarantee that they pick up the right version number. Again, tcl sure is a perfect example of the worst possible traits. Actually, it's got whole hordes of stuff wrong with it, and stands as a nice negative example of how to upgrade. This from someone who basically likes tcl, yet. > > > > ----------------------------+----------------------------------------------- Chuck Robey | Interests include any kind of voice or data chuckr@glue.umd.edu | communications topic, C programming, and Unix. 213 Lakeside Drive Apt T-1 | Greenbelt, MD 20770 | I run Journey2 and picnic, both FreeBSD (301) 220-2114 | version 3.0 current -- and great FUN! ----------------------------+----------------------------------------------- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message