web-dev-qa-db-fra.com

problème avec l'installation de RODBC dans Ubuntu

J'ai un problème avec certains en-têtes manquants lorsque j'essaie d'installer RODBC in R sur mon Linux. Quelqu'un peut-il m'aider avec ce problème?

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

Comme Dirk l'a dit dans les commentaires, si vous avez déjà installé r-cran-rodbc, il n'est pas nécessaire d'exécuter install.packages () depuis R. "La bibliothèque (RODBC)" devrait charger le package.

Plus généralement, lorsque vous voyez des erreurs concernant les en-têtes, c'est parce qu'une bibliothèque de développement requise n'est pas installée. La solution consiste à effectuer une recherche sur le Web à l'aide du nom des fichiers d'en-tête manquants (par exemple Google pour "sqlext.h ubuntu"), afin d'identifier le package requis. Dans ce cas, vous avez besoin de libiodbc2-dev. Alors:

Sudo apt-get install libiodbc2-dev

Ensuite, l'installation dans R devrait fonctionner.

27
neilfws

Avez-vous vraiment besoin de construire à partir des sources? Pourquoi n'utilisez-vous pas le paquet binaire?

Alors peut-être essayer ceci à la place:

  Sudo apt-get install r-cran-rodbc

ou utilisez l'une des interfaces graphiques du système de gestion de paquets.

11

Après avoir tenté d'installer des packages à partir de toutes les solutions de ce site et d'autres, j'ai réussi à créer le package RODBC en utilisant:

Sudo apt-get install unixodbc unixodbc-dev

J'ai aussi installé:

  • libiodbc2-dev
  • libmyodbc
  • odbc-postgresql
8
Megatron

FWIW, j'ai eu le même problème ("En-têtes ODBC. Sql.h et sqlext.h non trouvés") sur OS X, et l'a corrigé en installant unixodbc (brew install unixodbc).

3
Fab

RODBC dépend de R (> = 3.0.0 (voir par exemple https://cran.r-project.org/web/packages/RODBC/RODBC.pdf )

Votre bibliothèque de paquets locale ...

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

... suggère qu'une version plus ancienne de R soit installée (2.12). Si tel est le cas, essayez de passer à une version récente de R.

1
Erik Jan de Vries

J'ai aussi eu ce problème. Pour moi la solution était il me manquait quelques dépendances Ubunt tels que

Il est à noter que install.packages("RODBC", dependencies=TRUE) ne ne récupère pas ces paquets. Ils se trouvent en dehors de R lui-même.

0
isomorphismes