Subject: pkg/36581: strace build failure
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <bsd-xen@roguewrt.org>
List: pkgsrc-bugs
Date: 07/01/2007 04:20:00
>Number:         36581
>Category:       pkg
>Synopsis:       strace build failure
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 01 04:20:00 +0000 2007
>Originator:     bsd-xen@roguewrt.org
>Release:        NetBSD 4.99.21
>Organization:
>Environment:
System: NetBSD symbiote.internal 4.99.21 NetBSD 4.99.21 (XEN3_DOMU) #0: Thu Jun 28 02:29:27 EST 2007 root@spike.internal:/usr/obj/sys/arch/i386/compile/XEN3_DOMU i386
Architecture: i386
Machine: i386
>Description:

When attempting to 'make' strace from CURRENT pkgsrc, the build fails with:

checking for perl... /usr/pkgsrc/sysutils/strace/work/.tools/bin/perl
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
===> Building for strace-4.5.14nb1
cd netbsd && make
syscalls.pl /usr/src/sys/kern/syscalls.master syscalls.print syscalls.cat > syscallent.h
syscalls.pl: not found
*** Error code 127

After modifying 'Makefile' to use relative paths for all executables, this is produced:

<------snip------>
===> Building for strace-4.5.14nb1
cd netbsd && make
./syscalls.pl /usr/src/sys/kern/syscalls.master syscalls.print syscalls.cat > syscallent.h
error in master file: syscall 20 found, expecting 21. at ./syscalls.pl line 137, <MASTER> line 95.
error in master file: syscall 24 found, expecting 25. at ./syscalls.pl line 137, <MASTER> line 104.
error in master file: syscall 47 found, expecting 48. at ./syscalls.pl line 137, <MASTER> line 149.
./ioctlent.sh > ioctlent.h
./mkerrno /usr/include/sys/errno.h > errnoent.h
./mksignal /usr/include/sys/signal.h > signalent.h
<------/snip------>

and then:

<------snip------>
if cc -DHAVE_CONFIG_H -I. -I. -I. -Inetbsd/i386 -I./netbsd/i386 -Inetbsd -I./netbsd    -Wall -O2 -MT io.o -MD -MP -MF ".deps/io.Tpo" -c -o io.o io.c;  then mv -f ".deps/io.Tpo" ".deps/io.Po"; else rm -f ".deps/io.Tpo"; exit 1; fi
io.c:372: error: redefinition of 'sys_pread'
io.c:81: error: previous definition of 'sys_pread' was here
io.c:390: error: redefinition of 'sys_pwrite'
io.c:103: error: previous definition of 'sys_pwrite' was here
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/sysutils/strace/work/strace-4.5.14
*** Error code 1
<------/snip------>

>How-To-Repeat:

cd /usr/pkgsrc/sysutils/strace/&&make

>Fix:

No idea :)