Subject: bin/27155: Building -current fails in linking fixincludes
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <ks@ub.uni-mainz.de>
List: netbsd-bugs
Date: 10/05/2004 21:47:28
>Number:         27155
>Category:       bin
>Synopsis:       Building -current fails in linking fixincludes
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 05 21:48:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     Kurt Schreiner
>Release:        current as of Oct 3 2004
>Organization:
Universitaet Mainz
>Environment:
NetBSD hshutti 2.99.9 NetBSD 2.99.9 (SHUTTLEX.MP) #32: Sun Oct  3 00:29:38 MEST 2004  ks@hshutti:/u/NetBSD/current/arch/i386/obj/sys/arch/i386/compile/SHUTTLEX.MP i386
>Description:
build.sh fails during building new tools in gcc/fixincludes:

===> build.sh command: ./build.sh -u -U -m i386 -O /u/NetBSD/current/arch/i386/obj -D /u/NetBSD/curr
ent/arch/i386/dest -T /u/NetBSD/current/arch/i386/TOOLS distribution
===> build.sh started: Mon Oct  4 00:42:36 MEST 2004
===> MACHINE:          i386
===> MACHINE_ARCH:     i386
===> TOOLDIR path:     /u/NetBSD/current/arch/i386/TOOLS
===> DESTDIR path:     /u/NetBSD/current/arch/i386/dest
===> RELEASEDIR path:  /u/NetBSD/current/arch/i386/obj/releasedir
===> makewrapper:      /u/NetBSD/current/arch/i386/TOOLS/bin/nbmake-i386
===> Updated /u/NetBSD/current/arch/i386/TOOLS/bin/nbmake-i386
build ===> .    (with: NOPOSTINSTALL=1)
Build started at: Mon Oct  4 00:42:37 MEST 2004
check-tools ===> .
obj ===> .
obj ===> tools
....(SHELL="/bin/sh"; MAKE="/u/NetBSD/current/arch/i386/TOOLS/bin/nbmake  -f /u/NetBSD/current/src/tools
/gcc/../Makefile.gnuwrap"; srcdir=`cd /u/NetBSD/current/src/tools/gcc/../../gnu/dist/gcc/gcc/fixinc 
&& ${PWDCMD-pwd}` ;  CC="cc"; CFLAGS="   -O -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings -Wstr
ict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long   -DHAVE_CONFIG_H -DGENER
ATOR_FILE"; LDFLAGS="";  WARN_CFLAGS="-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototy
pes -Wtraditional -pedantic -Wno-long-long "; LIBERTY=`pwd`/"../libiberty/libiberty.a";  export SHEL
L MAKE srcdir CC CFLAGS LDFLAGS WARN_CFLAGS LIBERTY;  cd ./fixinc &&  /bin/sh ${srcdir}/mkfixinc.sh 
i386-unknown-netbsdelf2.99.9 i386--netbsdelf)
constructing ../fixinc.sh for i386--netbsdelf to run on i386-unknown-netbsdelf2.99.9
/u/NetBSD/current/arch/i386/TOOLS/bin/nbmake -f /u/NetBSD/current/src/tools/gcc/../Makefile.gnuwrap 
TARGETS=oneprocess SHELL="/bin/sh" CC="cc" CFLAGS=" -O -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-str
ings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H
 -DGENERATOR_FILE" LDFLAGS="" LIBERTY="" install-bin
cc -DIN_GCC -DHAVE_CONFIG_H -O -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes
 -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H -DGENERATOR_FILE -DNETB
SD_TOOLS  -I. -I.. -I/u/NetBSD/current/src/tools/gcc/../../gnu/dist/gcc/gcc/fixinc -I/u/NetBSD/curre
nt/src/tools/gcc/../../gnu/dist/gcc/gcc/fixinc/..  -I/u/NetBSD/current/src/tools/gcc/../../gnu/dist/
gcc/gcc/fixinc/../config -I/u/NetBSD/current/src/tools/gcc/../../gnu/dist/gcc/gcc/fixinc/../../inclu
de  -o fixincl fixincl.o fixtests.o fixfixes.o server.o procopen.o  gnu-regex.o fixlib.o 
fixincl.o(.text+0x7b): In function `main':
: undefined reference to `_sch_istable'
fixincl.o(.text+0x83): In function `main':
: undefined reference to `_sch_istable'
fixincl.o(.text+0xf9): In function `main':
: undefined reference to `_sch_istable'
fixincl.o(.text+0x101): In function `main':
: undefined reference to `_sch_istable'
....



>How-To-Repeat:
Just do it again ;-)
>Fix:
As the variables build by
(SHELL="/bin/sh"; MAKE="/u/NetBSD/current/arch/i386/TOOLS/bin/nbmake  -f /u/NetBSD/current/src/tools
/gcc/../Makefile.gnuwrap"; srcdir=`cd /u/NetBSD/current/src/tools/gcc/../../gnu/dist/gcc/gcc/fixinc 
&& ${PWDCMD-pwd}` ;  CC="cc"; CFLAGS="   -O -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings -Wstr
ict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long   -DHAVE_CONFIG_H -DGENER
ATOR_FILE"; LDFLAGS="";  WARN_CFLAGS="-W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototy
pes -Wtraditional -pedantic -Wno-long-long "; LIBERTY=`pwd`/"../libiberty/libiberty.a";  export SHEL
L MAKE srcdir CC CFLAGS LDFLAGS WARN_CFLAGS LIBERTY;  cd ./fixinc &&  /bin/sh ${srcdir}/mkfixinc.sh 
i386-unknown-netbsdelf2.99.9 i386--netbsdelf)

aren't exportet correctly (LIBERTY is empty where it shouldn't be, see:

constructing ../fixinc.sh for i386--netbsdelf to run on i386-unknown-netbsdelf2.99.9
/u/NetBSD/current/arch/i386/TOOLS/bin/nbmake -f /u/NetBSD/current/src/tools/gcc/../Makefile.gnuwrap 
TARGETS=oneprocess SHELL="/bin/sh" CC="cc" CFLAGS=" -O -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-str
ings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -DHAVE_CONFIG_H
 -DGENERATOR_FILE" LDFLAGS="" LIBERTY="" install-bin

) I suspected the changes made to /bin/sh in rev. 1.35 as a possible cause for this problem and reverted to an older version of /bin/sh [1]. ---And are up and running again.

[1]
>Release-Note:
>Audit-Trail:
>Unformatted:
 >-204: ll /bin/sh
 -r-xr-xr-x  1 root  wheel  - 128927 Oct  1 11:03 /bin/sh*
 >-205: ident /bin/sh | grep var
      $NetBSD: var.c,v 1.34 2003/08/26 18:14:24 jmmv Exp $