【发布时间】:2013-05-21 20:28:27
【问题描述】:
我正在开发一台预装了大部分 cairo 要求的无头 ubuntu 机器,但我在让 R 使用 Cairo 时遇到困难。有谁知道我需要设置/安装哪些标志或其他软件包才能让 install.packages 使用其依赖项的现有安装正确构建 Cairo?技巧:我不能使用 sudo 命令或 apt-get,而且附加软件必须占用
> library('Cairo')
Error in library("Cairo") : there is no package called ‘Cairo’
> install.packages('Cairo')
...
* installing *source* package ‘Cairo’ ...
...
checking for pkg-config... /usr/bin/pkg-config
configure: CAIRO_CFLAGS=/usr/lib:/usr/bin:/usr/include
checking if R was compiled with the RConn patch... no
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’
* removing ‘/app/vendor/R/lib64/R/library/Cairo’
这意味着我需要安装 libcairo2-dev 软件包,但通过 configure/make 安装会遇到 pixman 错误,尽管我的系统上存在 pixman:
package pixman-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing `pixman-1.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pixman-1' found
No package 'pixman-1' found
checking whether cairo's image surface backend feature could be enabled
no (requires pixman-1 >= 0.22.0 http://cairographics.org/releases/)error: mandatory image surface backend feature could not be enabled
安装了什么:
$ dpkg -l | grep 'cairo\|png\|fontc\|pix'
ii fontconfig 2.8.0-2ubuntu1 generic font configuration library - support
ii fontconfig-con 2.8.0-2ubuntu1 generic font configuration library - configu
ii libcairo2 1.8.10-2ubuntu The Cairo 2D vector graphics library
ii libfontconfig1 2.8.0-2ubuntu1 generic font configuration library - runtime
ii libpixman-1-0 0.16.4-1ubuntu pixel-manipulation library for X and cairo
ii libpng12-0 1.2.42-1ubuntu PNG library - runtime
ii libpng12-dev 1.2.42-1ubuntu PNG library - development
我的会话信息:
> sessionInfo()
R version 2.15.1 (2012-06-22)
Platform: x86_64-unknown-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=C LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
R 没有看到 cairo:
> capabilities()
jpeg png tiff tcltk X11 aqua http/ftp sockets
FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
libxml fifo cledit iconv NLS profmem cairo
TRUE TRUE TRUE TRUE TRUE FALSE FALSE
【问题讨论】:
-
你可能还需要开发包
libpixman-1-dev。 -
如果你只需要 cairo.h,你为什么要自己构建 cairo 而不是安装 libcairo2-dev?
-
正如第二个文本块所示,我正在尝试安装该软件包,但遇到了依赖项错误。上面的评论者在 pixman 也需要开发标头时是正确的。
-
@bwarren 你是否设法解决了这个问题我在使用 AWS R 实例时遇到了同样的问题。
标签: r installation cairo