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 https://github.com/breathe-doc/breathe/blob/main/examples/specific/cpp_anon.h Logs from a scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=102469036 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 (https://bodhi.fedoraproject.org/updates/FEDORA-2023-74beae3e8f), 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.
This blocks the Python 3.12 rebuild of several other packages.
struct ClassWithAnonEntities { struct { int structMember; }; union { int unionMember; }; enum { Enumerator }; }; from cpp_anon.h, is valid. it builds with gcc,g++ the problem is likely with sphinx
reading sources... [100%] variable > /usr/lib/python3.11/site-packages/sphinx/util/logging.py(427)filter() -> raise exc (Pdb) 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/build.py", line 284, in build_main app.build(args.force_all, args.filenames) File "/usr/lib/python3.11/site-packages/sphinx/application.py", line 347, in build self.builder.build_update() File "/usr/lib/python3.11/site-packages/sphinx/builders/__init__.py", line 311, in build_update self.build(to_build, File "/usr/lib/python3.11/site-packages/sphinx/builders/__init__.py", line 326, in build with logging.pending_warnings(): File "/usr/lib64/python3.11/contextlib.py", line 144, in __exit__ next(self.gen) File "/usr/lib/python3.11/site-packages/sphinx/util/logging.py", line 222, in pending_warnings memhandler.flushTo(logger) File "/usr/lib/python3.11/site-packages/sphinx/util/logging.py", line 187, in flushTo logger.handle(record) File "/usr/lib64/python3.11/logging/__init__.py", line 1644, in handle self.callHandlers(record) File "/usr/lib64/python3.11/logging/__init__.py", line 1706, in callHandlers hdlr.handle(record) File "/usr/lib64/python3.11/logging/__init__.py", line 974, in handle rv = self.filter(record) ^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.11/logging/__init__.py", line 830, in filter result = f.filter(record) ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/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] ^ 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: https://koschei.fedoraproject.org/build/15522602 Previous such problems were attributed to breathe: https://github.com/sphinx-doc/sphinx/issues/9433
I used an older doxygen build (doxygen-1.9.6-7.fc39) to unblock the Python 3.12 rebuild.
I reraised the issue upstream adding the findings from my debug attempt: https://github.com/breathe-doc/breathe/issues/935
Why is this not a doxygen bug ?
It might be.
This bug appears to have been reported against 'rawhide' during the Fedora Linux 39 development cycle. Changing version to 39.
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. [1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/ [2] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/ [3] https://fedorapeople.org/groups/schedule/f-40/f-40-key-tasks.html
Upstream has not changed in a while. This change works around the doc problem and fixes a testing problem https://src.fedoraproject.org/rpms/python-breathe/pull-request/18 Here is the scratch-build https://koji.fedoraproject.org/koji/taskinfo?taskID=110781654
FEDORA-2024-4d1528a1a4 has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2024-4d1528a1a4
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: https://bodhi.fedoraproject.org/updates/FEDORA-2024-4d1528a1a4 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
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.