Subject: Re: [GNU Bison 2.4.588-2f658] testsuite: 74 75 76 77 78 79 80 81 82 141 149 185 186 188 189 190 191 195 247 250 287 289 291 293 295 296 297 298 299 300 301 302 304 305 306 307 310 311 failed

From: Jim Meyering <[email-masked]>
Date: Wed, 20 Apr 2011 14:43:46 +0200

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