我正在开发一款预装了大部分开罗要求的无头ubuntu机器,但我对让R使用Cairo感到磕磕绊绊.有没有人知道我需要设置/安装什么标志或其他软件包才能让install.packages使用其依赖项的现有安装正确构建Cairo?技巧:我不能使用sudo命令或apt-get,其他软件必须包含<50Mb的内存.这可能吗?看起来我需要的大部分东西都存在,如果我可以将它连接到R.
> 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’
Run Code Online (Sandbox Code Playgroud)
这意味着我需要安装libcairo2-dev软件包,但是尽管pixman存在于我的系统中,但是通过configure/make这样做会遇到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
Run Code Online (Sandbox Code Playgroud)
安装内容:
$ 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
Run Code Online (Sandbox Code Playgroud)
我的会话信息:
> 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
Run Code Online (Sandbox Code Playgroud)
R没看到开罗:
> 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
Run Code Online (Sandbox Code Playgroud)
小智 22
你需要cario dev文件
apt-get install libcairo2-dev
Run Code Online (Sandbox Code Playgroud)
我还需要安装以下内容
apt-get install libxt-dev
Run Code Online (Sandbox Code Playgroud)