From owner-freebsd-questions Mon May 6 8:18:16 2002 Delivered-To: freebsd-questions@freebsd.org Received: from primus.vsservices.com (primus.vsservices.com [63.66.136.75]) by hub.freebsd.org (Postfix) with ESMTP id C7FCA37B405 for ; Mon, 6 May 2002 08:18:02 -0700 (PDT) Received: from prime.vsservices.com (conr-adsl-dhcp-29-224.txucom.net [209.34.29.224]) by primus.vsservices.com (8.11.3/8.11.3) with SMTP id g46CUIU59799; Mon, 6 May 2002 07:30:18 -0500 (CDT) (envelope-from gclarkii@vsservices.com) Date: Mon, 6 May 2002 07:30:21 -0500 From: GB Clark To: Stijn Hoop Cc: freebsd-questions@FreeBSD.ORG Subject: Re: shared library versioning in FreeBSD Message-Id: <20020506073021.48a59f9e.gclarkii@vsservices.com> In-Reply-To: <20020506121059.A89646@pcwin002.win.tue.nl> References: <20020506121059.A89646@pcwin002.win.tue.nl> X-Mailer: Sylpheed version 0.7.4 (GTK+ 1.2.10; i386-portbld-freebsd4.5) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 6 May 2002 12:10:59 +0200 Stijn Hoop wrote: > Hi, > > I was reading http://abicheck.sourceforge.net/intro.html, and I was wondering > why FreeBSD doesn't keep the double digits for dynamic libraries (eg > .so.1.2 instead of .so.1). Is there an online reference to a discussion > about that somewhere? I would say it is because FreeBSD does not change interfaces between major versions. In otherwords, if you have a libc.so.4 it will work for all programs that require a version 4 library. The internals may change, but the interface does not. If the interface changes, they do a major version bump. > Furthermore, is the mechanism to record public symbols between library > releases, as described in the URL above, also used in FreeBSD? > > I'm referring to the > > PUBLIC_2: { > symbol1, symbol2 > } PUBLIC_1; > > versioning, which somehow should be in the .so. I can't find it with objdump > and friends. Not that I know of. As far as I know FreeBSD stores the library version in the binary and supports the concept of compatiability libraries. In other words if your application is linked with libc.so.3, FreeBSD will look in /usr/lib/compat for this library. FreeBSD does not change interfaces willy-nilly (Unlike GNOME...:( Sometimes they don't even bump the minor when they change a interface. I've had to update code even when the library version has stayed the same, NEVER had this problem with FreeBSD). > --Stijn > > -- > "...I like logs. They give me a warm fuzzy feeling. I've been known to keep > logs for 30 months at a time (generally when I thought I was rotating them > daily, but was actually rotating them once a month)." > -- Michael Lucas, in Big Scary Daemons article 'Controlling Bandwidth' > If I'm wrong about any of this, then I'm sure that Terry will be by to correct me...:) GB A long time FreeBSD user. -- GB Clark II | Roaming FreeBSD Admin gclarkii@VSServices.COM | General Geek CTHULU for President - Why choose the lesser of two evils? To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message