2012-12-23 17 views
5

ho installato R su un OSX 10.7.5 server utilizzando birra:Homebrew R costruire manca Cairo

brew install R 

Tutto sembra così lontano OK, però Cairo non sta funzionando:

> svg(tempfile()) 
Warning messages: 
1: In svg(tempfile()) : 
    unable to load shared object '/usr/local/Cellar/r/2.15.2/R.framework/Resources/library/grDevices/libs//cairo.so': 
    dlopen(/usr/local/Cellar/r/2.15.2/R.framework/Resources/library/grDevices/libs//cairo.so, 6): image not found 
2: In svg(tempfile()) : failed to load cairo DLL 

L'oggetto condiviso il file sembra mancare del tutto:

id-86-243:Resources jeroen$ ls -ltr library/grDevices/libs/ 
total 488 
-rwxrwxr-x 1 jeroen admin 245764 Dec 22 17:03 grDevices.so 

io uso raramente OSX, quindi non sono del tutto sicuro se questo è un bug in questo particolare distribuzione di R, o se ho fatto qualcosa di sbagliato durante la costruzione?

+1

ISTR che Simon Urbanek scoraggia le persone dall'uso di homebrew per compilare R. Il 4 novembre 2012 nel MacSIG ha scritto: "Non puoi utilizzare i binari di CRAN con homebrew. Se usi homebrew, sei completamente da solo e devi costruire tutto da fonti. " –

+0

Va bene. In Linux installiamo sempre pacchetti anche dal sorgente. grDevices è base R però. – Jeroen

+0

I pacchetti predefiniti includono sia 'base' che 'grDevices', ma grDevices non è nel pacchetto 'base'. –

risposta

5

Mi sono appena imbattuto in questo problema. Sembra essere un problema con pkg-config localizzando cairo durante la fase di configurazione R. La soluzione sembra essere:

export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig 

in modo che R può usare correttamente cairo.

Installa R direttamente dalla sorgente, piuttosto che con homebrew, ma io uso homebrew per mantenere aggiornate le altre librerie. Questo risolve il problema per me.

Per riferimento, sto eseguendo OSX Mavericks.

+3

Installazione da sorgente in homebrew (cioè come 'brew install R - build-from-source') ha causato che R fosse collegato alla libreria cairo appropriata per me. –