qemu docs fails to build with Sphinx 3.0.x
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
QEMU |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
We've just updated Sphinx to version 3.0.1 and qemu fails to build the docs with this version.
Here's the relevant section in the build log.
CONFDIR="/etc/qemu" /usr/bin/
Running Sphinx v3.0.1
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 14 source files that are out of date
updating environment: [new config] 14 added, 0 changed, 0 removed
reading sources... [ 7%] bitops
reading sources... [ 14%] decodetree
reading sources... [ 21%] index
reading sources... [ 28%] kconfig
reading sources... [ 35%] loads-stores
reading sources... [ 42%] memory
reading sources... [ 50%] migration
reading sources... [ 57%] reset
reading sources... [ 64%] s390-dasd-ipl
reading sources... [ 71%] secure-
reading sources... [ 78%] stable-process
reading sources... [ 85%] tcg
reading sources... [ 92%] tcg-plugins
reading sources... [100%] testing
Warning, treated as error:
/home/iurt/
If just a name:
Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name, got keyword: struct [error at 6]
struct MemoryListener
------^
If typedef-like declaration:
Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 21]
struct MemoryListener
---
make: *** [Makefile:1095: docs/devel/
make: *** Waiting for unfinished jobs....
I found this commit for memory.h that includes the section that faults.
https:/
You can see the whole build log here.
https:/
System: Mageia Cauldron
description: | updated |
tags: | added: docs |
Changed in qemu: | |
status: | Fix Committed → Fix Released |
Hmm, that's not ideal. The C is valid C which the compiler accepts, so I'm not sure what Sphinx is complaining about, and I don't have a system with that new a version of Sphinx.
It does suggest that we ought to make our configure --enable- werror/ --disable- werror (and the code that makes the default be disable for releases) control Sphinx's warnings-as-errors option as well as the compiler's, which would at least mean that for released versions the build doesn't fail entirely on Sphinx warnings.