On Thu, Feb 20, 2020 at 07:50:47PM +0100, Rafael J. Wysocki wrote:
On two of my systems the docs build has been broken by commit
51e46c7a4007 ("docs, parallelism: Rearrange how jobserver reservations
are made").
The symptom is that the build system complains about the "output"
directory not being there and returns with an error.
Reverting the problematic commit makes the problem go away.
How strange! This must be some race in the parallel build. AFAICT,
"output" is made in the first sub-target (Documentation/media). This
doesn't look entirely stable (there's no ordering implied by the "all"
target in there)...
Does this work for you?
diff --git a/Documentation/Makefile b/Documentation/Makefile
index d77bb607aea4..5654e087ae1e 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -62,7 +62,8 @@ loop_cmd = $(echo-cmd) $(cmd_$(1)) || exit;
# e.g. "media" for the linux-tv book-set at ./Documentation/media
quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
- cmd_sphinx = $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \
+ cmd_sphinx = mkdir -p $(abspath $(BUILDDIR)) && \
+ $(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/media $2 && \
PYTHONDONTWRITEBYTECODE=1 \
BUILDDIR=$(abspath $(BUILDDIR)) SPHINX_CONF=$(abspath $(srctree)/$(src)/$5/$(SPHINX_CONF)) \
$(PYTHON) $(srctree)/scripts/jobserver-exec \
--
Kees Cook