Subject: Re: dptutil on -current, i386
To: Herb Peyerl <hpeyerl@beer.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: current-users
Date: 11/17/2003 21:06:01
On Mon, Nov 17, 2003 at 06:28:32AM -0700, Herb Peyerl wrote:
> Has anyone had luck building sysutils/dptutil on -current (1.6ZE, Nov 3)?
> 
> My old binary and the latest pkg binary from nbftp fail like so:
> 
> Undefined symbol "__vt_7istream$3ios" referenced from COPY relocation in sbin/dptutil

Looks like and old vs new g++ issue.

> 
> and building sysutils/dptutil fails like so:
> 
> Configured with: /usr/src/tools/gcc/../../gnu/dist/gcc/configure --enable-long-long --disable-multilib --enable-threads --build=i386-unknown-netbsdelf --host=i386--netbsdelf --target=i386--netbsdelf : (reconfigured) /usr/src/tools/gcc/../../gnu/dist/gcc/configure --enable-long-long --disable-multilib --enable-threads --build=i386-unknown-netbsdelf1.6W --host=i386--netbsdelf --target=i386--netbsdelf
> Thread model: posix
> gcc version 3.3.2 (NetBSD nb1 20031026)
>  /usr/bin/../libexec/collect2 -dc -dp -e __start -dynamic-linker /usr/libexec/ld.elf_so -o raidutil /usr/lib/crt0.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/bin/../libexec alarm.o bufiolsb.o cmdlist.o command.o config.o creatrad.o ctlr_map.o deletrad.o dpt_buff.o dptalign.o dynsize.o engcalls.o engiface.o engmsg.o eventlog.o expand.o findpath.o flash.o flashmem.o forcest.o hba_log.o id_list.o intlist.o listdev.o lockunix.o lzssdon.o lzstrbuf.o modnvram.o namarray.o nvrambit.o parsargv.o parser.o parserr.o raidutil.o rawdata.o rdutlosd.o rmwflash.o rstnvram.o scsi_log.o scsilist.o setcache.o setrate.o setspeed.o showinq.o status.o strlist.o swap_em.o taskctrl.o uartdmp.o usage.o zap.o setscfg.o segment.o -lstdc++ -lm -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o
> lockunix.o: In function `MkLock':
> lockunix.o(.text+0xb0): warning: mktemp() possibly used unsafely, use mkstemp() or mkdtemp()
> dynsize.o: In function `DynamicSizeInStreamBuf::AllocBuf(unsigned, unsigned, unsigned)':
> dynsize.o(.text+0x4e): undefined reference to `streambuf::setb(char*, char*, int)'
> dynsize.o(.text+0x8c): undefined reference to `_IO_free_backup_area'
> flash.o: In function `Flash::execute(String_List**)':
> flash.o(.text+0x356): undefined reference to `VTT for fstream'
> flash.o(.text+0x364): undefined reference to `vtable for ios'
> flash.o(.text+0x3a1): undefined reference to `fstreambase::fstreambase()'
> flash.o(.text+0x3a6): undefined reference to `VTT for fstream'
> flash.o(.text+0x3b1): undefined reference to `VTT for fstream'
> flash.o(.text+0x3c0): undefined reference to `VTT for fstream'
> flash.o(.text+0x3c8): undefined reference to `VTT for fstream'
> flash.o(.text+0x3d1): undefined reference to `VTT for fstream'
> flash.o(.text+0x3dc): more undefined references to `VTT for fstream' follow
> flash.o: In function `Flash::execute(String_List**)':
> 
> 
> 
> It looks like it's missing some -l but I can't find it and I don't speak
> C++...

Does it use gcc or g++ for linking ?
It should use g++, but I've seen several packages failing this way (use g++ to
compile and gcc to link, which doens't work with gcc3)

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 24 ans d'experience feront toujours la difference
--