Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at
Bug 2216878 - Invalid C++ Declaration When Building Breathe on Rawhide(39) since doxygen 1.9.7
Summary: Invalid C++ Declaration When Building Breathe on Rawhide(39) since doxygen 1.9.7
Alias: None
Product: Fedora
Classification: Fedora
Component: python-breathe
Version: 39
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Tom Rix
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2023-06-23 01:10 UTC by Daniel Milnes
Modified: 2024-01-20 03:22 UTC (History)
11 users (show)

Fixed In Version: python-breathe-4.35.0-8.fc39
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2024-01-20 03:22:45 UTC
Type: ---

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Github breathe-doc breathe issues 933 0 None closed Unable to Build Docs on Python 3.12 2023-07-01 21:32:32 UTC
Github breathe-doc breathe issues 935 0 None open Documentation fails to build with Doxygen 1.9.7 2023-07-03 11:43:44 UTC

Description Daniel Milnes 2023-06-23 01:10:34 UTC
The `python-breathe` RPM does not currently work when building against Rawhide. Whilst running `sphinx-build`, a C++ error is thrown which kills the build:

sphinx.errors.SphinxWarning: /builddir/breathe/documentation/source/specific.rst:195:Invalid C++ declaration: Expected identifier in nested name. [error at 0]

The C++ file it's referencing is

Logs from a scratch build:

Reproducible: Always

Steps to Reproduce:
1. fedpkg clone python-breathe
2. fedpkg --release f39 mockbuild
Actual Results:  
The build is aborted with this error:

sphinx.errors.SphinxWarning: /builddir/breathe/documentation/source/specific.rst:195:Invalid C++ declaration: Expected identifier in nested name. [error at 0]

Expected Results:  
The RPM should build successfully.

There haven't been any commits to dist-git since the last release to Rawhide (, but building that commit no longer works. Building the previous commit (the one currently on FC38) on FC39 throws the same error, but builds correctly against FC38.

Comment 1 Miro Hrončok 2023-07-01 14:02:14 UTC
This blocks the Python 3.12 rebuild of several other packages.

Comment 2 Tom Rix 2023-07-01 20:40:04 UTC
struct ClassWithAnonEntities {                                                                                                                             
        struct {                                                                                                                                           
                int structMember;                                                                                                                          
        union {                                                                                                                                            
                int unionMember;                                                                                                                           
        enum {                                                                                                                                             
from cpp_anon.h, is valid. it builds with gcc,g++ 
the problem is likely with sphinx

Comment 3 Miro Hrončok 2023-07-01 21:30:18 UTC
reading sources... [100%] variable
> /usr/lib/python3.11/site-packages/sphinx/util/
-> raise exc
make[1]: Leaving directory '/builddir/build/BUILD/breathe-4.35.0/documentation'
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.11/site-packages/sphinx/cmd/", line 284, in build_main, args.filenames)
  File "/usr/lib/python3.11/site-packages/sphinx/", line 347, in build
  File "/usr/lib/python3.11/site-packages/sphinx/builders/", line 311, in build_update,
  File "/usr/lib/python3.11/site-packages/sphinx/builders/", line 326, in build
    with logging.pending_warnings():
  File "/usr/lib64/python3.11/", line 144, in __exit__
  File "/usr/lib/python3.11/site-packages/sphinx/util/", line 222, in pending_warnings
  File "/usr/lib/python3.11/site-packages/sphinx/util/", line 187, in flushTo
  File "/usr/lib64/python3.11/logging/", line 1644, in handle
  File "/usr/lib64/python3.11/logging/", line 1706, in callHandlers
  File "/usr/lib64/python3.11/logging/", line 974, in handle
    rv = self.filter(record)
  File "/usr/lib64/python3.11/logging/", line 830, in filter
    result = f.filter(record)
  File "/usr/lib/python3.11/site-packages/sphinx/util/", 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]
make[1]: *** [Makefile:56: html] Error 2
make: *** [Makefile:7: html] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.oRkb7n (%build)
    Bad exit status from /var/tmp/rpm-tmp.oRkb7n (%build)

Koschei does not indicate this was caused by a change in Sphinx, but by an update of doxygen:

Previous such problems were attributed to breathe:

Comment 4 Miro Hrončok 2023-07-03 11:08:16 UTC
I used an older doxygen build (doxygen-1.9.6-7.fc39) to unblock the Python 3.12 rebuild.

Comment 5 Karolina Surma 2023-07-03 11:43:45 UTC
I reraised the issue upstream adding the findings from my debug attempt:

Comment 6 Tom Rix 2023-07-03 12:17:59 UTC
Why is this not a doxygen bug ?

Comment 7 Miro Hrončok 2023-07-03 12:33:35 UTC
It might be.

Comment 8 Fedora Release Engineering 2023-08-16 07:14:59 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle.
Changing version to 39.

Comment 9 Fedora Release Engineering 2023-12-24 04:22:34 UTC
Dear Maintainer,

your package has an open Fails To Build From Source bug for Fedora 39.
Action is required from you.

If you can fix your package to build, perform a build in koji, and either create
an update in bodhi, or close this bug without creating an update, if updating is
not appropriate [1]. If you are working on a fix, set the status to ASSIGNED to
acknowledge this. If you have already fixed this issue, please close this Bugzilla report.

Following the policy for such packages [2], your package will be orphaned if
this bug remains in NEW state more than 8 weeks (not sooner than 2023-08-18).

A week before the mass branching of Fedora 40 according to the schedule [3],
any packages not successfully rebuilt at least on Fedora 38 will be
retired regardless of the status of this bug.


Comment 10 Tom Rix 2023-12-24 13:27:53 UTC
Upstream has not changed in a while.

This change works around the doc problem and fixes a testing problem

Here is the scratch-build

Comment 11 Fedora Update System 2024-01-11 23:40:18 UTC
FEDORA-2024-4d1528a1a4 has been submitted as an update to Fedora 39.

Comment 12 Fedora Update System 2024-01-12 02:04:57 UTC
FEDORA-2024-4d1528a1a4 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-4d1528a1a4`
You can provide feedback for this update here:

See also for more information on how to test updates.

Comment 13 Fedora Update System 2024-01-20 03:22:45 UTC
FEDORA-2024-4d1528a1a4 has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.