On Thu, Feb 20, 2020 at 9:05 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote: > > 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. I don't think so, I didn't use -j with htmldocs builds. And you know what, adding "-j 2" to the command line actually makes it work. :-) > 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? No, it doesn't. > > 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 \ > > --