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’
Antworten:
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:
Dann sollte die Installation in R funktionieren.
quelle
Müssen Sie wirklich von der Quelle bauen? Warum benutzt du nicht das Binärpaket?
Versuchen Sie es stattdessen mit folgendem Befehl:
oder verwenden Sie eines der GUI-Frontends für das Paketverwaltungssystem.
quelle
Nachdem ich versucht hatte, Pakete von allen Lösungen auf dieser Site und anderen zu installieren, konnte ich das
RODBC
Paket erfolgreich erstellen, indem ich Folgendes verwendete:sudo apt-get install unixodbc unixodbc-dev
Ich habe auch installiert:
quelle
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
) behobenquelle
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 ...
... 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.
quelle
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 vonR
sich.quelle