Sto cercando di installare il pacchetto R nloptr su una macchina CentOS Linux che non dispone di connessione a Internet come segue:Installazione nloptr su Linux
install.packages("/home/ravi/nloptr_1.0.4.tar.gz", repos = NULL, type="source")
Questo comando a sua volta cerca il seguente file on-line
http://ab-initio.mit.edu/nlopt/nlopt-2.4.2.tar.gz
Tuttavia, ciò non riesce poiché non vi è alcuna connessione Internet alla macchina.
Ho provato il suggerimento del seguente post StackOverflow:
trouble with Installing nloptr by locally on Ubuntu
ho cambiato l'URL nel file di configurazione e configure.ac come segue:
NLOPT_URL="file:///home//ravi//${NLOPT_TGZ}"
Tuttavia, ottengo il seguente errore quando provo a installare di nuovo il pacchetto:
> install.packages("/home/ravi/nloptr_1.0.4.tar.gz", repos = NULL, type="source")
* installing *source* package 'nloptr' ...
files 'configure', 'configure.ac' have the wrong MD5 checksums
ERROR: 'configure' exists but is not executable -- see the 'R Installation and Administration Manual'
* removing '/opt/vertica/R/library/nloptr'
Warning message:
In install.packages("/home/ravi/nloptr_1.0.4.tar.gz", :
installation of package '/home/ravi/nloptr_1.0.4.tar.gz' had non-zero exit status
Qualcuno può guidarmi su come installare questo pacchetto R localmente?
Update 1
Sulla base del suggerimento di Dirk sull'installazione nlopt prima, ho seguito le istruzioni riportate nella pagina seguente:
http://ab-initio.mit.edu/wiki/index.php/NLopt_Installation
ho installato nlopt come segue:
./configure --enable-shared
make
make install
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
Quando ho provato a reinstallare nloptr in R, non lo fa t cercare il link nlopt più ma getta il seguente errore:
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/opt/vertica/R/library/nloptr/libs/nloptr.so':
/opt/vertica/R/library/nloptr/libs/nloptr.so: undefined symbol: nlopt_set_maxtime
Error: loading failed
Execution halted
ERROR: loading failed
* removing '/opt/vertica/R/library/nloptr'
Warning message:
In install.packages("/home/ravi/nloptr_1.0.4.tar.gz", :
installation of package '/home/ravi/nloptr_1.0.4.tar.gz' had non-zero exit status
Update 2
Come suggerito da Dirk, ho guardato nel comando ldconfig e utilizzato il seguente riferimento:
http://codeyarns.com/2014/01/14/how-to-add-library-directory-to-ldconfig-cache/
Ho modificato il file /etc/ld.so.conf, aggiunto la directory/usr/local/lib che contiene la libreria condivisa ed ha eseguito il comando ldconfig. Questo ha aggiunto la libreria condivisa rilevante come illustrato di seguito:
libnlopt.so.0 (libc6,x86-64) => /usr/local/lib/libnlopt.so.0
libnlopt.so (libc6,x86-64) => /usr/local/lib/libnlopt.so
Tuttavia, quando ho provato a reinstallare il pacchetto nloptr, ho ancora lo stesso errore oggetto condiviso.
Qualcuno potrebbe guidarmi sull'errore della libreria condivisa?
Ciao Dirk, io non avere apt-get o dpkg installato nella mia macchina. C'è un altro modo per farlo? – Ravi
Sicuro. Quindi la tua domanda è completamente, o sei totalmente confuso, dato che * è improbabile che tu sia su una macchina Ubuntu *. Installare nlopt ti aiuterà ancora: il comportamento di * using nlopt if found * è proprietà del pacchetto CRAN che stai tentando di installare. –
Scuse. Sono su una distribuzione CentOS. Confuso con la mia altra macchina. – Ravi