安装 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 及其所有依赖项,从而绕过了 brewport 等变体的使用。这就像一个魅力,所以我不完全确定上面有什么问题。

【讨论】:

【参考方案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 包时出错的主要内容,如果未能解决你的问题,请参考以下文章

为 Linux 安装 R 包时出错

尝试在 R #2 中安装 Rling 包时出错

在 ubuntu 15.10 中为 R 语言安装“ade4”包时出错 [关闭]

在 Windows 上安装 Rmpi​​ 包时出错

在 R 中安装与 stringr 包相关的包时出错 [重复]

使用R magick包时出错