Subject: Re: Build failure (sparc64)
To: None <current-users@netbsd.org>
From: Christos Zoulas <christos@astron.com>
List: current-users
Date: 08/29/2006 12:47:07
In article <20060829110431.GA1720@circe.entropie.net>,
Martin S. Weber <Ephaeton@gmx.net> wrote:
>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"; 
>

Please add "keep" lines to mkioctls and send us a patch:
For the 2 conflicts you mention you need:

	keep["OPIOGET"] = 1; # Same as OFIOGET
	keep["OPIOCGETNEXT"] = 1; # Same as OFIOCGETNEXT

I.e. pick the one to keep. I would do it, but my sparc64's are in a closet
unplugged until next week.

Thanks,

christos