[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.



Reply via email to