From owner-freebsd-current Sun Oct 13 9:36:58 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4E09837B401 for ; Sun, 13 Oct 2002 09:36:56 -0700 (PDT) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 05F9B43E7B for ; Sun, 13 Oct 2002 09:36:46 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by canning.wemm.org (Postfix) with ESMTP id A01A22A894; Sun, 13 Oct 2002 09:36:42 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Kris Kennaway Cc: Hellmuth Michaelis , FreeBSD-current Mailinglist Subject: Re: HEADS UP: Old port recompiles needed (Re: Unknown symbol "__sF") In-Reply-To: <20021013093802.GA9872@xor.obsecurity.org> Date: Sun, 13 Oct 2002 09:36:42 -0700 From: Peter Wemm Message-Id: <20021013163642.A01A22A894@canning.wemm.org> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Kris Kennaway wrote: > On Sun, Oct 13, 2002 at 01:38:12AM -0700, Kris Kennaway wrote: > > On Sun, Oct 13, 2002 at 10:22:48AM +0200, Hellmuth Michaelis wrote: > > >=20 > > > Had a very bad night after upgrading my main machine from a September-b= > ased > > > current to a -current as of yesterday, for many, many of the programs > > > running on that machine i got an error message like > >=20 > > Peter removed the stdio transitional aid for older -current systems. > > This means that older 5.0 libraries are no longer compatible with the > > new 5.0 libc, and you will need to recompile everything that depends > > on them. 4.x applications (i.e. things that link with libc.so.4) > > should be unaffected. > >=20 > > This is a required change for 5.0-RELEASE. > >=20 > > Doing a 'make world' followed by 'portupgrade -a -f' should be > > sufficient to rebuild everything correctly. Alternatively, I'll have > > new packages built in a few days, and you could just reinstall your > > packages with those. > > Actually, this should only be required for old ports (older than some > date which I don't know off-hand). It might be easier to just rebuild > everything though. Anything older than August 13th, 2001. It also appears that gcc has been miscompiling some binaries if you have got /usr/lib/libgcc.so* present. I've seen one report where an ancient 3.x libgcc.so was hanging around and was being used by the -current gcc compiler with -current binaries. Not Good. Here's what I do personally: make buildworld rm -rf /usr/include.old mv /usr/include /usr/include.old chflags -R noschg /usr/lib [mkdir /usr/lib/old] mv /usr/lib/lib*.so.* /usr/lib/compat mv /usr/lib/*.o /usr/lib/lib*.a /usr/lib/lib*.so /usr/lib/old make installworld This guarantees a clean /usr/include and /usr/lib after finishing. Dynamic binaries keep running because they find their libraries in /usr/lib/compat. But ld(1) will not find them there for *new* binaries. Cheers, -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message