2014-07-16 19 views
14

Ogni volta che tento l'installazione RMySQL ottengo il seguente errore:Errore durante l'installazione RMySQL (MySQL 5.5.37 su Ubuntu 14.04)

Installing package into ‘/home/ehsan/R/x86_64-pc-linux-gnu-library/3.0’ 
(as ‘lib’ is unspecified) 
* installing *source* package ‘RMySQL’ ... 
** package ‘RMySQL’ successfully unpacked and MD5 sums checked 
checking for gcc... gcc 
checking for C compiler default output file name... a.out 
checking whether the C compiler works... yes 
checking whether we are cross compiling... no 
checking for suffix of executables... 
checking for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether gcc accepts -g... yes 
checking for gcc option to accept ANSI C... none needed 
checking how to run the C preprocessor... gcc -E 
checking for compress in -lz... yes 
checking for getopt_long in -lc... yes 
checking for mysql_init in -lmysqlclient... yes 
checking for egrep... grep -E 
checking for ANSI C header files... yes 
checking for sys/types.h... yes 
checking for sys/stat.h... yes 
checking for stdlib.h... yes 
checking for string.h... yes 
checking for memory.h... yes 
checking for strings.h... yes 
checking for inttypes.h... yes 
checking for stdint.h... yes 
checking for unistd.h... yes 
checking mysql.h usability... no 
checking mysql.h presence... no 
checking for mysql.h... no 
configure: creating ./config.status 
config.status: creating src/Makevars 
** libs 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/include/mysql/mysql.h  -fpic -O3 -pipe -g -c RS-DBI.c -o RS-DBI.o 
cc1: warning: /usr/include/mysql/mysql.h: not a directory [enabled by default] 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/include/mysql/mysql.h  -fpic -O3 -pipe -g -c RS-MySQL.c -o RS-MySQL.o 
cc1: warning: /usr/include/mysql/mysql.h: not a directory [enabled by default] 
In file included from RS-MySQL.c:22:0: 
RS-MySQL.h:32:19: fatal error: mysql.h: No such file or directory 
#include <mysql.h> 
       ^
compilation terminated. 
make: *** [RS-MySQL.o] Error 1 
ERROR: compilation failed for package ‘RMySQL’ 
* removing ‘/home/ehsan/R/x86_64-pc-linux-gnu-library/3.0/RMySQL’ 
The downloaded source packages are in 
    ‘/tmp/RtmpTRRPqg/downloaded_packages’ 
Warning message: 
In install.packages("RMySQL") : 
    installation of package ‘RMySQL’ had non-zero exit status** 

Apparentemente, non può trovare mysql.h e ho cercato e cambiato il percorso

export PKG_CPPFLAGS="-I/usr/R/include/mysql/mysql.h"

ma non ha avuto successo. Ci sono molte persone che hanno avuto lo stesso problema ma le loro soluzioni (se esistite) non hanno funzionato per me. Gradirei qualsiasi commento o aiuto.

Aggiornamento: Problema risolto

Il comando seguente sembrava per risolvere il problema:

sudo apt-get install r-cran-rmysql

+0

È possibile scrivere la propria risposta invece di modificare un "problema risolto" –

+0

@RichardScriven, preferisco quello più compatto! –

+1

Ok. Ma sto solo dicendo che a volte le persone inviano la tua risposta anche se rispondi alla tua stessa domanda. –

risposta

18

come detto, il seguente comando ha funzionato per me:

sudo apt-get install r-cran-rmysql

1

Beh, ci sono due tipi di installazione/creare problemi. File .h mancanti e/o librerie .so/.a mancanti. Come potete vedere dal vostro registro, vi manca .h

Il motivo per questi sono molteplici: 1.- il pacchetto che li consegna non è installato. Ciò significa che quei file non possono essere trovati da nessuna parte nell'albero/usr. La soluzione è installare il pacchetto corretto, assicurarsi che i file ci siano

2.- Gli include non vengono trovati dal configuratore di installazione. Ciò significa che alcune variabili d'ambiente o l'opzione di installazione non sono impostate correttamente. Quale variabile da impostare viene solitamente specificata nella documentazione; in alcuni casi è necessario installare qualcosa al di fuori di R e di nuovo, di solito è specificato nella documentazione.

3.- le librerie non sono in LD_LIBRARY_PATH, e si spera che la soluzione a ciò sia auto-esplicativa.

4.- Esiste un errore di compilazione/collegamento più profondo, ovvero il pacchetto non è compatibile con il resto dello sw o non è stato correttamente portato.

+0

Grazie, che chiarisce molto. –

+0

Certo, nessun problema. Questa soluzione si basava in realtà su una e-mail che il mio vicepresidente dell'IT mi ha inviato in merito ai problemi di installazione del pacchetto che avevo con R su un cluster Solaris HPC. Ho fatto un Evernote dalla sua email e sono contento che sia stato utile qui. –

2

dal @ehsanmo non ha postato la sua risposta come una risposta, allora lo farò, e conferma che la sua soluzione funziona anche per me:

sudo apt-get install r-cran-rmysql 

(sono in menta 12)

1

mio questo problema è stato risolto eseguendo il comando seguente:

sudo apt-get install libmysql++-dev 
Problemi correlati