Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cronbuild broken due to doxygen error #7013

Closed
derekbruening opened this issue Sep 30, 2024 · 2 comments · Fixed by DynamoRIO/drmemory#2521
Closed

Cronbuild broken due to doxygen error #7013

derekbruening opened this issue Sep 30, 2024 · 2 comments · Fixed by DynamoRIO/drmemory#2521

Comments

@derekbruening
Copy link
Contributor

CMake Error at D:/a/dynamorio/dynamorio/drmemory/docs/CMake_doxyfile.cmake:256 (message):
  C:/Windows/doxygen.exe -u failed: This tag has been removed.

This is like due to the fix for #7007 which in PR #7010 put in a newer doxygen version -- which means this is not just a Windows issue as it will affect the newer version on any platform.

@derekbruening
Copy link
Contributor Author

This is blocking the weekly cronbuild (any platform failure stops the entire release).

@derekbruening derekbruening changed the title Windows package builds broken with doxygen error Cronbuild broken due to doxygen error Oct 1, 2024
@xdje42
Copy link
Contributor

xdje42 commented Oct 3, 2024

This is due to a build failure in drmemory.
One needs to delete this regex in docs/CMake_doxyfile.cmake in order to see the culprit:

# I want to see errors other than:
#  Warning: Tag `MAX_DOT_GRAPH_HEIGHT' at line 248 of file Doxyfile has become obsolete.
#  To avoid this warning please update your configuration file using "doxygen -u"
string(REGEX REPLACE
  "(^|(\r?\n))[^\r\n]*has become obsolete.\r?\n"
  "\\1" doxygen_u_error "${doxygen_u_error}")

With that snippet deleted the build failure output changes from

CMake Error at /tmp/drmemory/docs/CMake_doxyfile.cmake:256 (message): 
  /usr/bin/doxygen -u failed: This tag has been removed.

to

CMake Error at /tmp/drmemory/docs/CMake_rundoxygen.cmake:68 (message):
  /tmp/bin/doxygen -u failed: 
  warning: Tag 'DOT_TRANSPARENT' at line 243 of file 'Doxyfile' has become obsolete. 

            This tag has been removed.

By removing DOT_TRANSPARENT from Doxyfile.in the build completes.
Q: Is this the right fix?

And obviously we need to revisit the regex that removes "has become obsolete" text sent to stderr.
CMake_doxyfile.cmake flags the build as failure if doxygen prints any output to stdout or stderr.
We could expand the regex to delete "This tag has been removed." too, but is that silencing desired output?
Note that doxygen still exited with a zero return code, even with the above output to stderr.
Q: The rest of the build treats warnings as errors. Should doxygen builds do the same?
There are no other obsolete tags in the build using Doxygen 1.12.
Maybe we can just delete the regex - removing text from stderr is likely to provoke future long debugging sessions trying to find the culprit of a build failure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants