* Stefano Lattarini wrote on Tue, Apr 20, 2010 at 04:31:05PM CEST: > I encounterd the following failure when trying out the Automake > testsuite using Heirloom make as $MAKE:
> $ strings /opt/heirloom/bin/make | grep '@(#)' > @(#)make.sl 1.40 (gritter) 3/15/07 > The failure is not spurious, and seems due to the fact that heirloom > make is overly verbose in rules involving `flex' even when silent-rules > are enabled. > > The full log of the test run is attached. Let me know if you need > more information. Thanks for the bug report. [...] > + /opt/heirloom/bin/make > + cat stdout > YACC foo6.c > updating foo6.h > /opt/heirloom/bin/make all-recursive > Making all in sub > YACC baz6.c > updating baz6.h > /opt/heirloom/bin/make all-am > CXX baz1.o > FC baz2.o > F77 baz3.o > rm -f baz5.c > flex -t baz5.l > baz5.c > gcc -g -O2 -c -o baz5.o baz5.c > rm -f baz5.c > CC baz6.o [...] > LEX baz5.c > CC ba2-baz5.o [...] > rm -f foo5.c > flex -t foo5.l > foo5.c > gcc -g -O2 -c -o foo5.o foo5.c > rm -f foo5.c [...] > LEX foo5.c > CC fo2-foo5.o > CC fo2-foo6.o > CXXLD fo2 > + grep ' -c' stdout > gcc -g -O2 -c -o baz5.o baz5.c > gcc -g -O2 -c -o foo5.o foo5.c > + Exit 1 That looks like heirloom-make uses its own internal rule for baz5.c and for foo5.c. That would be problematic because ylwrap is not used, and other problems. With a non-flex lex you'd see more test failures I suppose. Hmm. Actually, one can see that first, the internal rule is used, but then our rule is also used afterwards (the lines matching LEX.*5.c). Is this the only test failure with heirloom-make? I'd expect quite a few more, but I'm guessing we have most of those with a required=GNUmake line. Where can I get this heirloom-make? Is there a Debian package for it? I'm not bound to bother much with this issue because no user is forced to pain herself with heirloom-make (and even Solaris make is better). I'm guessing this has to do with chains of inference rules not being detected or so. Cheers, Ralf