[TL;DR using automake.git, bison.git fails "make distcheck"s non-srcdir build]
Joel E. Denny wrote: > On Mon, 18 Apr 2011, Jim Meyering wrote: > >> FYI, now, using the latest sources from git, >> when I bootstrap, run ./configure --enable-gcc-warnings >> and then make and "make distcheck", I see this: >> >> /bin/sh ../build-aux/ylwrap ../src/parse-gram.y y.tab.c >> src/parse-gram.c y.tab.h src/parse-gram.h y.output >> src/parse-gram.output -- tests/bison -y -dv --warnings=all,error >> --report=all >> /bin/sh ../build-aux/ylwrap ../src/scan-code.l lex.yy.c src/scan-code.c -- >> flex >> /bin/sh ../build-aux/ylwrap ../src/scan-gram.l lex.yy.c src/scan-gram.c -- >> flex >> /bin/sh ../build-aux/ylwrap ../src/scan-skel.l lex.yy.c src/scan-skel.c -- >> flex >> /w/bison/bison-2.4.593-a78a/_build/tests/bison: line 11: >> /w/bison/bison-2.4.593-a78a/_build/src/bison: No such file or >> directory >> Can't open y.tab.[ch]: No such file or directory. >> make[1]: *** [src/parse-gram.c] Error 1 >> make[1]: *** Waiting for unfinished jobs.... >> make[1]: Leaving directory `/w/bison/bison-2.4.593-a78a/_build' >> make: *** [distcheck] Error 1 > > This doesn't happen for me. Somehow your tarball's parse-gram.y must have > a later time stamp than parse-gram.c or parse-gram.h. Is your "make dist" > setting the time stamps inappropriately for some reason? If so, perhaps > we need a dist-hook to fix that. Or are the time stamps being set > inappropriately upon extraction from the tarball? Hi Joel, I figure it's something different about my build environment. That doesn't seem to be the problem: $ tar tvf bison-2.4.593-a78a.tar.gz|grep parse-gram -rw-r--r-- 0/0 21804 2011-03-17 18:00 bison-2.4.593-a78a/src/parse-gram.y -rw-r--r-- 0/0 103025 2011-04-18 21:59 bison-2.4.593-a78a/src/parse-gram.c -rw-r--r-- 0/0 5845 2011-04-18 21:59 bison-2.4.593-a78a/src/parse-gram.h I can reproduce it by running "make dist", unpacking the result and then using it to perform a non-srcdir build. tar xf bison-2.4.593-a78a.tar.bz2 cd bison-2.4.593-a78a mkdir .j && cd .j && ../configure && make ... /bin/sh ../build-aux/ylwrap ../src/parse-gram.y y.tab.c src/parse-gram.c y.tab.h src/parse-gram.h y.output src/parse-gram.output -- tests/bison -y -dv --warnings=all,error --report=all /bin/sh ../build-aux/ylwrap ../src/scan-code.l lex.yy.c src/scan-code.c -- flex /bin/sh ../build-aux/ylwrap ../src/scan-gram.l lex.yy.c src/scan-gram.c -- flex /bin/sh ../build-aux/ylwrap ../src/scan-skel.l lex.yy.c src/scan-skel.c -- flex /h/j/w/co/bison/bison-2.4.593-a78a/.j/tests/bison: line 11: /h/j/w/co/bison/bison-2.4.593-a78a/.j/src/bison: No such file or directory Can't open y.tab.[ch]: No such file or directory. make: *** [src/parse-gram.c] Error 1 make: *** Waiting for unfinished jobs.... [Exit 2] FYI, I've just bootstrapped bison from scratch, but without using e.g., personally-installed automake build from automake.git's master. That solved the problem, but I don't know precisely why yet. I'll investigate, eventually.