Re: [Doxygen-users] Error: dot: can't find ###
Brought to you by:
dimitri
From: Warren Y. <wa...@et...> - 2012-12-19 02:34:38
|
On 12/17/2012 22:44, Jon S. Berndt wrote: > > http://tinyurl.com/error-dot Several of those results mention 1.7.4, the last Cygwin Doxygen package I created. So, how old was the version you were previously using? Do you know for a fact that dot was being run correctly before, or is it simply the case that Doxygen wasn't yelling before when it failed? Would you have noticed if, say, the graphical collaboration diagrams simply didn't appear in the Doxygen output? Most people fail to hear the dog that doesn't bark. Dmitri, some of those Google results indicate that Doxygen is calling dot with an absolute file name. Since Cygwin uses POSIX paths and a native Windows build of Graphviz is going to expect Windows style paths, there's an obvious conflict. That is, Doxygen is calling dot with a path like like: /cygdrive/c/foo/bar/baz.dot instead of: c:\foo\bar\baz.dot Now, one obvious fix for this is to install a Cygwin build of Graphviz. The thing is, there isn't an official one, and never has been. So, people are going off to graphviz.org and downloading the native Windows version of Graphviz and expecting it to work with Cygwin doxygen. In principle, there's no reason that couldn't happen. One fix is to make Doxygen use relative path names. I've tested this, and the Windows native version of dot will accept POSIX style relative paths, since it treats forward slashes the same as backslashes. That means it will continue to work if someone installs a Cygwin build of Graphviz instead. Another possibility is to use dot as a filter, via popen(), without using intermediate files at all. This avoids the POSIX vs Windows path style problem entirely. > The bug is found when executing from Cygwin or Linux ...? *Linux* builds of Doxygen have the same symptom? That makes no sense, if the problem is as I have diagnosed above. |