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
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.2
The 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
participants (2)
-
Richard Tollerton -
Richard W.M. Jones