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
Seemingly Similar 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