web-dev-qa-db-ja.com

UbuntuでのRODBCインストールの問題

LinuxのRにRODBCをインストールしようとすると、ヘッダーが欠落するという問題があります。誰もがこの問題を手伝ってくれる?

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

Dirkがコメントで述べたように、すでにr-cran-rodbcをインストールしている場合は、R内からinstall.packages()を実行する必要はありません。「library(RODBC)」はパッケージをロードする必要があります。

より一般的には、ヘッダーに関するエラーが表示される場合は、必要な開発ライブラリがインストールされていないことが原因です。解決策は、不足しているヘッダーファイルの名前(e.g。 Google for "sqlext.h ubuntu")を使用してWebを検索し、必要なパッケージを特定することです。この場合、libiodbc2-devが必要です。そう:

Sudo apt-get install libiodbc2-dev

その後、R内のインストールが機能するはずです。

29
neilfws

このサイトおよびその他のすべてのソリューションからパッケージをインストールしようとした後、私はRODBCパッケージのビルドに成功しました:

Sudo apt-get install unixodbc unixodbc-dev

私もインストールしました:

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

ソースからビルドする必要がありますか?なぜバイナリパッケージを使わないのですか?

だから多分代わりにこれを試してください:

  Sudo apt-get install r-cran-rodbc

または、パッケージ管理システムのGUIフロントエンドのいずれかを使用します。

11

FWIW、私はOS Xで同じ問題(「ODBCヘッダーsql.hとsqlext.hが見つかりません」)があり、unixodbc(brew install unixodbc

3
Fab

RODBCはRに依存します(> = 3.0.0(例 https://cran.r-project.org/web/packages/RODBC/RODBC.pdf を参照))

ローカルパッケージライブラリ...

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

...古いバージョンのR(2.12)がインストールされている可能性があることを示しています。この場合は、Rの最新バージョンにアップグレードしてみてください。

1

私もこの問題を抱えていました。私にとっての解決策は、いくつか欠落していた buntu依存関係 など

注目に値するのは、install.packages("RODBC", dependencies=TRUE)がこれらのパッケージを取得しないことです。それらはR自体の外にあります。

0
isomorphismes