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 641336 - Include files not found in include path, or duplicate entry of include file is inserted
Include files not found in include path, or duplicate entry of include file i...
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.7.3
Other Windows
: Normal major
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2011-02-03 11:52 UTC by Michael Stangeland
Modified: 2011-12-03 18:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Minimum Project demonstrating strange behavior, html output included (160.64 KB, application/zip)
2011-02-03 11:52 UTC, Michael Stangeland
  Details
absIncFileName instead of incFileName for findFileDef (1.94 KB, patch)
2011-09-21 15:49 UTC, Thomas Langen
none Details | Review

Description Michael Stangeland 2011-02-03 11:52:44 UTC
Created attachment 179982 [details]
Minimum Project demonstrating strange behavior, html output included

Perhaps related to BUG535045 (https://bugzilla.gnome.org/show_bug.cgi?id=535045)

My rather large project that I am assigned to maintain spans several folders.  There are some include files that don't seem to be found (not clickable).  The odd time the generated documentation also indicates files included twice, although the source code only has it once.  Of the duplicate include files, one is with a clickable link and the other is not clickable.

This seriously hinders my confidence in the Doxygen output as it seems to be inconsistent.  I spent several days trying to characterize what is going on, but I'm still lost.
Comment 1 Dimitri van Heesch 2011-02-05 23:10:36 UTC
Confirmed. Should be fixed in the next subversion update.
Comment 2 Dimitri van Heesch 2011-03-28 14:18:54 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.7.4. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.
Comment 3 Libor Morkovsky 2011-05-17 11:34:37 UTC
The change in pre.l:readIncludeFile just changed manifestation of this bug, but did not fix it: some includes with realtive paths containing '../' still fail to be found as fileDefs.

Quick fix:
Use (newly constructed) absolute path for findFileDef() if
fs=findFile() returns NULL

Proposed solution:
Do not throw away the result of findFile/checkAndOpenFile if the file was already included, use the already constructed absolute path to find the filedef for the given file.
Comment 4 Thomas Langen 2011-09-21 15:49:24 UTC
Created attachment 197166 [details] [review]
absIncFileName instead of incFileName for findFileDef
Comment 5 Thomas Langen 2011-09-21 15:49:58 UTC
Using the absolute include file name for the invocation of findFileDef instead of the original file name avoids finding problems when the original file name starts with "../" (or "..\\", for Windows). The enclosed patch for src/pre.l for version 1.7.5.1 seems to solve that problem.
Comment 6 Dimitri van Heesch 2011-09-25 12:18:50 UTC
Hi Thomas,

Thanks for the patch, I'll include the patch in the next subversion update.
Comment 7 Dimitri van Heesch 2011-12-03 18:22:48 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.7.6. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.