Closed nieder closed 9 years ago
Here's a very simple way to show the problem:
$ cd nip2-x.x/src
$ rm parse.h
$ make model.o
model.c:40:19: fatal error: parse.h: No such file or directory
ie. the makefile does not know it must bison parse.y
to make parse.c
and parse.h
before it can make model.o
. I've tried various things but not found the right combination of rules yet, I'll keep poking.
Adding parse.c to the dependencies of nip2-model.o in src/Makefile, and then make nip2-model.o
fixes the failure here. make model.o
is not good enough to trigger the bison parser.* rule, apparently. lart libtool
I think that's done it, if you get a chance to test that'd be great.
Yeah, removing parse.h and then remaking nip2-model.o w/ a883c22 as the checkout gets parse.h rebuilt.
OK, closing, thanks @nieder.
The creation of the parse.h header is susceptible to a race condition with it being #included by model.c.
Using -j8, I get this failure about 50% of the time:
I've put the compiler command and the error right next to each other here, but they are not adjacent i the build log (as would be expected with a -jN build).
OS X 10.9, using Fink to handle dependencies and nip2 itself. system-make: GNU Make 3.81