2015-05-19 64 views
1

我安裝了XHProf,並希望看到通話圖形可視化。我點擊View Full Callgraph和第一次得到以下信息:獲取XHProf可視化(問題與Graphviz和點)工作

failed to execute cmd: " dot -Tpng". stderr: `sh: dot: command not found '

一些google搜索後,我發現,那它是由未安裝Graphviz造成的。然後我安裝它:

$ yum install graphviz 

並再次嘗試。現在,我得到以下錯誤消息:

failed to execute cmd: " dot -Tpng". stderr: `Error: /usr/lib64/graphviz/config6 is zero sized, or other read error.

Error: /usr/lib64/graphviz/config6 is zero sized, or other read error.

There is no layout engine support for "dot"

Perhaps "dot -c" needs to be run (with installer's privileges) to register the plugins?

'

實際上執行的dot -c導致錯誤:

$ dot -c 
Error: /usr/lib64/graphviz/config6 is zero sized, or other read error. 
Warning: Could not load "/usr/lib64/graphviz/libgvplugin_pango.so.6" - file not found 
Warning: Could not load "/usr/lib64/graphviz/libgvplugin_xlib.so.6" - file not found 
Segmentation fault 

但文件libgvplugin_pango.so.6libgvplugin_xlib.so.6在那裏,位於/usr/lib64/graphviz/

$ ls -l /usr/lib64/graphviz 
total 724 
... 
lrwxrwxrwx 1 root root  26 May 19 13:58 libgvplugin_pango.so.6 -> libgvplugin_pango.so.6.0.0 
-rwxr-xr-x 1 root root 22408 Sep 19 2012 libgvplugin_pango.so.6.0.0 
lrwxrwxrwx 1 root root  25 May 19 13:58 libgvplugin_xlib.so.6 -> libgvplugin_xlib.so.6.0.0 
-rwxr-xr-x 1 root root 15656 Sep 19 2012 libgvplugin_xlib.so.6.0.0 

好吧,作爲符號鏈接。但它不應該。無論如何,我也測試過這種情況:

mv /usr/lib64/graphviz/libgvplugin_pango.so.6 /usr/lib64/graphviz/libgvplugin_pango.so.6_DEACT 
mv /usr/lib64/graphviz/libgvplugin_xlib.so.6 /usr/lib64/graphviz/libgvplugin_xlib.so.6_DEACT 
cp /usr/lib64/graphviz/libgvplugin_pango.so.6.0.0 /usr/lib64/graphviz/libgvplugin_pango.so.6 
cp /usr/lib64/graphviz/libgvplugin_xlib.so.6.0.0 /usr/lib64/graphviz/libgvplugin_xlib.so.6 

沒有效果,還是一樣的錯誤。

什麼是goning錯誤在這裏,以及如何得到這個工作?

環境:以CentOS 6作爲訪客系統的VirtualBox VM。

+0

這是[*某些原因*](http://stackoverflow.com/a/25870103/23771)爲什麼不這樣做。 –

回答

0

我終於搞定了。


簡短的回答

我猜yum update和/或可能是ann-libs安裝可能是決定性的步驟(-s)。但這只是一個假設,因此我描述了所有步驟,這些步驟可能很重要(如下所示)。


詳細的解答

首先,我試圖與相關包安裝graphviz

$ yum install 'graphviz*' 

但安裝沒有工作:

Error: php56w-common conflicts with php-common-5.3.3-46.el6_6.x86_64 
You could try using --skip-broken to work around the problem 
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows: 
cairo-1.8.8-3.1.el6.x86_64 has missing requires of libpixman-1.so.0()(64bit) 

然後我嘗試相同,但添加了graphviz-rhel.repo到倉庫前:

$ cd /etc/yum.repos.d/ 
$ wget http://www.graphviz.org/graphviz-rhel.repo 
$ yum list available 'graphviz*' 
$ yum install 'graphviz*' 

它失敗,另一個錯誤:

Error: Package: graphviz-2.38.0-1.el6.x86_64 (graphviz-stable) 
      Requires: libANN.so.1()(64bit) 
You could try using --skip-broken to work around the problem 
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows: 
cairo-1.8.8-3.1.el6.x86_64 has missing requires of libpixman-1.so.0()(64bit) 

正如預期的那樣--skip-broken沒有導致成功的爲好。

之後,我做了許多東西:yum clean allyum erase 'graphviz*'ann-libs安裝和yum update

$ yum clean all 
$ yum install 'graphviz*' 
$ yum erase 'graphviz*' 
$ cd ~/temp/ 
$ wget http://dl.fedoraproject.org/pub/epel/6/x86_64/ann-libs-1.1.1-4.el6.x86_64.rpm 
$ rpm -i ann-libs-1.1.1-4.el6.x86_64.rpm 
$ yum update 

現在,它的工作原理。

0

對一些RHEL 6系統同樣的問題,原來的問題是與一些X11庫的Graphviz插件隱藏的依賴,這是我能得到通過安裝以下RPM安裝:

  • libXau
  • libxcb
  • libXext

所以,這解決了我的問題:yum install gtk2 libXau libxcb libXext