After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 734727 - GENERATE_TAGFILE no longer includes any @*section links
GENERATE_TAGFILE no longer includes any @*section links
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.7
Other Mac OS
: Normal blocker
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2014-08-13 15:57 UTC by David Nichols
Modified: 2014-08-18 08:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
incorrect file built with doxygen 1.8.7 (12.64 KB, application/octet-stream)
2014-08-13 15:57 UTC, David Nichols
Details
correct file created by doxygen 1.8.6 (13.11 KB, application/octet-stream)
2014-08-13 15:58 UTC, David Nichols
Details
source code to reproduce the tag bug with doxygen 1.8.7 (90.01 KB, application/x-bzip2)
2014-08-14 14:14 UTC, David Nichols
Details
source to reproduce the non-working link from tagfile bug (19.25 KB, application/x-bzip2)
2014-08-15 10:30 UTC, David Nichols
Details

Description David Nichols 2014-08-13 15:57:19 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.
Comment 1 David Nichols 2014-08-13 15:58:10 UTC
Created attachment 283310 [details]
correct file created by doxygen 1.8.6
Comment 2 Dimitri van Heesch 2014-08-14 10:22:51 UTC
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?
Comment 3 David Nichols 2014-08-14 14:14:34 UTC
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)
Comment 4 Dimitri van Heesch 2014-08-14 17:35:18 UTC
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
Comment 5 David Nichols 2014-08-14 19:38:07 UTC
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).
Comment 6 Dimitri van Heesch 2014-08-15 08:03:05 UTC
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?
Comment 7 David Nichols 2014-08-15 10:30:31 UTC
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)
Comment 8 Dimitri van Heesch 2014-08-18 08:27:52 UTC
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.
Comment 9 David Nichols 2014-08-18 08:39:00 UTC
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