Macos 自制R构建缺少Cairo
我使用brew在OSX 10.7.5服务器上安装了R:Macos 自制R构建缺少Cairo,macos,r,homebrew,cairo,cran,Macos,R,Homebrew,Cairo,Cran,我使用brew在OSX 10.7.5服务器上安装了R: brew install R 到目前为止,一切似乎都很正常,但开罗不起作用: > svg(tempfile()) Warning messages: 1: In svg(tempfile()) : unable to load shared object '/usr/local/Cellar/r/2.15.2/R.framework/Resources/library/grDevices/libs//cairo.so': d
brew install R
到目前为止,一切似乎都很正常,但开罗不起作用:
> svg(tempfile())
Warning messages:
1: In svg(tempfile()) :
unable to load shared object '/usr/local/Cellar/r/2.15.2/R.framework/Resources/library/grDevices/libs//cairo.so':
dlopen(/usr/local/Cellar/r/2.15.2/R.framework/Resources/library/grDevices/libs//cairo.so, 6): image not found
2: In svg(tempfile()) : failed to load cairo DLL
共享对象文件似乎完全丢失:
id-86-243:Resources jeroen$ ls -ltr library/grDevices/libs/
total 488
-rwxrwxr-x 1 jeroen admin 245764 Dec 22 17:03 grDevices.so
我很少使用OSX,所以我不太确定这是R的这个特定发行版中的一个bug,还是我在构建它时做了一些错误的事情?我刚刚遇到了这个问题。在R配置阶段,
pkg config
查找cairo
似乎有问题。解决办法似乎是:
export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig
这样R就可以正确地使用cairo
我直接从源代码安装R,而不是使用homebrew
,但我确实使用homebrew
使其他库保持最新。这就解决了我的问题
作为参考,我正在运行OSX Mavericks。最终对我有效的是使用cairo显式地构建R(brew的默认R tap使用
——没有cairo
,简单地编辑tap并不能解决我的问题)
这篇精彩的博文对此进行了解释:
在macOS Catalina 10.15.6下,R 4.0.2、cairo 1.16.0_3对我来说很有吸引力。ISTR Simon Urbanek不鼓励人们使用自制软件来编译R。2012年11月4日,他在MacSIG中写道:“你不能将CRAN二进制文件与自制软件一起使用。如果你使用自制软件,你完全靠自己,你必须从源代码构建一切。”那很好。在Linux中,我们也总是从源代码安装软件包。grDevices是base R。默认软件包包括'base'和'grDevices',但grDevices不在'base'软件包中。使用macports安装R时,我必须确保我安装的是R-framework,而不仅仅是R。brew可能存在类似问题?我建议使用macports。@DWin我指的是它的优先级:在自制软件中从源代码安装(即作为
brew安装R——从源代码构建)导致R链接到适合我的开罗库。