[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] avoid parallel build failures
From: |
Stefano Lattarini |
Subject: |
Re: [PATCH] avoid parallel build failures |
Date: |
Wed, 11 Apr 2012 21:59:37 +0200 |
On 04/11/2012 09:27 PM, Jim Meyering wrote:
> Surprised by parallel build failures,
>
Oops *blush* I must admit that, while I usually run the testsuite with
a high degree of parallelism, I also usually run the build proper with
a simple "make all", because that is so fast anyway. So I ended up
releasing the beta tarball without having truly tried a fully parallel
build -- how foolish. Do you think this issue warrants another beta
release?
> I tracked them down:
>
> From 3fcf1fe611140eb6677d5893719bec1d96f106db Mon Sep 17 00:00:00 2001
> From: Jim Meyering <address@hidden>
> Date: Wed, 11 Apr 2012 21:25:48 +0200
> Subject: [PATCH] avoid parallel build failures
>
Minor tiny nit (feel free to ignore it): could you prepend the summary
line with either "build:" or "fixup:", so that the guidelines in HACKING
are followed?
> A parallel build would fail when two concurrent sub-make processes
> tried to build lib/Automake/Config.pm. The loser would complain that
> grep: lib/Automake/Config.pm-t: No such file or directory
> chmod: cannot access `lib/Automake/Config.pm-t': No such file or\
> directory
> make[1]: *** [lib/Automake/Config.pm] Error 1
> * Makefile.am (update_mans): Don't build lib/Automake/Config.pm here.
> Instead, depend on it from the two rules that use it:
> ($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on it.
> ($(srcdir)/doc/automake-$(APIVERSION).1): Likewise.
>
Oops, a distributed file cannot depend on a non-distributed one :-(
This makes the patch unusable unfortunately.
> However, that was not enough, since even then, a parallel build
> would still fail, now with this:
>
> help2man: can't get `--help' info from automake-1.11a
> Try `--no-discard-stderr' if option outputs to stderr
> make: *** [doc/automake-1.11a.1] Error 1
>
> a subsequent "make -j3" would create the missing file.
> That was because help2man would invoke t/wrap/aclocal.in and
> t/wrap/automake.in, each of which would require aclocal and
> automake, yet those two files weren't guaranteed to be created.
> Add explicit dependencies:
> ($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on aclocal.
> ($(srcdir)/doc/automake-$(APIVERSION).1): Depend on automake.
>
Ditto :-(
Any other idea on how to fix the issue portably and properly?
Regards, and sorry for the confusion,
Stefano
- [PATCH] avoid parallel build failures, Jim Meyering, 2012/04/11
- Re: [PATCH] avoid parallel build failures,
Stefano Lattarini <=
- Re: [PATCH] avoid parallel build failures, Jim Meyering, 2012/04/12
- Re: [PATCH] avoid parallel build failures, Stefano Lattarini, 2012/04/12
- Re: [PATCH] avoid parallel build failures, Jim Meyering, 2012/04/12
- Re: [PATCH] avoid parallel build failures, Stefano Lattarini, 2012/04/12
- Re: [PATCH] avoid parallel build failures, Jim Meyering, 2012/04/12
- Re: [PATCH] avoid parallel build failures, Stefano Lattarini, 2012/04/12