From owner-freebsd-current Thu Jul 25 16:26:14 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 320E237B400 for ; Thu, 25 Jul 2002 16:26:03 -0700 (PDT) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7959C43E3B for ; Thu, 25 Jul 2002 16:26:02 -0700 (PDT) (envelope-from peter@wemm.org) Received: from wemm.org (localhost [127.0.0.1]) by canning.wemm.org (Postfix) with ESMTP id 6DE3E2A7D6; Thu, 25 Jul 2002 16:26:01 -0700 (PDT) (envelope-from peter@wemm.org) X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Rob Cc: Current Subject: Re: make buildworld fails at gperf In-Reply-To: <3D4038A9.36B0B706@pythonemproject.com> Date: Thu, 25 Jul 2002 16:26:01 -0700 From: Peter Wemm Message-Id: <20020725232601.6DE3E2A7D6@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 Rob wrote: > With a fresh cvsup and rm -r /usr/obj, I then get the following error in > gperf when typing make buildworld: > > Am I doing something wrong? Thanks, Rob. > > ----------------------------------- > uname -a output: > > FreeBSD c888746-a.attbi.com 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Sat May > 25 19:42:56 PDT 2002 > rob@c888746-a.attbi.com:/usr/src/sys/i386/compile/LAPTOP i386 > > ----------------------------------------------- > make buildworld output: > > cd /usr/src/gnu/usr.bin/gperf; make DIRPRFX=gnu/usr.bin/gperf/ obj; > make DIRPRFX=gnu/usr.bin/gperf/ depend; make DIRPRFX=gnu/usr.bin/gperf/ > all; make DIRPRFX=gnu/usr.bin/gperf/ DESTDIR=/usr/obj/usr/src/i386 > install > /usr/obj/usr/src/i386/usr/src/gnu/usr.bin/gperf created for > /usr/src/gnu/usr.bin/gperf > ===> gnu/usr.bin/gperf/doc > /usr/obj/usr/src/i386/usr/src/gnu/usr.bin/gperf/doc created for > /usr/src/gnu/usr.bin/gperf/doc > rm -f .depend > mkdep -f .depend -a -D__FBSDID=__RCSID > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib/getopt.c > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib/getopt1.c > mkdep -f .depend -a -D__FBSDID=__RCSID > -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/bool-array.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/gen-perf.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/hash-table.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/iterator.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/key-list.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/list-node.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/main.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/new.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/options.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/read-line.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/trace.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/vectors.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/version.cc > /usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib/hash.cc > echo gperf: /usr/lib/libc.a >> .depend > echo gperf: /usr/lib/libstdc++.a >> .depend > ===> gnu/usr.bin/gperf/doc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/bool-array.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/gen-perf.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/hash-table.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/iterator.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/key-list.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/list-node.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/main.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/new.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/options.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/read-line.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/trace.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/vectors.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/src/version.cc > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -c /usr/src/contrib/gperf/lib/hash.cc > cc -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -c > /usr/src/contrib/gperf/lib/getopt.c > cc -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -c > /usr/src/contrib/gperf/lib/getopt1.c > c++ -O -pipe -march=pentiumpro -D__FBSDID=__RCSID -fmemoize-lookups > -fsave-memoized -I/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib > -I/usr/src/gnu/usr.bin/gperf -static -o gperf bool-array.o gen-perf.o > hash-table.o iterator.o key-list.o list-node.o main.o new.o options.o > read-line.o trace.o vectors.o version.o hash.o getopt.o getopt1.o > gen-perf.o: In function `Gen_Perf::change(List_Node*, List_Node*)': > gen-perf.o(.text+0x374): undefined reference to `operator > new[](unsigned)' > gen-perf.o(.eh_frame+0x12): undefined reference to > `__gxx_personality_v0' > hash-table.o(.eh_frame+0x11): undefined reference to > `__gxx_personality_v0' > key-list.o: In function `Key_List::get_special_input(char)': > key-list.o(.text+0xf3): undefined reference to `operator > new[](unsigned)' > key-list.o(.text+0x15c): undefined reference to `operator > new[](unsigned)' > key-list.o: In function `Key_List::set_output_types()': > key-list.o(.text+0x2a7): undefined reference to `operator > new[](unsigned)' > key-list.o(.text+0x2ce): undefined reference to `operator > new[](unsigned)' > key-list.o: In function `parse_line(char const*, char const*)': > key-list.o(.text+0x32e): undefined reference to `operator > new[](unsigned)' > key-list.o(.gnu.linkonce.d._ZTV14Output_Compare+0x8): undefined > reference to `__cxa_pure_virtual' > key-list.o(.gnu.linkonce.d._ZTV11Output_Expr+0x8): undefined reference > to `__cxa_pure_virtual' > key-list.o(.gnu.linkonce.d._ZTV16Output_Constants+0x8): undefined > reference to `__cxa_pure_virtual' > key-list.o(.gnu.linkonce.d._ZTV16Output_Constants+0xc): undefined > reference to `__cxa_pure_virtual' > key-list.o(.gnu.linkonce.d._ZTV16Output_Constants+0x10): undefined > reference to `__cxa_pure_virtual' > key-list.o(.gnu.linkonce.d._ZTI21Output_Compare_Memcmp+0x0): undefined > reference to `vtable for __cxxabiv1::__si_class_type_info' > key-list.o(.gnu.linkonce.d._ZTI22Output_Compare_Strncmp+0x0): undefined > reference to `vtable for __cxxabiv1::__si_class_type_info' > key-list.o(.gnu.linkonce.d._ZTI21Output_Compare_Strcmp+0x0): undefined > reference to `vtable for __cxxabiv1::__si_class_type_info' > key-list.o(.gnu.linkonce.d._ZTI14Output_Compare+0x0): undefined > reference to `vtable for __cxxabiv1::__class_type_info' > key-list.o(.gnu.linkonce.d._ZTI12Output_Expr1+0x0): undefined reference > to `vtable for __cxxabiv1::__si_class_type_info' > key-list.o(.gnu.linkonce.d._ZTI11Output_Expr+0x0): undefined reference > to `vtable for __cxxabiv1::__class_type_info' > key-list.o(.gnu.linkonce.d._ZTI11Output_Enum+0x0): undefined reference > to `vtable for __cxxabiv1::__si_class_type_info' > key-list.o(.gnu.linkonce.d._ZTI14Output_Defines+0x0): undefined > reference to `vtable for __cxxabiv1::__si_class_type_info' > key-list.o(.gnu.linkonce.d._ZTI16Output_Constants+0x0): undefined > reference to `vtable for __cxxabiv1::__class_type_info' > key-list.o(.eh_frame+0x12): undefined reference to > `__gxx_personality_v0' > list-node.o: In function `List_Node::List_Node(char const*, int, char > const*)': > list-node.o(.text+0x49): undefined reference to `operator > new[](unsigned)' > list-node.o: In function `List_Node::List_Node(char const*, int, char > const*)': > list-node.o(.text+0x17d): undefined reference to `operator > new[](unsigned)' > list-node.o(.eh_frame+0x11): undefined reference to > `__gxx_personality_v0' > main.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' > options.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' > read-line.o: In function `Read_Line::readln_aux(int)': > read-line.o(.text+0x9c): undefined reference to `operator > new[](unsigned)' > read-line.o(.eh_frame+0x11): undefined reference to > `__gxx_personality_v0' > *** Error code 1 The problem is that you do not have a viable libstdc++.so.4 with the builtin new/delete/etc operators. gcc-3.x moved stuff from libgcc.a to libstdc++. The easiest way out of this is: mv /usr/include/g++ /usr/include/g++.old mkdir -p /usr/include/g++/bits /usr/include/g++/ext /usr/include/g++/backward cd src/gnu/lib/libstdc++ make obj make includes cd ../libsupc++ make obj make includes cd ../libstdc++ make depend make all install cd ../libsupc++ make depend make all install This should build you a fresh libstdc++.so.4, libsupc++.a and a matching /usr/include/g++/* The resulting /usr/include/g++ should look roughly like this: peter@overcee[3:52pm]~src/gnu/lib/libsupc++-105> /bin/ls -F /usr/include/g++ FlexLexer.h cstdlib list algorithm cstring locale backward/ ctime map bits/ cwchar memory bitset cwctype new cassert cxxabi.h numeric cctype deque ostream cerrno exception queue cfloat exception_defines.h set ciso646 ext/ sstream climits fstream stack clocale functional stdexcept cmath iomanip streambuf complex ios string csetjmp iosfwd typeinfo csignal iostream utility cstdarg istream valarray cstddef iterator vector cstdio limits If you are really stuck, or do not have time to mess around, you might prefer to fetch and extract this: http://people.freebsd.org/~peter/c++fixit.tgz Move your old /usr/include/g++ out of the way before extracting it and save a copy of your /usr/lib/libstdc++* files as well. 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