Skip to content

redirect_from extension breaks latex build #19780

Closed
@QuLogic

Description

@QuLogic

Bug report

Bug summary

Running make -C doc latexpdf fails; the full traceback is:

# Sphinx version: 3.2.1
# Python version: 3.9.1 (CPython)
# Docutils version: 0.16 release
# Jinja2 version: 2.11.3
# Last messages:
#   reading sources... [ 48%] api/animation_api
#   reading sources... [ 48%] api/api_changes
#   reading sources... [ 48%] api/api_changes_old
#   reading sources... [ 48%] api/artist_api
#   reading sources... [ 48%] api/axes_api
#   reading sources... [ 48%] api/axis_api
#   reading sources... [ 48%] api/backend_agg_api
#   reading sources... [ 49%] api/backend_bases_api
#   reading sources... [ 49%] api/backend_cairo_api
#   reading sources... [ 49%] api/backend_gtk3_api
# Loaded extensions:
#   sphinx.ext.mathjax (3.2.1) from /usr/lib/python3.9/site-packages/sphinx/ext/mathjax.py
#   sphinxcontrib.applehelp (1.0.2) from /usr/lib/python3.9/site-packages/sphinxcontrib/applehelp/__init__.py
#   sphinxcontrib.devhelp (1.0.2) from /usr/lib/python3.9/site-packages/sphinxcontrib/devhelp/__init__.py
#   sphinxcontrib.htmlhelp (1.0.3) from /usr/lib/python3.9/site-packages/sphinxcontrib/htmlhelp/__init__.py
#   sphinxcontrib.serializinghtml (1.1.4) from /usr/lib/python3.9/site-packages/sphinxcontrib/serializinghtml/__init__.py
#   sphinxcontrib.qthelp (1.0.3) from /usr/lib/python3.9/site-packages/sphinxcontrib/qthelp/__init__.py
#   alabaster (0.7.12) from /usr/lib/python3.9/site-packages/alabaster/__init__.py
#   sphinx.ext.autodoc.type_comment (3.2.1) from /usr/lib/python3.9/site-packages/sphinx/ext/autodoc/type_comment.py
#   sphinx.ext.autodoc (3.2.1) from /usr/lib/python3.9/site-packages/sphinx/ext/autodoc/__init__.py
#   sphinx.ext.autosummary (3.2.1) from /usr/lib/python3.9/site-packages/sphinx/ext/autosummary/__init__.py
#   sphinx.ext.doctest (3.2.1) from /usr/lib/python3.9/site-packages/sphinx/ext/doctest.py
#   sphinx.ext.graphviz (3.2.1) from /usr/lib/python3.9/site-packages/sphinx/ext/graphviz.py
#   sphinx.ext.inheritance_diagram (3.2.1) from /usr/lib/python3.9/site-packages/sphinx/ext/inheritance_diagram.py
#   sphinx.ext.intersphinx (3.2.1) from /usr/lib/python3.9/site-packages/sphinx/ext/intersphinx.py
#   sphinx.ext.ifconfig (3.2.1) from /usr/lib/python3.9/site-packages/sphinx/ext/ifconfig.py
#   sphinx.ext.viewcode (3.2.1) from /usr/lib/python3.9/site-packages/sphinx/ext/viewcode.py
#   IPython.sphinxext.ipython_console_highlighting (unknown version) from /usr/lib/python3.9/site-packages/IPython/sphinxext/ipython_console_highlighting.py
#   IPython.sphinxext.ipython_directive (unknown version) from /usr/lib/python3.9/site-packages/IPython/sphinxext/ipython_directive.py
#   numpydoc (0.9.2) from /usr/lib/python3.9/site-packages/numpydoc/__init__.py
#   sphinx_gallery.gen_gallery (0.7.0) from /usr/lib/python3.9/site-packages/sphinx_gallery/gen_gallery.py
#   matplotlib.sphinxext.mathmpl (unknown version) from /home/elliott/.local/lib/python3.9/site-packages/matplotlib/sphinxext/mathmpl.py
#   matplotlib.sphinxext.plot_directive (3.4.0) from /home/elliott/.local/lib/python3.9/site-packages/matplotlib/sphinxext/plot_directive.py
#   sphinxext.custom_roles (unknown version) from /home/elliott/code/matplotlib-3.4.0/doc/sphinxext/custom_roles.py
#   sphinxext.github (unknown version) from /home/elliott/code/matplotlib-3.4.0/doc/sphinxext/github.py
#   sphinxext.math_symbol_table (unknown version) from /home/elliott/code/matplotlib-3.4.0/doc/sphinxext/math_symbol_table.py
#   sphinxext.missing_references (unknown version) from /home/elliott/code/matplotlib-3.4.0/doc/sphinxext/missing_references.py
#   sphinxext.mock_gui_toolkits (unknown version) from /home/elliott/code/matplotlib-3.4.0/doc/sphinxext/mock_gui_toolkits.py
#   sphinxext.skip_deprecated (unknown version) from /home/elliott/code/matplotlib-3.4.0/doc/sphinxext/skip_deprecated.py
#   sphinxext.redirect_from (unknown version) from /home/elliott/code/matplotlib-3.4.0/doc/sphinxext/redirect_from.py
#   sphinx_copybutton (0.3.1) from /home/elliott/.local/lib/python3.9/site-packages/sphinx_copybutton/__init__.py
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/sphinx/cmd/build.py", line 280, in build_main
    app.build(args.force_all, filenames)
  File "/usr/lib/python3.9/site-packages/sphinx/application.py", line 348, in build
    self.builder.build_update()
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 294, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 311, in build
    updated_docnames = set(self.read())
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 418, in read
    self._read_serial(docnames)
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 439, in _read_serial
    self.read_doc(docname)
  File "/usr/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 479, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "/usr/lib/python3.9/site-packages/sphinx/io.py", line 223, in read_doc
    pub.publish()
  File "/usr/lib/python3.9/site-packages/docutils/core.py", line 217, in publish
    self.document = self.reader.read(self.source, self.parser,
  File "/usr/lib/python3.9/site-packages/sphinx/io.py", line 128, in read
    self.parse()
  File "/usr/lib/python3.9/site-packages/docutils/readers/__init__.py", line 77, in parse
    self.parser.parse(self.input, document)
  File "/usr/lib/python3.9/site-packages/sphinx/parsers.py", line 102, in parse
    self.statemachine.run(inputlines, document, inliner=self.inliner)
  File "/usr/lib/python3.9/site-packages/docutils/parsers/rst/states.py", line 170, in run
    results = StateMachineWS.run(self, input_lines, input_offset,
  File "/usr/lib/python3.9/site-packages/docutils/statemachine.py", line 241, in run
    context, next_state, result = self.check_line(
  File "/usr/lib/python3.9/site-packages/docutils/statemachine.py", line 459, in check_line
    return method(match, context, next_state)
  File "/usr/lib/python3.9/site-packages/docutils/parsers/rst/states.py", line 2342, in explicit_markup
    nodelist, blank_finish = self.explicit_construct(match)
  File "/usr/lib/python3.9/site-packages/docutils/parsers/rst/states.py", line 2354, in explicit_construct
    return method(self, expmatch)
  File "/usr/lib/python3.9/site-packages/docutils/parsers/rst/states.py", line 2096, in directive
    return self.run_directive(
  File "/usr/lib/python3.9/site-packages/docutils/parsers/rst/states.py", line 2146, in run_directive
    result = directive_instance.run()
  File "/home/elliott/code/matplotlib-3.4.0/doc/sphinxext/redirect_from.py", line 68, in run
    self.redirects[redirected_reldoc] = builder.get_relative_uri(
  File "/usr/lib/python3.9/site-packages/sphinx/builders/latex/__init__.py", line 150, in get_relative_uri
    return self.get_target_uri(to, typ)
  File "/usr/lib/python3.9/site-packages/sphinx/builders/latex/__init__.py", line 144, in get_target_uri
    raise NoUri(docname, typ)
sphinx.errors.NoUri: ('api/backend_gtk3_api', None)

Matplotlib version

  • Operating system: Fedora 33
  • Matplotlib version (import matplotlib; print(matplotlib.__version__)): 3.4.0
  • Matplotlib backend (print(matplotlib.get_backend())): n/a
  • Python version: 3.9.1
  • Other libraries: sphinx-build 3.2.1

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions