With USE=doc make -j8 man html sphinx-build -b man -d _build/doctrees . _build/man sphinx-build -b html -d _build/doctrees . _build/html Running Sphinx v1.6.3 Running Sphinx v1.6.3 making output directory... making output directory... loading pickled environment... not yet created building [mo]: targets for 0 po files that are out of date building [man]: all manpages updating environment: 7 added, 0 changed, 0 removed reading sources... [ 14%] Changelog Exception occurred: File "/usr/lib64/python3.6/os.py", line 220, in makedirs mkdir(name, mode) FileExistsError: [Errno 17] File exists: '/var/tmp/portage/dev-python/elasticsearch-py-6.0.0/work/elasticsearch-py-6.0.0/docs/_build/doctrees' The full traceback has been saved in /var/tmp/portage/dev-python/elasticsearch-py-6.0.0/temp/sphinx-err-3kzgesh9.log, if you want to report the issue to the developers. Please also report this if it was a user error, so that a better error message can be provided next time. A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks! make: *** [Makefile:53: html] Error 1 make: *** Waiting for unfinished jobs....
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba1ad5e2d4d69f9737a56d51658b33524f1e6706 commit ba1ad5e2d4d69f9737a56d51658b33524f1e6706 Author: Tomas Mozes <hydrapolic@gmail.com> AuthorDate: 2018-01-03 16:16:52 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2018-01-03 19:01:48 +0000 dev-python/elasticsearch-py: build docs in single thread Closes: https://bugs.gentoo.org/642202 Closes: https://github.com/gentoo/gentoo/pull/6733 Package-Manager: Portage-2.3.18, Repoman-2.3.6 dev-python/elasticsearch-py/elasticsearch-py-6.0.0.ebuild | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)
Thank you Andrey for reporting and Michał for merging the PR.
Reported upstream: https://github.com/elastic/elasticsearch-py/issues/698 However I'm not sure whether it's not a sphinx problem.
Sphinx is full of race conditions. I've recently fixed some of them that involved creating parent directories for output. Sadly, fixing parallel use of the same doctrees directory is much harder. The upstream issue is: https://github.com/sphinx-doc/sphinx/issues/2946 Long story short, the current fix is to either force -j1 for sphinx calls, or make them use independent doctrees. The former means less CPU use (since the following sphinx calls reuse doctrees created by earlier), the latter is usually faster on multicore CPUs. If the app uses different sources for the calls though, you really want separate doctrees.
(In reply to Michał Górny from comment #4) > Sphinx is full of race conditions. I've recently fixed some of them that > involved creating parent directories for output. Sadly, fixing parallel use > of the same doctrees directory is much harder. > > The upstream issue is: > > https://github.com/sphinx-doc/sphinx/issues/2946 > > Long story short, the current fix is to either force -j1 for sphinx calls, > or make them use independent doctrees. The former means less CPU use (since > the following sphinx calls reuse doctrees created by earlier), the latter is > usually faster on multicore CPUs. If the app uses different sources for the > calls though, you really want separate doctrees. Thanks for clarification, I'll leave it to -j1 as I don't think it's a huge problem at the moment. I suppose not even everybody builds those docs.