看板 DFBSD_bugs 關於我們 聯絡資訊
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?