webpage target does not build with doxygen 1.8.16
With doxygen 1.8.16, the "make webpage" target fails:
make: Entering directory '/home/nbreen/src/gromacs/build/documentation' cd /home/nbreen/src/gromacs/build/documentation/docs/doxygen && /usr/bin/python3 /home/nbreen/src/gromacs/docs/doxygen/graphbuilder.py -S /home/nbreen/src/gromacs -B /home/nbreen/src/gromacs/build/documentation --ignore-cycles /home/nbreen/src/gromacs/docs/doxygen/cycle-suppressions.txt -o /home/nbreen/src/gromacs/build/documentation/docs/doxygen/depgraphs Scanning source tree... Reading source files... Reading Doxygen XML files... Traceback (most recent call last): File "/home/nbreen/src/gromacs/docs/doxygen/graphbuilder.py", line 561, in <module> main() File "/home/nbreen/src/gromacs/docs/doxygen/graphbuilder.py", line 537, in main tree.load_xml(only_files=True) File "/home/nbreen/src/gromacs/docs/doxygen/gmxtree.py", line 816, in load_xml self._docset = xml.DocumentationSet(xmldir, self._reporter) File "/home/nbreen/src/gromacs/docs/doxygen/doxygenxml.py", line 1134, in __init__ member.add_parent_compound(compound) File "/home/nbreen/src/gromacs/docs/doxygen/doxygenxml.py", line 412, in add_parent_compound assert self._group is None AssertionError make: *** [docs/doxygen/CMakeFiles/dep-graphs-dot.dir/build.make:64: docs/doxygen/dep-graphs-dot-timestamp.txt] Error 1
Specifically, it happens when
add_parent_compound is called for the second time on
GMX_SIMD_HAVE_4NSIMD_UTIL_FLOAT, where its group is already set to
module_simd from the first pass.
It does work with doxygen <= 1.8.15. Unfortunately, the Debian autobuilders already have 1.8.16.
#2 Updated by Paul Bauer 3 months ago
- Status changed from New to Blocked, need info
- Target version set to 2020.1
Sorry, but we explicitly state that we only guarantee that the doxygen targets build correctly with doxygen 1.8.5 :(
Could you share a build tree that generated those files, so I can diff them against files build with 1.8.5 in our CI?
#3 Updated by Nicholas Breen 3 months ago
Certainly, tree attached. doxygen 1.8.5 was released in 2013, and it appears that CentOS 7 is the only common platform still using that version. (Debian 10/stable and Ubuntu 18.04 LTS are at 1.8.13, CentOS 8 and Fedora 29 are at 1.8.14.)
By commenting out that single
assert statement, the documentation does build and seems to be complete, though I may still be missing something, and I'm not confident about eliminating a test case without a good reason.