2012-08-10 309 views
1

我試圖將Cairo軟件包安裝在Mac OS X 10.7.4的R開發版本中,但是我遇到了一個我無法解決的問題。安裝Cairo R軟件包時出錯

我與自制安裝開羅(即,brew install cairo)和接收到的以下消息:

==> Caveats This formula is keg-only, so it was not symlinked into /usr/local.

Mac OS X already provides this program and installing another version in parallel can cause all kinds of trouble.

The Cairo provided by Leopard is too old for newer software to link against.

Generally there are no consequences of this for you. If you build your own software and it requires this formula, you'll need to add its lib & include paths to your build variables:

LDFLAGS -L/usr/local/Cellar/cairo/1.12.2/lib 
CPPFLAGS -I/usr/local/Cellar/cairo/1.12.2/include 

考慮到上述消息,我試圖從R-鍛造用下述R安裝Cairo包命令:

install.packages("Cairo", repos="http://www.rforge.net/", configure.args = c("CAIRO_LIBS=/usr/local/Cellar/cairo/1.12.2/lib", "CAIRO_CFLAGS=/usr/local/Cellar/cairo/1.12.2/include/cairo"))

我收到以下錯誤:

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’

我重複了同樣的命令,沒有使用repos參數(默認情況下,我使用FHCRC鏡像),結果相同。

在這一點上,問題似乎很明顯:文件cairo.h不存在。但後來我列出了include/cairo目錄中的文件。這裏的響應:

ls /usr/local/Cellar/cairo/1.12.2/include/cairo

cairo-deprecated.h cairo-ft.h cairo-ps.h cairo-script-interpreter.h cairo-svg.h cairo-xcb.h cairo-xlib.h cairo-features.h cairo-pdf.h cairo-quartz.h cairo-script.h cairo-version.h cairo-xlib-xrender.h cairo.h

所以,我指着Cairo包到適當的位置安裝,但錯誤依然存在。我嘗試過變體,例如CAIRO_CFLAGS=/usr/local/Cellar/cairo/1.12.2/include,但沒有運氣。

想法?任何幫助,您可以提供非常感謝。

如果有必要,這是我sessionInfo

R Under development (unstable) (2012-08-08 r60208) Platform: x86_64-apple-darwin11.4.0 (64-bit)

locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages: [1] stats graphics grDevices utils
datasets methods base

other attached packages: [1] BiocInstaller_1.5.12

loaded via a namespace (and not attached): [1] tools_2.16.0

+2

這是黑暗中的刺,但在Unix平臺上,我通常會將此行爲與沒有開羅的開發包關聯起來。我不能說這個Mac上的Mac,但許多* nix包有一個二進制包和一個包含所有源代碼和包含的開發包。有可能cairo.h在那裏,而不是在你認爲它的包含目錄中。該目錄被稱爲「包含」的事實可能具有欺騙性。 :-Z – 2012-08-10 17:10:19

+0

@RyanRosario - 我不完全確定問題是什麼,但請參閱下面的答案。基本上,我們從頭開始手動安裝所有必需的C庫。 – ramhiser 2012-08-10 19:53:01

+0

好!我注意到,對於某些罕見的軟件包A,所有的依賴關係或者需要是二進制的,或者是從源碼一起構建的,這是不幸的。當你有另外一個軟件包C需要不同版本的軟件包A的先決條件B時,這會很痛苦。 – 2012-08-10 20:28:29

回答

0

的同事,我只是忽略所有的東西我上面鍵入解決了這一問題。相反,我們手動從源安裝了Cairo和所有的依賴項,從而繞過了brewport等變體的使用。這工作就像一個魅力,所以我不完全確定上面的錯誤。

0

在ubuntu中,您只需要從reposiories(sudo apt-get install libcairo2-dev)安裝libcairo2-dev。之後,安裝開羅套裝就像魅力一樣。

+1

這是一個OSX問題。 – 2016-01-04 06:35:12