DragonFly BSD
DragonFly bugs List (threaded) for 2004-11
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

buildworld failure with -j


From: Brad Harvell <dfbrad@xxxxxxxxxxx>
Date: 13 Nov 2004 10:25:21 GMT
Keywords:
Summary:

I ran into a yacc temporary file collision with make -j with
buildworld in the gdb-6.2.1 directory:

===> gnu/usr.bin/gdb/gdb
echo '#include "kvm-fbsd-i386.h"' > kvm-fbsd.h
sh /usr/src/gnu/usr.bin/gdb/gdb/../../../../contrib/gdb-6.2.1/gdb/observer.sh inc /usr/src/gnu/usr.bin/gdb/gdb/../../../../contrib/gdb-6.2.1/gdb/doc/observer.texi observer.inc
cp /usr/src/gnu/usr.bin/gdb/gdb/nm-fbsd.h nm.h
cp /usr/src/gnu/usr.bin/gdb/gdb/../../../../contrib/gdb-6.2.1/gdb/config/i386/tm-fbsd.h tm.h
Creating observer.inc-tmp
cp /usr/src/gnu/usr.bin/gdb/gdb/../../../../contrib/gdb-6.2.1/gdb/config/i386/xm-i386.h xm.h
yacc -d /usr/src/gnu/usr.bin/gdb/gdb/../../../../contrib/gdb-6.2.1/gdb/c-exp.y
yacc -d /usr/src/gnu/usr.bin/gdb/gdb/../../../../contrib/gdb-6.2.1/gdb/f-exp.y
yacc: 15 shift/reduce conflicts
yacc: 15 reduce/reduce conflicts
yacc: 4 rules never reduced
mv y.tab.c f-exp.c
yacc -d -o jv-exp.c /usr/src/gnu/usr.bin/gdb/gdb/../../../../contrib/gdb-6.2.1/gdb/jv-exp.y
mv y.tab.c c-exp.c
mv: rename y.tab.c to c-exp.c: No such file or directory
*** Error code 1
Moving observer.inc-tmp to observer.inc
1 error
*** Error code 2


I made this change to get buildworld to complete:


Index: /usr/src/share/mk/sys.mk
===================================================================
RCS file: /home/dcvs/src/share/mk/sys.mk,v
retrieving revision 1.12
diff -u -r1.12 sys.mk
--- /usr/src/share/mk/sys.mk	19 Jul 2004 16:24:27 -0000	1.12
+++ /usr/src/share/mk/sys.mk	13 Nov 2004 10:17:18 -0000
@@ -239,10 +239,8 @@
 .no.nx .c.nx:
 	${NXCC} ${NXCFLAGS} ${NXLDFLAGS} ${.IMPSRC} ${NXLDLIBS} -o ${.TARGET}
 
-# XXX not -j safe
 .y.c:
-	${YACC} ${YFLAGS} ${.IMPSRC}
-	mv y.tab.c ${.TARGET}
+	${YACC} -o ${.TARGET} ${YFLAGS} ${.IMPSRC}
 
 .l.c:
 	${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.TARGET}


after looking into the FreeBSD history of the not-safe comment, I
noticed they had already made this change (rev 1.19) and quickly
reverted back (rev 1.20) in 1997, but I don't see a mention of why.

does it still make sense to not use -o with yacc? is there a more
appropriate fix for gdb-6.2.1 / buildworld?



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]