[CC:ing bug-autoconf, about a FreeBSD make bug] On Friday 12 August 2011, Stefano Lattarini wrote: > OK, the attached hacky patch seems to fix the bug. I have no idea why > exactly it is so yet, so we might want to wait to apply the patch until > we have fully understood the reasons of the original failure, and why > the proposed patch seems to fix it. > I have managed to reproduce the FreeBSD make bug with this one liner:
$ echo 'all: ; @set +e; false' | make -j2 -f- Notice that all of `-j', `@' and `set +e' are required to trigger the bug: $ echo 'all: ; set +e; false' | make -j2 -f- set +e; false *** Error code 1 1 error $ echo 'all: ; @false' | make -j2 -f- *** Error code 1 1 error $ echo 'all: ; @set +e; false' | make -f- *** Error code 1 Stop in /tmp. A well-placed use of ps might give an hint about the problem: $ echo 'all: ; @set +e; ps -o args $$$$' | make -f- -j2 COMMAND sh -ev That `-v' flag seems truly fishy ... System information: $ uname -rsm FreeBSD 8.2-RELEASE i386 $ echo 'all: ; @echo $(MAKE_VERSION)' | make -f- 5200408120 This issue should IMHO be probably documented in the autoconf manual, and reported to the FreeBSD developers. I'll try to do that soonish (couple of days) if nobody beats me. Regards, Stefano