On Friday 12 August 2011, Stefano Lattarini wrote: > OK, the attached hacky patch seems to fix the bug. > LOL no, there was an embarassingly stupid error in my patch: diff --git a/lib/am/check.am b/lib/am/check.am index 0b54312..75f8bba 100644 --- a/lib/am/check.am +++ b/lib/am/check.am @@ -224,7 +224,9 @@ $(TEST_SUITE_LOG): $(TEST_LOGS) col="$$red"; \ fi; \ echo "$$msg" | $(am__text_box) "col=$$col" "std=$$std"; \ - $$exit +## The apparently redundant and repeated "exit 1" works around a bug in +## FreeBSD make (present only when running in concurrent mode). + $$exit || (exit 1); exit 1 This obviously causes the `check' target to exit unconditionally with a non-zero exit status. Hardly a fix for anything, sigh. The "proper fix" is even easier BTW: just use "$$exit || exit 1" instead. The updated patch should now work (and I've tested it properly this time). This new patch hasn't been derived by "cargo-cult guessing", but from the explanation of the relevant FreeBSD make bug provided by Jilles Tjoelker: Now that's something to be documented in the Autoconf manual I'd say ... > 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, > Glad I've waited this time! And I will allow another couple of days for comments and suggestions before pushing. Regards, Stefano