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():

> 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

あなたが述べたように、「-L」の代わりに「-I」に注意してください。CAIRO_CLAGS を自分で設定していますか? それとも、これはあなたのために設定されているものですか?通常、設定する必要はありません (少なくとも私は設定しません)。

HTH。

于 2014-04-29T18:35:48.770 に答える