problema con l'installazione RODBC in Ubuntu


29

Ho un problema con alcune intestazioni mancanti quando provo ad installare RODBC in R sul mio Linux. Qualcuno può aiutarmi con questo problema?

> install.packages("RODBC")

Installing package(s) into ‘/home/administrator/R/x86_64-pc-linux-gnu-library/2.12’
(as ‘lib’ is unspecified)

trying URL 'http://cran.cnr.Berkeley.edu/src/contrib/RODBC_1.3-2.tar.gz'
Content type 'application/x-gzip' length 1108358 bytes (1.1 Mb)

opened URL
==================================================
downloaded 1.1 Mb

* installing *source* package ‘RODBC’ ...
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 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 sql.h usability... no
checking sql.h presence... no
checking for sql.h... no
checking sqlext.h usability... no
checking sqlext.h presence... no
checking for sqlext.h... no
configure: error: "ODBC headers sql.h and sqlext.h not found"
ERROR: configuration failed for package ‘RODBC’
* removing ‘/home/administrator/R/x86_64-pc-linux-gnu-library/2.12/RODBC’
Warning in install.packages :
  installation of package 'RODBC' had non-zero exit status

The downloaded packages are in
    ‘/tmp/RtmpqfNYpD/downloaded_packages’
r  ubuntu 

Do suo apt-get install unixODBC * github.com/zozlak/RODBCext/issues/2
prashanth

Discussione un po 'più recente qui .
eh

Risposte:


29

Come ha detto Dirk nei commenti, se hai già installato r-cran-rodbc, non è necessario eseguire install.packages () dall'interno di R. "library (RODBC)" dovrebbe caricare il pacchetto.

Più in generale, quando vengono visualizzati errori relativi alle intestazioni, è perché non è installata una libreria di sviluppo richiesta. La soluzione è cercare nel Web usando i nomi dei file di intestazione mancanti ( ad es. Google per "sqlext.h ubuntu"), per identificare il pacchetto richiesto. In questo caso, è necessario libiodbc2-dev. Così:

sudo apt-get install libiodbc2-dev

Quindi l'installazione all'interno di R dovrebbe funzionare.


8
FWIW il r-cran-binary è in realtà costruito contro l' altra libreria ODBC in Debian / Ubuntu: unixodbc-dev.
Dirk Eddelbuettel,

Devo fare qualcosa con il driver ODBC?

8
Grazie per il chiarimento Dirk; quindi "sudo apt-get install unixodbc-dev" è un'alternativa.

Ho seguito sudo apt-get install unixodbc-dev e ora RODBC è installato e si carica perfettamente in R ma quando provo a connettermi a MySQL dice messaggi di avviso: 1: In odbcDriverConnect ("Driver = {MySQL ODBC 5.1 Driver}; Server = 10.134.5.62; Database = copy_number; Utente = root; Password = xxxx; Opzione = 3; "): [RODBC] ERRORE: stato IM002, codice 0, messaggio [unixODBC] [Driver Manager] Nome origine dati non trovato, e no driver predefinito specificato 2: In odbcDriverConnect ("Driver = {Driver MySQL ODBC 5.1}; Server = 10.134.5.62; Database = copy_number; Utente = root; Password = xxxx; Opzione = 3;"): Connessione ODBC non riuscita

5
Questa è una domanda separata. Ma non chiederlo: ora è il momento di andare via e leggere un po 'di documentazione, tutorial e mailing list. Quindi torna con una query specifica se sei ancora bloccato.

11

Hai davvero bisogno di costruire dalla fonte? Perché non usi il pacchetto binario?

Quindi forse prova questo invece:

  sudo apt-get install r-cran-rodbc

o utilizzare uno qualsiasi dei frontend GUI per il sistema di gestione dei pacchetti.


1
... o segui queste istruzioni in generale ...

Il pacchetto r-cran-rodbc è in realtà sui repository Ubuntu e non su quelli CRAN. Ma quel README è ancora oro.
Dirk Eddelbuettel,

L'ho già fatto e ha detto .... Lettura degli elenchi dei pacchetti ... Fine Creazione dell'albero delle dipendenze Lettura delle informazioni sullo stato ... Fine r-cran-rodbc è già la versione più recente. 0 aggiornati, 0 appena installati, 0 da rimuovere e 22 non aggiornati. MA se provo a installare il pacchetto in R, dice lo stesso errore

Quindi è installato. Quindi perché vuoi installare una seconda copia al di fuori del sistema di gestione dei pacchetti?
Dirk Eddelbuettel,

Ricorda che dice ancora .. controllo dell'usabilità di sql.h ... nessun controllo della presenza di sql.h ... nessun controllo per sql.h ... nessun controllo dell'usabilità sqlext.h ... nessun controllo della presenza sqlext.h ... nessun controllo per sqlext.h ... no configure: errore: "Intestazioni ODBC sql.h e sqlext.h non trovate" ERRORE: configurazione fallita per il pacchetto 'RODBC' * rimozione '/ home / amministratore / R / x86_64-pc- linux-gnu-library / 2.12 / RODBC 'Avvertimento in install.packages: l'installazione del pacchetto' RODBC 'aveva uno stato di uscita diverso da zero ...

11

Dopo aver tentato di installare pacchetti da tutte le soluzioni su questo sito e altri, sono riuscito a creare il RODBCpacchetto usando:

sudo apt-get install unixodbc unixodbc-dev

Ho anche installato:

  • libiodbc2-dev
  • libmyodbc
  • ODBC postgresql

Questo è quello che vuoi se stai cercando di installare la gemma ruby-odbc ma stai ricevendo errori su debian / ubuntu.
IAmNaN,

3

FWIW, ho avuto lo stesso problema ("intestazioni ODBC sql.h e sqlext.h non trovate") su OS X e risolto installando unixodbc ( brew install unixodbc)


2
Ciò non sembra in alcun modo pertinente alla domanda originale. Spiegare come disinstallare qualcosa con HomeBrew su un sistema OS / X difficilmente aiuta la persona alle prese con Ubuntu, non credi? Ti preghiamo di dedicare un minuto a considerare come migliorare la tua risposta e affrontare il problema descritto nella domanda.
Sami Laine,

os x ? in che modo l'installazione su osx risolve il problema di ubuntu
BlueBerry - Vignesh4303

unixodbc esiste anche per Ubuntu.
harrymc,

L'ho provato proprio ora, ma R ha detto che unixodbc non è disponibile per R versione 3.3.1, che è ciò che è in esecuzione sul server. Sembra aver bisogno di un aggiornamento;)
Oleg Melnikov il

1

RODBC dipende da R (> = 3.0.0 (vedere ad esempio https://cran.r-project.org/web/packages/RODBC/RODBC.pdf )

La tua libreria di pacchetti locale ...

Installing package(s) into '/home/administrator/R/x86_64-pc-linux-gnu-library/2.12'

... suggerisce che potresti avere una versione precedente di R installata (2.12). In questo caso, prova a passare a una versione recente di R.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.