autoconf-patches
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]