Skip to content

Parallel make of man pages causes build errors #1800

@pslldq

Description

@pslldq

Running make with the more than one Job (-j flag) should not result in a build failure. But when generating the man pages, sphinx trips over being run in parallel. From a clean labgrid git checkout:

$ python -m build --wheel --no-isolation
[...]
Successfully built labgrid-25.1.dev191-py3-none-any.whl
$ make -C man -j10 compressed
[...]
Running Sphinx v8.2.3
Running Sphinx v8.2.3
Running Sphinx v8.2.3
Running Sphinx v8.2.3
Running Sphinx v8.2.3
Running Sphinx v8.2.3
[...]
Sphinx parallel build error!

Versions
========

* Platform:         linux; (Linux-6.18.5-arch1-1-x86_64-with-glibc2.42)
* Python version:   3.14.2 (CPython)
* Sphinx version:   8.2.3
* Docutils version: 0.22.3
* Jinja2 version:   3.1.6
* Pygments version: 2.19.2

Last Messages
=============

    getting_started


    reading sources... [ 21%]
    index


    reading sources... [ 25%]
    man

Loaded Extensions
=================

* sphinx.ext.mathjax (8.2.3)
* alabaster (1.0.0)
* sphinxcontrib.applehelp (2.0.0)
* sphinxcontrib.devhelp (2.0.0)
* sphinxcontrib.htmlhelp (2.1.0)
* sphinxcontrib.serializinghtml (2.0.0)
* sphinxcontrib.qthelp (2.0.0)
* sphinx.ext.autodoc.preserve_defaults (8.2.3)
* sphinx.ext.autodoc.type_comment (8.2.3)
* sphinx.ext.autodoc.typehints (8.2.3)
* sphinx.ext.autodoc (8.2.3)
* sphinx.ext.doctest (8.2.3)
* sphinx.ext.napoleon (8.2.3)
* sphinx.ext.coverage (8.2.3)
* sphinx.ext.viewcode (8.2.3)
* sphinxcontrib.autoprogram (unknown version)
* sphinx.ext.autosectionlabel (8.2.3)
* sphinxcontrib.jquery (4.1)
* sphinx_rtd_theme (unknown version)

Traceback
=========

      File "/usr/lib/python3.14/site-packages/sphinx/util/parallel.py", line 137, in _join_one
        raise SphinxParallelError(*result)
    sphinx.errors.SphinxParallelError: sphinx.errors.ExtensionError: Handler <function write_literal_blocks at 0x7fdc3ce52560> for event 'doctree-read' threw an exception (exception: literal block name "example-env.yaml" used multiple times)


The full traceback has been saved in:
/tmp/sphinx-err-brziw3gd.log

To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks!
Please also report this if it was a user error, so that a better error message can be provided next time.
make[1]: *** [Makefile:20: man] Error 2
[...]
build succeeded, 144 warnings.

The manual pages are in .build/man.
make[1]: Leaving directory '/home/spu/gits/labgrid/doc'
make: Leaving directory '/home/spu/gits/labgrid/man'
$ echo $?
2

I've ran into this issue while building the labgrid-git AUR package, where I've globally configured to run parallel make commands to build other makefile based projects quickly. Tested with
9280f5f ("Merge pull request #1794 from vzlu/minor-helper-updates")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions