From owner-freebsd-hackers@FreeBSD.ORG Fri Sep 19 11:10:15 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7E21416A4B3 for ; Fri, 19 Sep 2003 11:10:15 -0700 (PDT) Received: from lakemtao02.cox.net (lakemtao02.cox.net [68.1.17.243]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2F7ED43FEC for ; Fri, 19 Sep 2003 11:10:14 -0700 (PDT) (envelope-from A.J.Caines@halplant.com) Received: from mail.halplant.com ([68.98.167.210]) by lakemtao02.cox.net (InterMail vM.5.01.06.05 201-253-122-130-105-20030824) with ESMTP id <20030919181013.UHCM10677.lakemtao02.cox.net@mail.halplant.com> for ; Fri, 19 Sep 2003 14:10:13 -0400 Received: by mail.halplant.com (Postfix, from userid 1001) id C83E5129; Fri, 19 Sep 2003 14:10:12 -0400 (EDT) Date: Fri, 19 Sep 2003 14:10:12 -0400 From: Andrew J Caines To: FreeBSD Hackers Message-ID: <20030919181012.GH5280@hal9000.halplant.com> Mail-Followup-To: FreeBSD Hackers References: <20030919010534.GE1234@hal9000.halplant.com> <20030919055519.GL51544@dan.emsphone.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030919055519.GL51544@dan.emsphone.com> Organization: H.A.L. Plant X-PGP-Fingerprint: C59A 2F74 1139 9432 B457 0B61 DDF2 AA61 67C3 18A1 X-Powered-by: FreeBSD 4.9-PRERELEASE X-URL: http://halplant.com:88/ X-Yahoo-Profile: AJ_Z0 Importance: Normal User-Agent: Mutt/1.5.4i Subject: Re: Relinking binaries to new .so libs when versions change? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Andrew J Caines List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Sep 2003 18:10:15 -0000 Dan, Thanks for your reply. > > Again, a port update of a library has bumped a .so version [in this case > > libatk-1.0.so.200 -> libatk-1.0.so.400]. > how did you update the port? ... Or you could run portupgrade -R, which > will upgrade all the packages dependent on the one you list. # portupgrade --new --upward-recursive --recursive --sudo --verbose --all That tends to get everything. > Portupgrade moves old libraries into /usr/local/lib/compat/pkg Sometimes it does, however in cases like this one (ie. atk), it didn't. > > Is there an elegant and quick way to relink a given binary to a > > different version of a particular .so, eg. "mvld foo foo.so.1 > > foo.so.2"? > Version numbers get bumped for a reason :) Running the wrong version > library will usually result in a coredump or runtime linking error. You snipped this bit in my message where I addressed this: >> I'm aware that rebuilding is the right thing to do since stuff can change >> in the libs, however experience from symlinking .so.N to .so.N-n shows >> that this almost never results in problems. Also, >> Is the fact that some libs don't follow the major/minor rules[1] a/the >> problem? >> [1] http://www.freebsd.org/doc/en_US.ISO8859-1/books/developers-handbook/policies-shlib.html So, I'm still interested in knowing how to do the wrong thing. -Andrew- -- _______________________________________________________________________ | -Andrew J. Caines- Unix Systems Engineer A.J.Caines@halplant.com | | "They that can give up essential liberty to obtain a little temporary | | safety deserve neither liberty nor safety" - Benjamin Franklin, 1759 |