Subject: Build failure (sparc64)
To: None <current-users@netbsd.org>
From: Martin S. Weber <Ephaeton@gmx.net>
List: current-users
Date: 08/29/2006 13:04:31
Moin,

Anybody seeing something like this:

dependall ===> usr.bin/kdump
     create  kdump/kdump-ioctl.c
     create  kdump/kdump-ioctl.d
     create  kdump/kdump.d
     create  kdump/setemul.d
     create  kdump/siginfo.c
     create  kdump/siginfo.d
     create  kdump/subr.d
     create  kdump/.depend
    compile  kdump/kdump.o
    compile  kdump/subr.o
    compile  kdump/setemul.o
    compile  kdump/siginfo.o
    compile  kdump/kdump-ioctl.o
kdump-ioctl.c: In function 'ioctlname':
kdump-ioctl.c:3829: error: duplicate case value
kdump-ioctl.c:1119: error: previously used here
kdump-ioctl.c:3832: error: duplicate case value
kdump-ioctl.c:1125: error: previously used here
kdump-ioctl.c:3835: error: duplicate case value
kdump-ioctl.c:1134: error: previously used here
kdump-ioctl.c:3838: error: duplicate case value
kdump-ioctl.c:1131: error: previously used here
kdump-ioctl.c:3841: error: duplicate case value
kdump-ioctl.c:1122: error: previously used here
kdump-ioctl.c:3844: error: duplicate case value
kdump-ioctl.c:1116: error: previously used here
kdump-ioctl.c:3847: error: duplicate case value
kdump-ioctl.c:1128: error: previously used here

*** Failed target:  kdump-ioctl.o
*** Failed command: /usr/tools/bin/sparc64--netbsd-gcc -O2 -pipe -mcpu=v9 -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-sign-compare -Wno-traditional -Wreturn-type -Wswitch -Wshadow -Wcast-qual -Wwrite-strings -Werror -I/usr/src/usr.bin/ktrace -I/usr/src/sys -nostdinc -isystem /usr/dest/usr/include -c kdump-ioctl.c
*** Error code 1

Stop.
nbmake: stopped in /usr/src/usr.bin/kdump

exemplary problematic lines:

3828-30:
/* #define OFIOCGETNEXT _IOWR('O', 5, int) [OFIOCGETNEXT] */
    case OFIOCGETNEXT:
        return "OFIOCGETNEXT";
1118-20:
/* #define OPIOCGETNEXT _IOWR('O', 5, int) [OPIOCGETNEXT] */
    case OPIOCGETNEXT:
        return "OPIOCGETNEXT";

3831-33:
/* #define OFIOCGET _IOWR('O', 1, struct ofiocdesc) [OFIOCGET] */
    case OFIOCGET:
        return "OFIOCGET"; 

1124-26:
/* #define OPIOCGET _IOWR('O', 1, struct opiocdesc) [OPIOCGET] */
    case OPIOCGET:
        return "OPIOCGET"; 


This is on a 
NetBSD helios.entropie.net 4.99.1 NetBSD 4.99.1 (GENERIC) #0: 
 Mon Aug 28 18:03:18 CEST 2006  root@helios.entropie.net:/usr/obj/sys/arch/sparc64/compile/GENERIC sparc64
with userland of the 3.99.15 era (something like feb 2006) and
fresh tools after a:

===> build.sh command: ./build.sh -T /usr/tools/ -D /usr/dest/ -O /usr/obj/ -X /usr/xsrc/ -x -N 1 distribution
===> build.sh started: Mon Aug 28 18:13:27 CEST 2006
===> MACHINE:          sparc64
===> MACHINE_ARCH:     sparc64
===> TOOLDIR path:     /usr/tools
===> DESTDIR path:     /usr/dest
===> RELEASEDIR path:  /usr/obj/releasedir
===> makewrapper:      /usr/tools/bin/nbmake-sparc64

source is -current from somewhere about yesterday afternoon.

mk.conf only contains:

.sinclude cpuflags
COPTS+=-pipe
CFLAGS+=-pipe
BUILD_UMASK=0022
USE_XF86_4=yes

Ident's of files:
Makefile:
     $NetBSD: Makefile,v 1.26 2005/07/16 22:00:01 christos Exp $
Makefile.ioctl-c:
     $NetBSD: Makefile.ioctl-c,v 1.18 2006/08/27 20:31:26 christos Exp $
Makefile.siginfo-c:
     $NetBSD: Makefile.siginfo-c,v 1.4 2003/11/13 13:07:01 dsl Exp $
kdump.1:
     $NetBSD: kdump.1,v 1.26 2003/11/16 23:10:00 wiz Exp $
kdump.c:
     $NetBSD: kdump.c,v 1.85 2006/04/05 00:50:59 christos Exp $
mkioctls:
     $NetBSD: mkioctls,v 1.25 2006/08/27 21:41:18 christos Exp $
mksiginfos:
     $NetBSD: mksiginfos,v 1.2 2003/11/13 05:52:12 matt Exp $
setemul.c:
     $NetBSD: setemul.c,v 1.22 2006/05/04 18:06:29 christos Exp $
setemul.h:
     $NetBSD: setemul.h,v 1.13 2005/07/16 22:00:01 christos Exp $

Reverting Makefile.ioctl-c and mkioctls to 1.17 and 1.23 respectively
(that is one revision back for the makefile and two for the mkioctls),
i.e. taking out:

"date: 2006/08/27 20:31:26;  author: christos;  state: Exp;  lines: +2 -2
pick up ioctls from other devices too."

fixes the problem, but I don't know if this breaks something else of course.

Regards,

-Martin