安装 Cairo R 包时出错
Posted
技术标签:
【中文标题】安装 Cairo R 包时出错【英文标题】:Error in Installing the Cairo R Package 【发布时间】:2012-08-10 00:13:36 【问题描述】:我正在尝试在 Mac OS X 10.7.4 上的 R 开发版本中安装 Cairo
包,但遇到了无法解决的问题。
我已经使用自制软件(即brew install cairo
)安装了 Cairo,并收到以下消息:
==> 注意事项 此公式仅适用于小桶,因此未符号链接到 /usr/local。
Mac OS X 已提供此程序并安装另一个版本 并行可能会导致各种麻烦。
Leopard 提供的 Cairo 太旧,无法链接新软件 反对。
通常不会对您造成任何后果。如果你建立你的 自己的软件,它需要这个公式,你需要添加它的库 & 包含构建变量的路径:
LDFLAGS -L/usr/local/Cellar/cairo/1.12.2/lib CPPFLAGS -I/usr/local/Cellar/cairo/1.12.2/include
考虑到上述信息,我尝试使用以下 R 命令从 R-Forge 安装 Cairo
包:
install.packages("Cairo", repos="http://www.rforge.net/", configure.args = c("CAIRO_LIBS=/usr/local/Cellar/cairo/1.12.2/lib" , "CAIRO_CFLAGS=/usr/local/Cellar/cairo/1.12.2/include/cairo"))
我收到以下错误:
检查 cairo.h 的可用性...否
正在检查 cairo.h 的存在...否
正在检查 cairo.h... 否
配置:错误:找不到 cairo.h!
请安装 cairo (http://www.cairographics.org/) 和/或设置
CAIRO_CFLAGS/LIBS 对应。错误:包“Cairo”的配置失败
我重复相同的命令,但没有 repos
参数(默认情况下,我使用 FHCRC 镜像),结果相同。
此时,问题似乎很明显:文件cairo.h
不存在。但后来我列出了include/cairo
目录中的文件。回复如下:
ls /usr/local/Cellar/cairo/1.12.2/include/cairo
cairo-deprecated.h cairo-ft.h 开罗-ps.h cairo-script-interpreter.h 开罗-svg.h 开罗-xcb.h 开罗-xlib.h cairo-features.h 开罗-pdf.h cairo-quartz.h cairo-script.h 开罗-version.h cairo-xlib-xrender.h cairo.h
所以,我将Cairo
包的安装指向适当的位置,但错误仍然存在。我尝试过变体,例如CAIRO_CFLAGS=/usr/local/Cellar/cairo/1.12.2/include
,但没有成功。
想法?非常感谢您提供的任何帮助。
如果有必要,这里是我的sessionInfo
:
R 开发中(不稳定)(2012-08-08 r60208)平台:x86_64-apple-darwin11.4.0(64 位)
语言环境:[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
附加的基础包:[1] stats graphics grDevices utils 数据集方法库
其他附加软件包:[1] BiocInstaller_1.5.12
通过命名空间加载(未附加):[1] tools_2.16.0
【问题讨论】:
这是在黑暗中的尝试,但在 Unix 平台上,我通常会将这种行为与没有针对 Cairo 的开发包联系起来。我不能在这个上代表 Mac,但是许多 *nix 包都有一个二进制包和一个包含所有源代码和包含的开发包。 cairo.h 可能在其中,而不是在您认为的包含目录中。该目录被称为“包含”的事实可能具有欺骗性。 :-Z @RyanRosario - 我不完全确定问题出在哪里,但请参阅下面的答案。基本上,我们从头开始手动安装了所有必要的 C 库。 好!我注意到对于某些罕见的包 A,所有依赖项要么需要是二进制的,要么需要从源代码一起构建,这是不幸的。当您有另一个包 C 需要为包 A 提供不同版本的先决条件 B 时,这会很痛苦。 【参考方案1】:我遇到了类似的 cairo 配置错误问题,并且我已经使用 homebrew 安装了 cairo。试试下面
brew install pkg-config
这解决了我的问题。
【讨论】:
【参考方案2】:我和一个同事只是通过忽略我上面输入的所有内容来解决问题。相反,我们从源代码手动安装了 Cairo 及其所有依赖项,从而绕过了 brew
或 port
等变体的使用。这就像一个魅力,所以我不完全确定上面有什么问题。
【讨论】:
【参考方案3】:在尝试了此处列出的所有内容后,我发现了这篇关于使用 brew 安装“完整 R 包”的博文:https://luispuerto.net/blog/2018/05/11/installing-r-with-homebrew-with-all-the-capabilities/
最终对我有用的是使用 cairo 显式构建 R(brew 的默认 R tap 使用 --without-cairo 并且简单地编辑 tap 并不能解决我的问题)。
在 macOS Catalina 10.15.6 下使用 R 4.0.2、cairo 1.16.0_3 对我来说就像一个魅力。
【讨论】:
以上是关于安装 Cairo R 包时出错的主要内容,如果未能解决你的问题,请参考以下文章
在 ubuntu 15.10 中为 R 语言安装“ade4”包时出错 [关闭]