2012-08-10 552 views
1

我试图将Cairo软件包安装在Mac OS X 10.7.4的R开发版本中,但是我遇到了一个我无法解决的问题。安装Cairo R软件包时出错

我与自制安装开罗(即,brew install cairo)和接收到的以下消息:

==> Caveats This formula is keg-only, so it was not symlinked into /usr/local.

Mac OS X already provides this program and installing another version in parallel can cause all kinds of trouble.

The Cairo provided by Leopard is too old for newer software to link against.

Generally there are no consequences of this for you. If you build your own software and it requires this formula, you'll need to add its lib & include paths to your build variables:

LDFLAGS -L/usr/local/Cellar/cairo/1.12.2/lib 
CPPFLAGS -I/usr/local/Cellar/cairo/1.12.2/include 

考虑到上述消息,我试图从R-锻造用下述R安装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"))

我收到以下错误:

checking cairo.h usability... no

checking cairo.h presence... no

checking for cairo.h... no

configure: error: Cannot find cairo.h!

Please install cairo (http://www.cairographics.org/) and/or set

CAIRO_CFLAGS/LIBS correspondingly. ERROR: configuration failed for package ‘Cairo’

我重复了同样的命令,没有使用repos参数(默认情况下,我使用FHCRC镜像),结果相同。

在这一点上,问题似乎很明显:文件cairo.h不存在。但后来我列出了include/cairo目录中的文件。这里的响应:

ls /usr/local/Cellar/cairo/1.12.2/include/cairo

cairo-deprecated.h cairo-ft.h cairo-ps.h cairo-script-interpreter.h cairo-svg.h cairo-xcb.h cairo-xlib.h cairo-features.h cairo-pdf.h cairo-quartz.h cairo-script.h cairo-version.h cairo-xlib-xrender.h cairo.h

所以,我指着Cairo包到适当的位置安装,但错误依然存在。我尝试过变体,例如CAIRO_CFLAGS=/usr/local/Cellar/cairo/1.12.2/include,但没有运气。

想法?任何帮助,您可以提供非常感谢。

如果有必要,这是我sessionInfo

R Under development (unstable) (2012-08-08 r60208) Platform: x86_64-apple-darwin11.4.0 (64-bit)

locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages: [1] stats graphics grDevices utils
datasets methods base

other attached packages: [1] BiocInstaller_1.5.12

loaded via a namespace (and not attached): [1] tools_2.16.0

+2

这是黑暗中的刺,但在Unix平台上,我通常会将此行为与没有开罗的开发包关联起来。我不能说这个Mac上的Mac,但许多* nix包有一个二进制包和一个包含所有源代码和包含的开发包。有可能cairo.h在那里,而不是在你认为它的包含目录中。该目录被称为“包含”的事实可能具有欺骗性。 :-Z – 2012-08-10 17:10:19

+0

@RyanRosario - 我不完全确定问题是什么,但请参阅下面的答案。基本上,我们从头开始手动安装所有必需的C库。 – ramhiser 2012-08-10 19:53:01

+0

好!我注意到,对于某些罕见的软件包A,所有的依赖关系或者需要是二进制的,或者是从源码一起构建的,这是不幸的。当你有另外一个软件包C需要不同版本的软件包A的先决条件B时,这会很痛苦。 – 2012-08-10 20:28:29

回答

0

的同事,我只是忽略所有的东西我上面键入解决了这一问题。相反,我们手动从源安装了Cairo和所有的依赖项,从而绕过了brewport等变体的使用。这工作就像一个魅力,所以我不完全确定上面的错误。

0

在ubuntu中,您只需要从reposiories(sudo apt-get install libcairo2-dev)安装libcairo2-dev。之后,安装开罗套装就像魅力一样。

+1

这是一个OSX问题。 – 2016-01-04 06:35:12