#9208 ap: Doc build fails against Sphinx 5.1.0
Closed: fixed 2 years ago by rcritten. Opened 2 years ago by slev.

With new Sphinx 5.1.0 (Released: Jul 24, 2022) docs build fails with:

Using legacy 'setup.py install' for jwcrypto, since package 'wheel' is not installed.
Using legacy 'setup.py install' for qrcode, since package 'wheel' is not installed.
Using legacy 'setup.py install' for sphinxcontrib-plantuml, since package 'wheel' is not installed.
Installing collected packages: snowballstemmer, pytz, pyasn1, netaddr, mistune, alabaster, wrapt, wheel, urllib3, sphinxcontrib-serializinghtml, sphinxcontrib-qthelp, sphinxcontrib-jsmath, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, six, qrcode, pyparsing, Pygments, pycparser, pyasn1-modules, pillow, MarkupSafe, lxml, imagesize, idna, docutils, dnspython, charset-normalizer, certifi, babel, requests, packaging, m2r2, Jinja2, deprecated, cffi, sphinx, cryptography, sphinxcontrib-plantuml, jwcrypto
 Running setup.py install for qrcode: started
 Running setup.py install for qrcode: finished with status 'done'
 Running setup.py install for sphinxcontrib-plantuml: started
 Running setup.py install for sphinxcontrib-plantuml: finished with status 'done'
 Running setup.py install for jwcrypto: started
 Running setup.py install for jwcrypto: finished with status 'done'
Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.1 Pygments-2.12.0 alabaster-0.7.12 babel-2.10.3 certifi-2022.6.15 cffi-1.15.1 charset-normalizer-2.1.0 cryptography-37.0.4 deprecated-1.2.13 dnspython-2.2.1 docutils-0.19 idna-3.3 imagesize-1.4.1 jwcrypto-1.3.1 lxml-4.9.1 m2r2-0.3.2 mistune-0.8.4 netaddr-0.8.0 packaging-21.3 pillow-9.2.0 pyasn1-0.4.8 pyasn1-modules-0.2.8 pycparser-2.21 pyparsing-3.0.9 pytz-2022.1 qrcode-7.3.1 requests-2.28.1 six-1.16.0 snowballstemmer-2.2.0 sphinx-5.1.0 sphinxcontrib-applehelp-1.0.2 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-2.0.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-plantuml-0.24 sphinxcontrib-qthelp-1.0.3 sphinxcontrib-serializinghtml-1.1.5 urllib3-1.26.10 wheel-0.37.1 wrapt-1.14.1
make: Leaving directory '/__w/1/s/doc'
Build documentation
make: Entering directory '/__w/1/s/doc'
Running Sphinx v5.1.0

Extension error:
Could not import extension m2r2 (exception: cannot import name 'ErrorString' from 'docutils.core' (/__w/1/s/doc/.venv/lib64/python3.10/site-packages/docutils/core.py))
make: *** [Makefile:24: html] Error 2
make: Leaving directory '/__w/1/s/doc'

New Sphinx bumped supported docutils to 0.19 (https://github.com/sphinx-doc/sphinx/pull/10656). But m2r2 doesn't support it yet:
https://github.com/CrossNox/m2r2/issues/52

Thereby, docutils must be constrained to < 0.19.

Example of the failure:
https://dev.azure.com/freeipa/freeipa/_build/results?buildId=11394&view=logs&j=7e620c85-24a8-5ffa-8b1f-642bc9b1fc36&t=2febcae8-7f6a-51bb-45aa-d6e72c9ea7e2


Metadata Update from @slev:
- Issue assigned to slev

2 years ago

master:

  • 0e8bde3 ap: Raise dbus timeout
  • dd094e3 ap: Disable azure's security daemon
  • 8542fd3 ap: Rearrange overloaded jobs
  • e9b232f ap: Constrain supported docutils

ipa-4-9:

  • e77b0b0 ap: Raise dbus timeout
  • 98c6e96 ap: Disable azure's security daemon
  • b59baf3 ap: Rearrange overloaded jobs
  • 1ada42e ap: Constrain supported docutils

ipa-4-10:

  • 260d637 ap: Raise dbus timeout
  • acd1d12 ap: Disable azure's security daemon
  • 8ff0c1a ap: Rearrange overloaded jobs
  • e5f7356 ap: Constrain supported docutils

Metadata Update from @rcritten:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

2 years ago

Login to comment on this ticket.

Metadata