无法在Mac OS X Lion上安装R包“Rgraphviz”

3
我花了很多时间尝试解决这个问题,但还是没有成功。我正在尝试在Max OS X Lion上使用R 2.14.1和Rgraphviz。
以下是我安装和使用Rgraphviz的步骤:
1. 通过以下命令安装graphviz:sudo port install graphviz 2. 检查安装是否成功:pkg-config --modversion libgvc,结果应该为2.28.0,表示安装成功。 3. 在R 2.14.1下,运行以下命令安装Rgraphviz库:source("http://www.bioconductor.org/biocLite.R") biocLite("Rgraphviz") 4. 每当我尝试使用该库时,都会出现以下错误。
Error : .onLoad failed in loadNamespace() for 'Rgraphviz', details:
call: value[[3L]](cond)
error: unable to load shared object '/Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rgraphviz/libs/i386/Rgraphviz.so':
dlopen(/Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rgraphviz/libs/i386/Rgraphviz.so, 6): Library not loaded: /usr/local/lib/libgvc.5.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/2.14/Resources/library/Rgraphviz/libs/i386/Rgraphviz.so

Check that (1) graphviz is installed on your system; (2) the installed version of
graphviz matches '2.26.3'; this is the version used to build this Rgraphviz
package; (3) graphviz is accessible to R, e.g., the path to the graphviz 'bin'
directory is in the system 'PATH' variable.  See additional instructions in the
'README' file of the Rgraphviz 'source' distribution, available at

我注意到的一些事情

  • "帮助"文件中建议使用的Graphviz版本是2.26.3,而Mac Ports安装的版本是2.28.0,但由于后者是更新的版本,我认为这没有影响,而且我找不到2.26.3版本。
  • 建议(3)似乎是关键,但是我找不到/没有在Graphbiz下找到bin目录。

此外,当我运行locate Rgraphviz.so时,没有结果。

如果您有任何解决方案的线索,将不胜感激,非常感谢!


要检查它是否在您的PATH中,您可以输入dot -Vdot是安装graphviz时的可执行文件之一):它应该返回类似于dot - graphviz version 2.26.3 (20100126.1600)的东西。 - Vincent Zoonekynd
感谢您的快速回复。看起来Graphviz正在工作,我得到了dot - graphviz version 2.28.0 (20120119.1845),所以错误在于R。我还尝试在64位模式下运行R,但没有成功,仍然是同样的错误。 - JordanBelf
2
不一定是最终解决方案,但可以尝试使用biocLite(“Rgraphiz”,type =“source”)来构建软件包,因此安装的软件包是根据您机器上的graphviz版本构建的,而不是作为二进制文件安装在Bioconductor构建机器上的版本(2.26.3)(点2所示的差异)。这可能需要在您的Mac上安装额外的编译工具,但我对MacOS的了解有限。 - Martin Morgan
谢谢!我按照您建议的做了,但没有成功,不过您给了我一个思路。我认为您是对的,需要从源代码构建并安装到当前的graphviz版本上。然后我从本地机器下载并安装了该软件包,现在我遇到了一个不同但更合理的错误:“configure: error: /usr/local/bin/dot not found. Check graphviz installation. ERROR: configuration failed for package ‘Rgraphviz’”。请问有什么方法可以找到dot的位置吗?再次感谢。 - JordanBelf
明白了!经过几个小时的尝试,这条简单的命令解决了问题:“sudo R CMD INSTALL --configure-args='--with-graphviz=/usr/' Rgraphviz_1.32.0.tar.gz”。警告:由于某种原因,它只适用于64位的R版本...不知道为什么,但现在我对此感到满意。感谢大家提供的所有帮助。 - JordanBelf
2个回答

1

感谢您的最终答案,安装似乎对我有效!(我还需要检查包是否正常运行)。只是一个快速的观察:在我的机器上,Graphviz被安装在/usr/local中,因此必须按照以下方式输入上述命令:

sudo R CMD INSTALL --configure-args='--with-graphviz=/usr/local' Rgraphviz_1.32.0.tar.gz

1

还有一个失败的点。如果你使用Fink来安装graphviz,即使你使用配置参数指向graphviz,你仍然可能会像我一样遇到单独的构建错误。

R CMD INSTALL --configure-args='--with-graphviz=/sw' Rgraphviz_1.34.0.tar.gz 

安装过程中,由于寻找未安装的库,LL_funcs.c 的构建错误会导致安装失败。除非您同时安装 graphviz-dev,否则这些库将不会被安装。您将看到以下信息:
In file included from LL_funcs.c:1:
common.h:31:17: error: gvc.h: No such file or directory
common.h:32:22: error: gvplugin.h: No such file or directory
common.h:35:20: error: gvcext.h: No such file or directory
common.h:39:20: error: gvcjob.h: No such file or directory

当然还有许多其他的构建错误。只需确保

fink install graphviz-dev

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