2015-01-22 17 views
8

avevo installato R-3.1.2 su Ubuntu utilizzando i comandiCome configurare R-3.1.2 con --enable-R-shlib

wget http://cran.r-project.org/src/base/R-3/R-3.1.2.tar.gz 
tar xvfz R-3.1.2.tar.gz 
cd R-3.1.2 
./configure 
make 
sudo make install 

Quando ho provato a lanciare RStudio ho ottenuto l'errore

Libreria condivisa R (/usr/local/lib/R/lib/libR.so) non trovata. Se questa è una build personalizzata di R, è stata costruita con l'opzione --enable-R-shlib?

così sono tornato e ha cercato di riconfigurare con

./configure --enable-R-shlib=yes 
make 

ma ho ottenuto l'errore

collect2: error: ld returned 1 exit status 
make[3]: *** [libR.so] Error 1 
make[3]: Leaving directory `/usr/local/lib/R-3.1.2/src/main' 
make[2]: *** [R] Error 2 
make[2]: Leaving directory `/usr/local/lib/R-3.1.2/src/main' 
make[1]: *** [R] Error 1 
make[1]: Leaving directory `/usr/local/lib/R-3.1.2/src' 
make: *** [R] Error 1 

Durante la ricerca overflow dello stack, ho trovato una risposta qui: How to configure R-3.0.1 with --enable-R-shlib che suggeriva che il problema era che stavo cercando di compilare una directory che avevo compilato in precedenza senza l'opzione "--enable-R-shlib"

Ho cercato di risolvere il problema utilizzando i comandi

make uninstall 

che dà nessun errore da molti "Nulla da fare per` disinstallazione'." dichiarazioni, ma lo ha fatto disinstallare correttamente R

./configure --enable-R-shlib=yes 

che dà l'errore

config.status: error: cannot find input file: `src/library/base/DESCRIPTION.in' 

poi

make 

che dà lo stesso errore quando ho cercato di fare prima.

Potete aiutarmi a vedere dove ho sbagliato?

+5

'make uninstall' annulla solo il passaggio' make install', che generalmente copia i file dalla directory di compilazione in dir (s) sul sistema come appropriato, e mette i binari in dire '/ usr/bin' in modo che siano sul sentiero. Se volevi ripulire la directory in cui hai fatto una compilazione precedente, usa 'make clean' (o' make distclean', ho dimenticato qual è la differenza ora per quanto riguarda R). Inoltre, in generale, non si vuole costruire nella directory che contiene i sorgenti R (che './Configure' suggerisce di fare). –

+0

@GavinSimpson: il tuo commento si qualifica come risposta. Puoi pubblicare quello come risposta, invece? – justhalf

risposta

8

make uninstall disfa solo il passo make install, che generalmente copia i file dalla directory di compilazione a dir (s) sul sistema a seconda dei casi, e mette i binari nel dire /usr/bin quindi sono sulla strada. Se volevi ripulire la dir dove hai fatto una compilazione precedente, usa make clean (o make distclean, dimentico qual è la differenza ora per quanto riguarda R, ma la convenzione è che dovrebbe restituire la directory di compilazione alla pre-configurazione, pre -build state.).

Inoltre, in generale, non si vuole costruire nella directory che contiene i sorgenti R (che ./configure suggerisce di fare).

Problemi correlati