우분투에서 RODBC 설치 문제


29

내 리눅스에서 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 

마 스오 apt-get을 인 unixODBC * 설치 github.com/zozlak/RODBCext/issues/2을
프라 샨스

조금 더 새로운 스레드가 여기에 있습니다 .
HHH

답변:


29

Dirk이 의견에서 말했듯이 r-cran-rodbc를 이미 설치했다면 R 내에서 install.packages ()를 실행할 필요가 없습니다. "library (RODBC)"는 패키지를로드해야합니다.

더 일반적으로, 헤더와 관련된 오류가 표시되면 필수 개발 라이브러리가 설치되어 있지 않기 때문입니다. 해결책은 누락 된 헤더 파일 이름 ( 예 : "sqlext.h ubuntu"의 Google)을 사용하여 웹을 검색 하여 필요한 패키지를 식별하는 것입니다. 이 경우 libiodbc2-dev가 필요합니다. 그래서:

sudo apt-get install libiodbc2-dev

그런 다음 R 내의 설치가 작동합니다.


8
r-cran-binary는 실제로 Debian / Ubuntu 의 다른 ODBC 라이브러리 인 unixodbc-dev 에 대해 빌드 되었습니다.
Dirk Eddelbuettel

ODBC 드라이버로 무엇을해야합니까?

8
설명 감사합니다 Dirk; "sudo apt-get install unixodbc-dev"는 대안입니다.

sudo apt-get install unixodbc-dev를 따르고 이제 RODBC가 설치되어 R에 완벽하게로드되지만 MySQL에 연결하려고하면 경고 메시지가 표시됩니다. 1 : odbcDriverConnect ( "Driver = {MySQL ODBC 5.1 Driver}; Server = 10.134.5.62; Database = copy_number; User = root; Password = xxxx; Option = 3; ") : [RODBC] 오류 : 상태 IM002, 코드 0, 메시지 [unixODBC] [드라이버 관리자] 데이터 소스 이름을 찾을 수 없습니다. 기본 드라이버 지정 2 : In 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 패키지는 실제로 CRAN 패키지가 아니라 Ubuntu 저장소에 있습니다. 그러나 그 README는 여전히 금입니다.
Dirk Eddelbuettel

나는 이미 이것을하고 그것을 말했다 .... 패키지 목록 읽기 ... 완료 건물 종속성 트리 상태 정보 읽기 ... 완료 r-cran-rodbc는 이미 최신 버전입니다. 0 업그레이드, 0 새로 설치, 0 제거 및 22 업그레이드되지 않음. 그러나 R에 패키지를 설치하려고하면 동일한 오류가 표시됩니다

그래서 설치되었습니다. 그렇다면 패키지 관리 시스템 외부에 두 번째 사본을 설치하려는 이유는 무엇입니까?
Dirk Eddelbuettel

아직도 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 '패키지 설치가 종료 상태가 0이 아님 ...

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로 무언가를 제거하는 것이 우분투 문제를 겪는 사람에게 거의 도움이되지 않는다고 설명합니다. 잠시 시간을내어 답변을 개선하고 질문에 설명 된 문제를 해결하는 방법을 고려하십시오.
Sami Laine

OS X ? 어떻게 우분투의 문제는 OSX에 해결 설치 않습니다
블루 베리 - Vignesh4303

unixodbc는 우분투에도 존재합니다.
harrymc

방금 시도했지만 R은 서버에서 실행되는 R 버전 3.3.1에서 unixodbc를 사용할 수 없다고 말했습니다. 업그레이드가 필요한 것 같습니다;)
Oleg Melnikov


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.