Graphviz Dot由于缺少库文件而无法消除重叠。

9

我正在尝试从命令行运行以下点命令:

dot -v ~/Documents/FlowGraph/dot_sample_1_full.dot -Tpng 'Documents/FlowGraph/sampleOutput.png' -Ksfdp -Goverlap=false

但是它输出如下错误:
dot - graphviz version 2.36.0 (20140111.2315)
Using render: cairo:cairo
Using device: png:cairo:cairo
libdir = "/usr/local/lib/graphviz"
Activated plugin library: libgvplugin_neato_layout.6.dylib
Using layout: sfdp:neato_layout
The plugin configuration file:
    /usr/local/lib/graphviz/config6
        was successfully loaded.
    render  :  cairo dot fig map pic pov ps quartz svg tk vml xdot
    layout  :  circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi
    textlayout  :  textlayout
    device  :  bmp canon cgimage cmap cmapx cmapx_np dot eps exr fig gif gv icns ico imap imap_np ismap jp2 jpe jpeg jpg pct pdf pic pict plain plain-ext png pov ps ps2 psd sgi svg svgz tga tif tiff tk vml vmlz x11 xdot xdot1.2 xdot1.4 xlib
    loadimage   :  (lib) bmp eps gif jpe jpeg jpg pdf png ps svg
fontname: "Times-Roman" resolved to: (ps:pango  Times,  REGULAR) (PangoCairoCoreTextFont) "Times" 
  margin 8
pack info:
  mode   node
  size   0
  flags  0
ctrl->overlap=-1
Error: remove_overlap: Graphviz not built with triangulation library

我谷歌搜索并找到了这个帖子,其中建议:

在安装 Graphviz 之前必须安装 gts。输入“sudo brew remove graphviz”以删除 graphviz,“sudo brew install gts”和“sudo install graphviz”以安装具有 gts 的 graphviz。

但是这似乎没有起作用。我仍然遇到错误,所以要么我做错了,要么这不是我的解决方案。 如何将三角剖分库添加到 Graphviz 中?

Ubuntu/Linux用户,请查看此回答。https://dev59.com/E1sX5IYBdhLWcg3wHcXA#42579735 - user993683
2个回答

12

我在 macOS 上使用 sfdp 时遇到了类似的问题,以下是解决方法。

$ brew uninstall graphviz  
$ brew install gts 
$ brew install --with-gts graphviz

救了我的一命。我花了好几个小时才弄清楚为什么所有的边缘都交叉在一起。 - aardvarkk

4

Homebrew不再支持命令行安装选项,因此以前的回答将不再适用。

但是,我意外地发现删除graphviz,安装gts,然后安装graphviz就可以了。似乎如果未安装gts,graphviz会使用它,但由于某种原因它不是依赖项。

brew remove graphviz brew install gts brew install graphviz


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接