[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: coreutils' parallel make distcheck now fails
From: |
Ralf Wildenhues |
Subject: |
Re: coreutils' parallel make distcheck now fails |
Date: |
Fri, 10 Apr 2009 14:28:13 +0200 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
Hi Jim,
thanks for the report.
* Jim Meyering wrote on Fri, Apr 10, 2009 at 02:07:53PM CEST:
> On a quad-core system, building "make -j7 distcheck"
> fails consistently like this: (note the parallel builds of rmdir.o)
>
> CC nohup.o
> CC readlink.o
> CC rm.o
> CC rmdir.o
> make[3]: Entering directory `/c/coreutils/src'
This looks fishy. It shouldn't ever enter src twice.
I bet that's a missing entry in AM_RECURSIVE_TARGETS (or
ALL_RECURSIVE_TARGETS). Proposed patch below.
> CC readlink.o
> CC stat.o
> AR libver.a
> CC sync.o
> CC shred.o
> CC rmdir.o
> CC touch.o
> CC unlink.o
> mv: cannot stat `.deps/rmdir.Tpo': No such file or directory
> make[3]: *** [rmdir.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
Cheers,
Ralf
2009-04-10 Ralf Wildenhues <address@hidden>
Fix parallel distcheck failure.
* maint.mk (ALL_RECURSIVE_TARGETS): Add patch-check,
check-AUTHORS, maintainer-distcheck, vc-dist, taint-distcheck,
my-distcheck, alpha, beta, major.
diff --git a/maint.mk b/maint.mk
index 8b2ea6c..1e6b13f 100644
--- a/maint.mk
+++ b/maint.mk
@@ -484,6 +484,7 @@ update-NEWS-hash: NEWS
$(srcdir)/cfg.mk
epoch_date = 1970-01-01 00:00:00.000000000 +0000
+ALL_RECURSIVE_TARGETS += patch-check
# Ensure that the c99-to-c89 patch applies cleanly.
patch-check:
rm -rf src-c89 address@hidden address@hidden
@@ -509,6 +510,7 @@ patch-check:
test "$$msg" = ok && rm -rf src-c89 address@hidden address@hidden ||
echo "$$msg" 1>&2; \
test "$$msg" = ok
+ALL_RECURSIVE_TARGETS += check-AUTHORS
check-AUTHORS:
$(MAKE) -C src $@
@@ -643,6 +645,7 @@ vc-diff-check:
cvs-check: vc-diff-check
+ALL_RECURSIVE_TARGETS += maintainer-distcheck
maintainer-distcheck:
$(MAKE) distcheck
$(MAKE) taint-distcheck
@@ -651,6 +654,7 @@ maintainer-distcheck:
# Don't make a distribution if checks fail.
# Also, make sure the NEWS file is up-to-date.
+ALL_RECURSIVE_TARGETS += vc-dist
vc-dist: $(local-check) cvs-check maintainer-distcheck
XZ_OPT=-9ev $(MAKE) dist
@@ -686,6 +690,7 @@ fake_home = $(tp)/home
# and don't affect anything in $HOME. Create witness files in $HOME,
# record their attributes, and build/test. Then ensure that the
# witnesses were not affected.
+ALL_RECURSIVE_TARGETS += taint-distcheck
taint-distcheck: $(DIST_ARCHIVES)
test -d $(t_taint) && chmod -R 700 $(t_taint) || :
-rm -rf $(t_taint) $(fake_home)
@@ -774,6 +779,7 @@ endef
# the build srcdir, these always-failing programs will run.
# Otherwise, it is too easy to test the wrong programs.
# Note that "false" itself is a symlink to true, so it too will malfunction.
+ALL_RECURSIVE_TARGETS += my-distcheck
my-distcheck: $(DIST_ARCHIVES) $(local-check)
$(MAKE) syntax-check
$(MAKE) check
@@ -855,6 +861,7 @@ define emit-commit-log
endef
.PHONY: alpha beta major
+ALL_RECURSIVE_TARGETS += alpha beta major
alpha beta major: $(local-check) writable-files
test $@ = major \
&& { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \