[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
parallel make failure(s)
From: |
Ralf Wildenhues |
Subject: |
parallel make failure(s) |
Date: |
Tue, 22 Jan 2008 21:47:24 +0100 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
$ make clean && make -j7 maintainer-check
cd tests && make maintainer-check
make[1]: Entering directory `/tmp/autoconf/tests'
:;{ \
echo '#! /bin/sh'; \
echo 'result=`/usr/bin/expr "$@"`'; \
echo 'estatus=$?'; \
echo 'cat <<EOF'; \
echo '${result:-0}'; \
echo 'EOF'; \
echo 'exit $estatus'; \
} > expr-t
chmod +x expr-t
mv expr-t expr
CC=g++ make check
make[2]: Entering directory `/tmp/autoconf/tests'
make autoconf autoheader autom4te autoreconf autoscan autoupdate ifnames
make[3]: Entering directory `/tmp/autoconf/tests'
make[3]: *** No rule to make target `../bin/autom4te', needed by `wrapper.in'.
Stop.
make[3]: Leaving directory `/tmp/autoconf/tests'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/tmp/autoconf/tests'
make[1]: *** [maintainer-check-c++] Error 2
make[1]: Leaving directory `/tmp/autoconf/tests'
make: *** [maintainer-check-tests] Error 2
And when the above is fixed, then still two testsuite invocations try to
run in parallel; in my case it failed nicely due to the write failure
checks that are in Autotest now.
I've fixed both as shown below.
Cheers,
Ralf
Fix parallel `maintainer-check'.
* Makefile.am (maintainer-check-tests): Depend on `all'.
Use `$(MAKE) $(AM_MAKEFLAGS)' instead of plain `make'.
* tests/Makefile.am (maintainer-check-c++, maintainer-check-posix):
Likewise.
(maintainer-check): Serialize the testsuite runs.
diff --git a/Makefile.am b/Makefile.am
index cfe88a1..6a111f2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
# Make Autoconf.
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007 Free
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008 Free
# Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
@@ -53,8 +53,8 @@ $(srcdir)/INSTALL: $(top_srcdir)/doc/install.texi
## maintainer-check ##
maintainer-check: maintainer-check-tests
-maintainer-check-tests:
- cd tests && make maintainer-check
+maintainer-check-tests: all
+ cd tests && $(MAKE) $(AM_MAKEFLAGS) maintainer-check
## ----------------------------------- ##
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 91b09e2..ac89c62 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -190,7 +190,10 @@ MAINTAINERCLEANFILES += mktests.stamp
## maintainer-check ##
-maintainer-check: maintainer-check-posix maintainer-check-c++
+# These cannot be run in parallel.
+maintainer-check:
+ $(MAKE) $(AM_MAKEFLAGS) maintainer-check-posix
+ $(MAKE) $(AM_MAKEFLAGS) maintainer-check-c++
# The hairy heredoc is more robust than using echo.
CLEANFILES += expr
@@ -209,9 +212,9 @@ expr:
# Try the test suite with more severe environments.
maintainer-check-posix: expr
- POSIXLY_CORRECT=yes make check
+ POSIXLY_CORRECT=yes $(MAKE) $(AM_MAKEFLAGS) check
rm expr
# Try using G++ as a C compiler.
maintainer-check-c++:
- CC=g++ make check
+ CC=g++ $(MAKE) $(AM_MAKEFLAGS) check
- parallel make failure(s),
Ralf Wildenhues <=