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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions