Richard Tollerton
2015-Nov-13 18:59 UTC
[Libguestfs] [PATCH] po-docs: disable parallel build
Automating the master build from scratch requires some annoying hassles thanks to 1ea1646e6f224dbc5b3922bb3c65aab4d71a9cb9. This can be worked around by running the requisite commands first, i.e., rm -f po-docs/podfiles && make -C po-docs update-po && make But after that, there still appears to be a race in the po-docs build (reproduced on -j12 on an E5-1650 v2): make[2]: Entering directory 'libguestfs-git/src/libguestfs/po-docs' Making all in ja make[3]: Entering directory 'libguestfs-git/src/libguestfs/po-docs/ja' make[3]: *** No rule to make target 'guestfish-actions.pod', needed by 'guestfish.1'. Stop. This appears to go away if you set .NOTPARALLEL in all of po-docs. Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> --- po-docs/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/po-docs/Makefile.am b/po-docs/Makefile.am index a274898..617e8ad 100644 --- a/po-docs/Makefile.am +++ b/po-docs/Makefile.am @@ -88,3 +88,5 @@ podfiles: Makefile for f in `cat $(top_srcdir)/po/POTFILES-pl`; do echo $(top_srcdir)/$$f; done >> $@-t LC_ALL=C sort -o $@-t $@-t mv $@-t $@ + +.NOTPARALLEL: -- 2.6.2
Richard W.M. Jones
2015-Nov-14 11:10 UTC
Re: [Libguestfs] [PATCH] po-docs: disable parallel build
On Fri, Nov 13, 2015 at 12:59:00PM -0600, Richard Tollerton wrote:> Automating the master build from scratch requires some annoying hassles > thanks to 1ea1646e6f224dbc5b3922bb3c65aab4d71a9cb9. This can be worked > around by running the requisite commands first, i.e., > > rm -f po-docs/podfiles && make -C po-docs update-po && make > > But after that, there still appears to be a race in the po-docs > build (reproduced on -j12 on an E5-1650 v2): > > make[2]: Entering directory 'libguestfs-git/src/libguestfs/po-docs' > Making all in ja > make[3]: Entering directory 'libguestfs-git/src/libguestfs/po-docs/ja' > make[3]: *** No rule to make target 'guestfish-actions.pod', needed by > 'guestfish.1'. Stop. > > This appears to go away if you set .NOTPARALLEL in all of po-docs. > > Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> > --- > po-docs/Makefile.am | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/po-docs/Makefile.am b/po-docs/Makefile.am > index a274898..617e8ad 100644 > --- a/po-docs/Makefile.am > +++ b/po-docs/Makefile.am > @@ -88,3 +88,5 @@ podfiles: Makefile > for f in `cat $(top_srcdir)/po/POTFILES-pl`; do echo $(top_srcdir)/$$f; done >> $@-t > LC_ALL=C sort -o $@-t $@-t > mv $@-t $@ > + > +.NOTPARALLEL: > -- > 2.6.2The bug that was causing 1ea1646e6 in the first place was subtle, and I wish I'd written down more detail about exactly why (I thought) it was impossible to fix ... Anyway, adding .NOTPARALLEL may be the right fix, but I can't see how it will help unless we also revert 1ea1646e6. So at minimum you need to send a revert commit as well. Also we might need to add .NOTPARALLEL to po-docs/language.mk too. Also it needs a big comment explaining exactly why we are doing this, since what will inevitably happen later is someone will wonder why the file has .NOTPARALLEL and try to remove it. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v
Apparently Analagous Threads
- Re: [PATCH] build: ensure .pot and .pod files for docs are up-to-date
- [PATCH] build: ensure .pot and .pod files for docs are up-to-date
- [PATCH] po-docs: turn language list into LINGUAS file
- [PATCH 1/2] build: isolate common po-docs logic
- Re: [PATCH] Fix building on architectures where ocamlopt is not available