On 9/19/19 10:22 AM, Peter Maydell wrote: > Alex looked at this and suggests the problem is probably because > you're doing an in-tree build.
Bingo. I thought we wanted to get rid of that, though. What's the status on forcing out-of-tree builds? (I'll adapt, but only once patches are in that force me to). > Sphinx insists that it can't build > output files into the source tree, so we have a thing where we > set MANUAL_BUILDDIR to docs/built if we're doing an in-tree build. > But the filename we add to DOCS is just "docs/interop/qemu-ga.8" > so for an in-tree build the sphinx rule won't match it, and > the install rune won't find it either. > > If that's the cause I think this untested fix should help: > > diff --git a/Makefile b/Makefile > index 111082ce545..8d9dcb3aa4a 100644 > --- a/Makefile > +++ b/Makefile > @@ -325,7 +325,7 @@ endif > endif > [1] > ifdef BUILD_DOCS > -DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 > docs/interop/qemu-ga.8 > +DOCS=qemu-doc.html qemu-doc.txt qemu.1 qemu-img.1 qemu-nbd.8 > $(MANUAL_BUILDDIR)/interop/qemu-ga.8 Not quite. This occurs prior to the line defining MANUAL_BUILDDIR, resulting in: GEN /interop/qemu-ga.8 opening "/interop": No such file or directory But hoisting the following text up to point [1] makes the build complete with sphinx installed. Progress! > # Sphinx does not allow building manuals into the same directory as > # the source files, so if we're doing an in-tree QEMU build we must > # build the manuals into a subdirectory (and then install them from > # there for 'make install'). For an out-of-tree build we can just > # use the docs/ subdirectory in the build tree as normal. > ifeq ($(realpath $(SRC_PATH)),$(realpath .)) > MANUAL_BUILDDIR := docs/built > else > MANUAL_BUILDDIR := docs > endif -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature