[Top][All Lists]

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

Re: Problem with yacc rebuild rules

From: Bruno Haible
Subject: Re: Problem with yacc rebuild rules
Date: Wed, 26 Dec 2007 17:08:58 +0100
User-agent: KMail/1.5.4

Larry Jones wrote:
> I'm having a problem building the Gnulib getdate module as part of CVS
> when building in a directory other than the source directory:
>               test -f getdate.c || /bin/sh 
> /u/scjones/cvs-nightly/build-aux/ylwrap /u/scjones/cvs-nightly/lib/getdate.y 
> y.tab.c getdate.c y.tab.h getdate.h y.output getdate.output -- bison -y  
>       /u/scjones/cvs-nightly/build-aux/ylwrap[111]: bison:  not found.
>       *** Error exit code 1
> The problem is that getdate.c does exist, but over in $(srcdir), not in
> the current directory.  I'm not sure whether the problem is in
> automake's yacc.am, Gnulib's use of it, CVS's use of the Gnulib module,
> or some combination.  Anyone care to point fingers?  :-)

'care' or 'dare' to point a finger? :-)

I tried to reproduce your problem like this:
  1) $ ./gnulib-tool --create-testdir --dir=/dev/shm/testdir1 getdate
  2) added AM_MAINTAINER_MODE to configure.ac (since you're apparently
     using automake-1.10, and its yacc.am shows that the "test -f" comes
     in only when AM_MAINTAINER_MODE is used),
  3) build in a separate directory with GNU make.

What I see is:
  - When getdate.c is newer than getdate.y, "make getdate.c" does nothing.
  - When getdate.y is newer than getdate.c, "make getdate.c" shows a command
    like this:
       test -f ../../testdir1/gllib/getdate.c || /bin/sh ...

So my finger points back to you:
  * Are you sure that you are using GNU make? VPATH builds require GNU make.
  * The error message that you got indicates that the command 'bison' was
    not found. When building sources from a git or CVS repository (as opposed
    to a distributed tarball), you must have more than the usual tools
    (sh, [g]awk, tr, [g]cc, etc.) installed. Depending on the gnulib modules
    that you use, you may also need bison, gperf, etc.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]