From owner-cvs-all Tue May 28 20:41: 0 2002 Delivered-To: cvs-all@freebsd.org Received: from evilpete.dyndns.org (12-232-26-46.client.attbi.com [12.232.26.46]) by hub.freebsd.org (Postfix) with ESMTP id 17D0437B401; Tue, 28 May 2002 20:40:51 -0700 (PDT) Received: from overcee.wemm.org ([10.0.0.3]) by evilpete.dyndns.org (8.11.6/8.11.6) with ESMTP id g4T3eo162035; Tue, 28 May 2002 20:40:50 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by overcee.wemm.org (Postfix) with ESMTP id 646413810; Tue, 28 May 2002 20:40:50 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src Makefile.inc1 src/gnu/usr.bin Makefile src/usr.sbin Makefile In-Reply-To: <200205290048.g4T0mEM63027@freefall.freebsd.org> Date: Tue, 28 May 2002 20:40:50 -0700 From: Peter Wemm Message-Id: <20020529034050.646413810@overcee.wemm.org> Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Peter Wemm wrote: > Modified files: > . Makefile.inc1 > gnu/usr.bin Makefile > usr.sbin Makefile > Log: > Put on peril sensitive sunglasses and turn C++ stuff back on. A case has turned up of early-stage-1 failures where folks have installed the new 3.1 gcc but still have the leftover 2.95 libstdc++.so and get failures due to missing _cxx_abi_v0 type symbols. This is a temporary bootstrap problem that affects systems that were built with half of the compiler only. I specifically tested on a pre-gcc-3.1 system and survived. People who built world in betweed /usr/bin/c++ going live and this commit are affected. Possible solution: Something evil like this: +++ Makefile.inc1 2002/05/29 03:33:59 @@ -572,7 +572,10 @@ .if exists(${.CURDIR}/games) && !defined(NOGAMES) _strfile= games/fortune/strfile .endif +_cxx_version!= ${CXX} -v 2>&1 | awk '$$0 ~ /^gcc version/ {print $$3}' +.if ${CXX:T} != "c++" || ${_cxx_version} != "3.1" || exists(/usr/lib/libstdc++.so.4) _cxx_consumers= gnu/usr.bin/gperf gnu/usr.bin/groff +.endif bootstrap-tools: .for _tool in ${_strfile} usr.bin/yacc usr.bin/colldef \ This would be temporary and would go away in a week or two. Or, tell the handful of early 3.1 adopters on -current: cd /usr/src/gnu/lib make obj make includes cd libstdc++ make depend && make && make install cd ../libsupc++ make depend && make && make install I'll test this out a bit more and see if the bandaid works. 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 cvs-all" in the body of the message