-->

Doxygen 1.8.7 / GraphViz 2.38 compatabilty issue

2020-07-03 07:16发布

问题:

I recently upgraded from Doxygen 1.8.4 and GraphViz 2.36 where I had no problems generating graphs to Doxygen 1.8.7 and GraphViz 2.38 and cannot now get graphs.

During the build I get large numbers of errors of the form

error: Problems running dot: exit code=-1, command='dot' arguements="myfile.dot" -Tpng -O "myfile.png"

I have downgraded to GraphViz 2.36 and the problem has disappeared. NOTE - I have tried to run 2.36 with DOT_PATH empty and GraphViz added to path but this doesn't work either.

Only working solution at present is 2.36 with DOT_PATH defined.

Can you please check the compatibily issue and advise.

回答1:

Another solution, that does not require to edit your $path is to set the DOT_PATH variable at the configuration file, to wherever you install the dot library (default path is Program Files (x86)/Graphviz2.38/bin). You can do this with 2 ways:

  • With the Doxywizard tool.
    • At the expert tab, go to the dot at the topics and set the DOT_PATH (see the screenshot of doxywizard)
  • Editing manually the Doxygene config file, so your doxygene configFile must have a line like this:

    DOT_PATH = "../Program Files (x86)/Graphviz2.38/bin"



回答2:

I had exactly the same problem using Doxygen 1.8.6 and dot 2.38 (20140413.2041). Only a slight version difference compared to OP but the same error messages - and no graphs. dot was (and is still) set in the PATH variable but this was not enough.

It was solved though after I explicitly set DOT_PATH to the appropriate directory which is "C:/Program Files (x86)/Graphviz2.38/bin" in my case.



回答3:

I encountered the same problem using Doxygen 1.8.10 and dot 2.38 with Windows 7 and DOT_PATH empty. At the end it was "only" a problem with the command line path: The dot utility was not found within the environment, where doxygen was run. One needs to make sure, that the dot installation directory is listed within the PATH environment variable. A convenient way to check is to call the command dot.exe -V right before calling doxygen. Then check the command line output for the dot version message.

Unfortunately the dot installation directory usually changes with each release of the GraphViz utility, since it contains a version reference (although it is not possible to have two versions of GraphViz installed in parallel). Under windows you need to manually update the global PATH setting and reboot (!) to make sure, that the setting is updated in all running environments as well.