Problem mit der RODBC-Installation in Ubuntu

29

Ich habe ein Problem mit einigen fehlenden Headern, wenn ich versuche, RODBC in R auf meinem Linux zu installieren. Kann mir jemand bei diesem Problem helfen?

> 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’

quelle
Installieren Sie unixODBC * github.com/zozlak/RODBCext/issues/2
prashanth
Ein bisschen neuer Thread hier .
Hhh

Antworten:

29

Wie Dirk in den Kommentaren sagte, müssen Sie install.packages () nicht innerhalb von R ausführen, wenn Sie r-cran-rodbc bereits installiert haben. "Library (RODBC)" sollte das Paket laden.

Im Allgemeinen liegt es daran, dass eine erforderliche Entwicklungsbibliothek nicht installiert ist, wenn Fehler in Bezug auf Header angezeigt werden. Die Lösung besteht darin, das Web anhand der Namen der fehlenden Header-Dateien zu durchsuchen ( z. B. Google nach "sqlext.h ubuntu"), um das erforderliche Paket zu identifizieren. In diesem Fall benötigen Sie libiodbc2-dev. So:

sudo apt-get install libiodbc2-dev

Dann sollte die Installation in R funktionieren.

neilfws
quelle
8
FWIW das r-cran-binary ist tatsächlich gegen die andere ODBC-Bibliothek in Debian / Ubuntu gebaut: unixodbc-dev.
Dirk Eddelbuettel
Muss ich irgendetwas mit dem ODBC-Treiber machen?
8
Danke für die Klarstellung Dirk; "sudo apt-get install unixodbc-dev" ist also eine Alternative.
Ich habe sudo apt-get install unixodbc-dev befolgt und jetzt ist RODBC installiert und wird perfekt in R geladen, aber wenn ich versuche, eine Verbindung zu MySQL herzustellen, werden Warnmeldungen angezeigt: 1: In odbcDriverConnect ("Driver = {MySQL ODBC 5.1 Driver}; Server = 10.134.5.62; Database = copy_number; User = root; Password = xxxx; Option = 3; "): [RODBC] FEHLER: Status IM002, Code 0, Meldung [unixODBC] [Driver Manager] Datenquellenname nicht gefunden, und Nr Standardtreiber angegeben 2: In odbcDriverConnect ( "Driver = {MySQL ODBC 5.1 - Treiber}; Server = 10.134.5.62; Database = copy_number; Benutzer = root, Passwort = xxxx; Option = 3;"): ODBC - Verbindung fehlgeschlagen
5
Das ist eine separate Frage. Aber fragen Sie nicht danach: Jetzt ist es an der Zeit, einige Dokumentationen, Tutorials und Mailinglisten zu lesen. Kommen Sie dann mit einer bestimmten Frage zurück, wenn Sie noch nicht weiterkommen.
11

Müssen Sie wirklich von der Quelle bauen? Warum benutzt du nicht das Binärpaket?

Versuchen Sie es stattdessen mit folgendem Befehl:

  sudo apt-get install r-cran-rodbc

oder verwenden Sie eines der GUI-Frontends für das Paketverwaltungssystem.

Dirk Eddelbüttel
quelle
1
... oder befolgen Sie diese Anweisungen im Allgemeinen ...
Das r-cran-rodbc-Paket ist eigentlich auf den Ubuntu-Repos und nicht auf den CRAN-Repos. Aber diese README ist immer noch Gold.
Dirk Eddelbuettel
Ich habe dies bereits getan und es wurde gesagt ... Lesen von Paketlisten ... Fertig Erstellen eines Abhängigkeitsbaums Lesen von Statusinformationen ... Fertig r-cran-rodbc ist bereits die neueste Version. 0 aktualisiert, 0 neu installiert, 0 zu entfernen und 22 nicht aktualisiert. ABER wenn ich versuche, das Paket in R zu installieren, wird derselbe Fehler angezeigt
So ist es installiert. Warum möchten Sie eine zweite Kopie außerhalb des Paketverwaltungssystems installieren?
Dirk Eddelbuettel
Denken Sie daran, es heißt immer noch .. Überprüfung der Verwendbarkeit von sql.h ... keine Überprüfung des Vorhandenseins von sql.h ... keine Überprüfung der Verwendbarkeit von sql.h ... keine Überprüfung des Vorhandenseins von sqlext.h ... Keine Überprüfung auf sqlext.h ... no configure: Fehler: "ODBC-Header sql.h und sqlext.h nicht gefunden" FEHLER: Konfiguration für Paket 'RODBC' fehlgeschlagen * Entfernen von '/ home / administrator / R / x86_64-pc- linux-gnu-library / 2.12 / RODBC 'Warnung in install.packages: Die Installation des Pakets' RODBC 'hatte einen Exit-Status ungleich Null ...
11

Nachdem ich versucht hatte, Pakete von allen Lösungen auf dieser Site und anderen zu installieren, konnte ich das RODBCPaket erfolgreich erstellen, indem ich Folgendes verwendete:

sudo apt-get install unixodbc unixodbc-dev

Ich habe auch installiert:

  • libiodbc2-dev
  • libmyodbc
  • odbc-postgresql
Megatron
quelle
Dies ist das, was Sie wollen, wenn Sie versuchen, den Ruby-Odbc-Edelstein zu installieren, aber auf Debian / Ubuntu Fehler auftreten.
26.
3

FWIW, ich hatte das gleiche Problem ("ODBC-Header sql.h und sqlext.h nicht gefunden") unter OS X und habe es durch die Installation von unixodbc ( brew install unixodbc) behoben

Fab
quelle
2
Dies scheint für die ursprüngliche Frage in keiner Weise relevant zu sein. Zu erklären, wie die Deinstallation mit HomeBrew auf einem OS / X-System der Person, die mit Ubuntu zu kämpfen hat, kaum hilft, finden Sie nicht? Bitte nehmen Sie sich eine Minute Zeit, um zu überlegen, wie Sie Ihre Antwort verbessern und das in der Frage beschriebene Problem beheben können.
Sami Laine
os x ? Wie löst die Installation unter OSX das Problem von Ubuntu
BlueBerry - Vignesh4303?
unixodbc gibt es auch für Ubuntu.
Harrymc
Ich habe es gerade versucht, aber R sagte, dass unixodbc nicht für R Version 3.3.1 verfügbar ist, was auf dem Server ausgeführt wird. Es scheint ein Upgrade zu benötigen;)
Oleg Melnikov
1

RODBC ist abhängig von R (> = 3.0.0 (siehe zum Beispiel https://cran.r-project.org/web/packages/RODBC/RODBC.pdf )

Ihre lokale Paketbibliothek ...

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

... weist darauf hin, dass möglicherweise eine ältere Version von R (2.12) installiert ist. Wenn dies der Fall ist, führen Sie ein Upgrade auf eine neuere Version von R durch.

Erik Jan de Vries
quelle
0

Ich hatte auch dieses Problem. Für mich bestand die Lösung darin, dass mir einige Ubuntu-Abhängigkeiten wie fehlen

Es ist bemerkenswert , dass install.packages("RODBC", dependencies=TRUE)sie nicht diese Pakete abholen. Sie liegen außerhalb von Rsich.

Isomorphismen
quelle