2013-05-26 104 views
1

我已經在沒有apt-get或sudo的計算機上從源代碼構建並安裝libcairo2-dev,但無法使R看到開羅頭文件(install.packages('Cairo')工作)。我的最終目標是R與開羅合作,以這種方式建設並將開羅與R連接起來是我所看到的最佳路線。關於如何讓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. 

VS

~/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 /應用/供應商/開羅等也會失敗。我的業餘理論是,先前存在的libcairo2安裝(缺少頭文件)正在僞裝install.packages調用。

我sessionInfo():

> 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  

回答

1

可能有點晚了,因爲你可能已經解決了這個問題,但似乎CAIRO_CFLAGS被設置不正確。你試圖包含cairo.h而不是試圖鏈接它(我認爲)。所以它在技術上應該是:

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

請注意「-I」而不是「-L」,如您所述。你是否自己設置CAIRO_CLAGS?或者這是爲你設置的東西嗎?通常情況下,你不需要設置它(至少我不)。

HTH。