没有apt-get,sudo的R Cairo安装

bwa*_*en2 14 install r cairo

我正在开发一款预装了大部分开罗要求的无头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)

  • 需要apt-get和sudo,标题注释不可用.关于这个过程的更明确的答案是http://stackoverflow.com/questions/16435615/heroku-rpy-rhome-discovery/21742833#21742833 (6认同)

Men*_*hao 1

看起来你需要 cario-devel。请参阅下面的安装说明。至少这样做解决了我丢失的“cairo.h”问题。希望这可以帮助。

http://cairgraphics.org/download/