1

我已经在没有 apt-get 或 sudo 的机器上从源代码构建并安装了 libcairo2-dev,但无法让 R 查看 Cairo 头文件(install.packages('Cairo')以便工作)。我的最终目标是 R 与 Cairo 合作,以这种方式构建并将 Cairo 连接到 R 是我看到的最佳路线。关于如何让 R 看到我建造的开罗的想法?

R 遇到以下错误install.packages('Cairo'),但我在错误消息请求的标志中看到所需的文件。

configure: CAIRO_CFLAGS=-L/app/vendor/cairo/include/cairo
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.

对比

~/vendor/cairo/include/cairo $ pwd
/app/vendor/cairo/include/cairo
~/vendor/cairo/include/cairo $ ls
cairo-deprecated.h  cairo-ft.h  cairo-pdf.h  cairo-svg.h      cairo-xlib.h
cairo-features.h    cairo.h cairo-ps.h   cairo-version.h

-L/app/vendor/cairo 等变体也会失败。我的业余理论是预先存在的 libcairo2 安装(缺少头文件)正在伪造 install.packages 调用。

我的会话信息():

> 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     
4

1 回答 1

1

可能有点晚了,因为您可能已经解决了问题,但似乎 CAIRO_CFLAGS 设置不正确。您正在尝试包含 cairo.h 而不是尝试链接它(我认为)。所以它在技术上应该是:

CAIRO_CFLAGS=-I/app/vendor/cairo/include/cairo

请注意您所说的“-I”而不是“-L”。您是自己设置 CAIRO_CLAGS 吗?或者这是为你设置的东西?通常,您不需要设置它(至少我不需要)。

HTH。

于 2014-04-29T18:35:48.770 回答