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


29

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


ここで少し新しいスレッド。
hhh

回答:


29

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

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

sudo apt-get install libiodbc2-dev

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


8
FWIW r-cran-binaryは、実際にはDebian / Ubuntuの他の ODBCライブラリunixodbc-dev に対して構築されます。
ダークエデルブエッテル

ODBCドライバーで何かする必要がありますか?

8
明確にしてくれてありがとうDirk; そのため、「sudo apt-get install unixodbc-dev」が代わりになります。

私はsudo apt-get install unixodbc-devに従い、RODBCがインストールされ、Rに完全にロードされるようになりましたが、MySQLに接続しようとすると警告メッセージが表示されます。 10.134.5.62; Database = copy_number; User = root; Password = xxxx; Option = 3; "):[RODBC]エラー:状態IM002、コード0、メッセージ[unixODBC] [Driver Manager]データソース名が見つかりません指定されたデフォルトのドライバー2:odbcDriverConnect( "Driver = {MySQL ODBC 5.1 Driver}; Server = 10.134.5.62; Database = copy_number; User = root; Password = xxxx; Option = 3;"):ODBC接続に失敗しました

5
それは別の質問です。しかし、それを聞いてはいけません。今こそ、いくつかのドキュメント、チュートリアル、メーリングリストを読んでください。まだ行き詰まっている場合は、特定のクエリを使用して戻ります。

11

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

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

  sudo apt-get install r-cran-rodbc

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


1
...または続くこれらの命令を一般的...で

r-cran-rodbcパッケージは、実際にはUbuntuリポジトリにあり、CRANのものにはありません。しかし、そのREADMEはまだ金です。
ダークエデルビュッテル

私はすでにこれを行っており、それは言った....パッケージリストを読む...完了依存関係ツリーを構築する状態情報を読む...完了r-cran-rodbcはすでに最新バージョンです。0はアップグレードされ、0は新しくインストールされ、0は削除され、22はアップグレードされません。私はRでパッケージをインストールしようとすると、それは同じエラー言う

それでインストールされます。では、なぜパッケージ管理システムの外部に2つ目のコピーをインストールしたいのですか?
ダークエデルブエッテル

sql.hのユーザビリティをチェックしています... sql.hの存在をチェックしていない... sql.hをチェックしていない... sqlext.hのユーザビリティをチェックしていない... sqlext.hの存在をチェックしていない... sqlext.hのチェックなし...構成なし:エラー:「ODBCヘッダーsql.hおよびsqlext.hが見つかりません」エラー:パッケージ 'RODBC'の構成に失敗しました* '/ home / administrator / R / x86_64-pc-の削除linux-gnu-library / 2.12 / RODBC 'install.packagesの警告:パッケージ' RODBC 'のインストールにゼロ以外の終了ステータスがありました...

11

このサイトやその他のサイトのすべてのソリューションからパッケージをインストールしようとした後、私は以下RODBCを使用してパッケージを構築することに成功しました。

sudo apt-get install unixodbc unixodbc-dev

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

  • libiodbc2-dev
  • libmyodbc
  • odbc-postgresql

これは、ruby-odbc gemをインストールしようとしているが、debian / ubuntuでエラーが発生している場合に必要なものです。
IAmNaN

3

FWIW、OS Xで同じ問題(「ODBCヘッダーsql.hおよびsqlext.hが見つかりません」)があり、unixodbc(brew install unixodbc)をインストールすることで修正しました


2
これは、元の質問とはまったく関係がないようです。OS / XシステムでHomeBrewを使用して何かをアンインストールしても、Ubuntuで苦労している人にはほとんど役に立たない、と説明しますか?回答を改善し、質問に記載されている問題に対処する方法を検討してください。
サミレイン

os x?osxへのインストールは、ubuntuの問題をどのように解決しますか
BlueBerry-Vignesh4303

unixodbcはUbuntuにも存在します。
harrymc

私は今それを試しましたが、Rは、unixodbcはRバージョン3.3.1では利用できないと言いました。これはサーバー上で実行されているものです。アップグレードが必要なようです;)
オレグメルニコフ

1

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の最新バージョンにアップグレードしてください。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.