GNOME Bugzilla – Bug 734727
GENERATE_TAGFILE no longer includes any @*section links
Last modified: 2014-08-18 08:39:00 UTC
Created attachment 283309 [details] incorrect file built with doxygen 1.8.7 For example - with doxygen 1.8.6 (expected output) - I get the following in my tag file: <compound kind="page"> <name>index</name> <title>Mapper Module</title> <filename>index</filename> <docanchor file="index" title="Mapper Module Introduction">mapperintro</docanchor> <docanchor file="index" title="Mapper Examples">mapperexamples</docanchor> <docanchor file="index" title="Mapper Specification Format">mapperkeys</docanchor> <docanchor file="index" title="Mapper Options">mapperoptions</docanchor> <docanchor file="index" title="Release Notes">mapperrelnotes</docanchor> <docanchor file="index" title="Mapper v1.0">mapperv1_0</docanchor> </compound> with the same file processed by doxygen 1.8.7, I get the following (no docanchor tags): <compound kind="page"> <name>index</name> <title>Mapper Module</title> <filename>index</filename> </compound> Excuse me if I label this bug a blocker if no one else is worried, but it's a blocker for me - I have a huge documentation set which is pretty much broken with doxygen 1.8.7. I've had to downgrade to doxygen 1.8.6 where this works properly. I found this link: http://doxygen.10944.n7.nabble.com/TAGFILES-not-working-consistently-in-1-8-7-RHEL6-td6688.html which appears to be the same problem, so it affects other users as well, I believe.
Created attachment 283310 [details] correct file created by doxygen 1.8.6
So far I haven't been able to reproduce this behaviour, so can you please include a self-contained example (source+config file) that produces a wrong tag file for 1.8.7 but not for 1.8.6?
Created attachment 283387 [details] source code to reproduce the tag bug with doxygen 1.8.7 note that this configuration generates a tagfile with one tag with doxygen 1.8.6 but not with doxygen 1.8.7 I could only get the bug to reproduce with the large TAGFILES entry (the same one I use when building the docs that triggered the bug) - included in the tar file (qore.tag) Please contact me if you need more info - I hope you can reproduce the bug with this input (I could do it repeatedly)
The problem was that the tag file also defines a mainpage. Doxygen nowadays checks (and warns) about double entries and ignores rather than merges duplicates to avoid broken links. I've now changed it by ignoring the mainpage reference in the tag file, see commit here: https://github.com/doxygen/doxygen/commit/7d9d4320f5d183c4e1ebc87a316589c36f0afeed
I built doxygen from git sources and now the tag files are being created with the docanchor elements as expected and as with doxygen 1.8.6, so that looks great. Unfortunately some of the links to external docs aren't working in the generated HTML, but maybe that's due to another in-progress issue with the git sources? If it helps (in case it's not a known issue), in this example I have the following in my doxyfile: TAGFILES = qore.tag=../../../lang/html Mime.tag=../../Mime/html MailMessage.tag=../../MailMessage/html Util.tag=../../Util/html HttpServer.tag=../../HttpServer/html WebSocketUtil.tag=../../WebSocketUtil/html SqlUtil.tag=../../SqlUtil/html Mapper.tag=../../Mapper/html the links from the last two tagfiles are not working; the links from the first tagfile is working, and the rest in the middle are probably not used (they are there by default since the doxyfiles are build dynamically). If I run doxygen 1.8.6 on the same Doxyfile and tagfiles, everything works (which means that the tagfiles created by 1.8.7-git are fine).
Hmm, that's new to me. Is it a particular link that doesn't work, or any link? Does doxygen produce warning messages, for instance about multiple use of section labels or when processing the tag files? Is it possible to create a self-contained example for this?
Created attachment 283445 [details] source to reproduce the non-working link from tagfile bug links from the tagfile created after the last git fix do not work - I've included a self-contained example. Running doxygen 1.8.6 gives no errors, and documentation with working links, whereas doxygen 1.8.7-git outputs an error and no links (/Users/david/src/qore/tmp/dox-187-bug/Test.h:5: warning: unable to resolve reference to `mapperoptions' for \ref command)
I've improved my previous fix by allowing references to sections defined in a mainpage even when imported via a tagfile, while still ignoring the mainpage itself. See: https://github.com/doxygen/doxygen/commit/8b279c9bc28c70405e61219a6c2b3c6dbc7426e6 Let me know if this works for you.
Thanks - just tested a build from the latest git sources after your commit, and it works perfectly. From my point of view, this bug is resolved. thanks a lot for the fix and (it goes without saying) for the excellent documentation system David