You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This was originally reported in #933, but then closed, so let me open another issue on this.
With doxygen 1.9.7 Breathe documentation build fails with
> /usr/lib/python3.12/site-packages/sphinx/util/logging.py(427)filter()
-> raise exc
(Pdb)
make[1]: Leaving directory '/builddir/build/BUILD/breathe-4.35.0/documentation'
RPM build errors:
fatal: not a git repository (or any of the parent directories): .git
Exception occurred while building, starting debugger:
Traceback (most recent call last):
File "/usr/lib/python3.12/site-packages/sphinx/cmd/build.py", line 284, in build_main
app.build(args.force_all, args.filenames)
File "/usr/lib/python3.12/site-packages/sphinx/application.py", line 347, in build
self.builder.build_update()
File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 311, in build_update
self.build(to_build,
File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 326, in build
with logging.pending_warnings():
File "/usr/lib64/python3.12/contextlib.py", line 144, in __exit__
next(self.gen)
File "/usr/lib/python3.12/site-packages/sphinx/util/logging.py", line 222, in pending_warnings
memhandler.flushTo(logger)
File "/usr/lib/python3.12/site-packages/sphinx/util/logging.py", line 187, in flushTo
logger.handle(record)
File "/usr/lib64/python3.12/logging/__init__.py", line 1700, in handle
self.callHandlers(record)
File "/usr/lib64/python3.12/logging/__init__.py", line 1762, in callHandlers
hdlr.handle(record)
File "/usr/lib64/python3.12/logging/__init__.py", line 1022, in handle
rv = self.filter(record)
^^^^^^^^^^^^^^^^^^^
File "/usr/lib64/python3.12/logging/__init__.py", line 858, in filter
result = f.filter(record)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/site-packages/sphinx/util/logging.py", line 427, in filter
raise exc
sphinx.errors.SphinxWarning: /builddir/build/BUILD/breathe-4.35.0/documentation/source/specific.rst:195:Invalid C++ declaration: Expected identifier in nested name. [error at 0]
^
For the sake of completeness, there is the output of the build with breathe_debug_trace_directives = True for reading specific.rst (I can't make much of it):
This appears to be caused by some sphinx bug. The failure is reproducible with doxygen 1.9.7 and Sphinx 7.0.1 but not with Sphinx 7.1.2 (implemented via https://src.fedoraproject.org/rpms/python-sphinx/pull-request/56) nor with Sphinx 7.2.5 (latest upstream).
I have looked further into this issue and compared the output of doxygen cpp_anon.cfg (from examples/specific) between Doxygen 1.9.4 and Doxygen 1.9.8.
As it turns out, the older Doxygen used to auto-generate names such as @0, @1, @2,… for anonymous entities, and the newer Doxygen leaves the name tag empty in its XML output, which (I assume) results in broken doxygen*:: directives.
This was originally reported in #933, but then closed, so let me open another issue on this.
With doxygen 1.9.7 Breathe documentation build fails with
specific.rst
containsC++ Anonymous Entities
around the line where error was detected: https://github.com/breathe-doc/breathe/blob/main/documentation/source/specific.rst?plain=1#L190There are some doxygen fixes in 1.9.7 that caught my eye, looking at the changelog namely:
doxygen/doxygen@a18e4c7
doxygen/doxygen#9668
For the sake of completeness, there is the output of the build with
breathe_debug_trace_directives = True
for readingspecific.rst
(I can't make much of it):The text was updated successfully, but these errors were encountered: