Ubuntu’da RODBC kurulumunda sorun


29

Linux'ta RODBC'yi R'uma yüklemeye çalışırken bazı eksik başlıklarla ilgili bir sorunum var. Biri bana bu konuda yardımcı olabilir mi?

> 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 

Suo apt-get install unixODBC * github.com/zozlak/RODBCext/issues/2
prashanth

Burada biraz daha yeni iplik .
hhh

Yanıtlar:


29

Dirk'ün dediği gibi, eğer zaten r-cran-rodbc kurduysanız, install.packages () 'ı R içinden çalıştırmanıza gerek yoktur, "library (RODBC)" paketi yüklemelidir.

Daha genel olarak, başlıklarla ilgili hataları gördüğünüzde bunun nedeni gerekli bir geliştirme kütüphanesinin kurulu olmamasıdır. Çözüm, gerekli paketi tanımlamak için eksik başlık dosyalarının adlarını kullanarak web’de arama yapmaktır ( örneğin , "sqlext.h ubuntu" için Google). Bu durumda, libiodbc2-dev'e ihtiyacınız vardır. Yani:

sudo apt-get install libiodbc2-dev

Sonra R içindeki kurulum çalışmalıdır.


8
FWIW r-cran-binary aslında Debian / Ubuntu'daki diğer ODBC kütüphanesine karşı inşa edilmiştir : unixodbc-dev.
Dirk Eddelbuettel

ODBC sürücüsü ile bir şey yapmam gerekir mi?

8
Açıklama için teşekkürler Dirk; bu yüzden "sudo apt-get install unixodbc-dev" bir alternatiftir.

Sudo apt-get unixodbc-dev kurulumunu takip ettim ve şimdi RODBC R'ye mükemmel bir şekilde kuruldu ve yüklendi ancak MySQL'e bağlanmaya çalıştığımda Uyarı mesajları: 1: odbcDriverConnect ("Driver = {MySQL ODBC 5.1 Driver}; Server = 10.134.5.62; Veritabanı = copy_number; Kullanıcı = kök; Parola = xxxx; Seçenek = 3; "): [RODBC] HATA: durum IM002, kod 0, ileti [unixODBC] [Sürücü Yöneticisi] Veri kaynağı adı bulunamadı ve no varsayılan sürücü 2 belirtildi: odbcDriverConnect ("Sürücü = {MySQL ODBC 5.1 Sürücü}; Sunucu = 10.134.5.62; Veritabanı = copy_number; Kullanıcı = kök; Parola = xxxx; Seçenek = 3;"): ODBC bağlantısı başarısız oldu

5
Bu ayrı bir soru. Ancak sorma: şimdi gitme ve bazı belgeleri, öğreticileri ve posta listelerini okuma zamanı. Eğer hala sıkışmışsanız, belirli bir sorgu ile geri gelin.

11

Gerçekten kaynaktan inşa etmeye ihtiyacınız var mı? Neden ikili paketi kullanmıyorsun?

Yani belki bunun yerine deneyin:

  sudo apt-get install r-cran-rodbc

veya GUI önyüzlerinden herhangi birini paket yönetim sistemine kullanın.


1
... veya genel olarak bu talimatları izleyin ...

R-cran-rodbc paketi aslında CRAN paketlerinde değil, Ubuntu depolarında bulunuyor. Ancak bu README hala altın.
Dirk Eddelbuettel

Bunu zaten yaptım ve dedi ki… Paket listeleri okunuyor ... Bitti Bağımlılık ağacını oluşturuldu Durum bilgisi okunuyor ... Bitti r-cran-rodbc zaten en yeni sürüm. 0 yükseltildi, 0 yeni yüklendi, 0 kaldırıldı ve 22 yükseltilmedi. ANCAK eğer paketi R'ye yüklemeyi

Bu yüzden yüklü. Peki neden paket yönetim sisteminin dışına ikinci bir kopya yüklemek istiyorsunuz?
Dirk Eddelbuettel

Unutma, hala yazıyor ... sql.h kullanılabilirliğini kontrol ediyor ... sql.h varlığını kontrol ediyor ... sql.h kontrolü yok ... sqlex.h kullanılabilirliğini kontrol ediyor ... sqlex.h varlığını kontrol ediyor ... sqlext.h denetlenmiyor ... hayır configure: hata: "ODBC sql.h ve sqlext.h başlıklarını bulunamadı" HATA: 'RODBC' * kaldırma 'paketi için yapılandırma başarısız oldu / home / manager / R / x86_64-pc- linux-gnu-library / 2.12 / RODBC 'install.packages uyarısı:' RODBC 'paketinin kurulumu sıfır olmayan bir çıkış durumuna sahipti ...

11

Bu sitedeki ve tüm diğer çözümlerden paketleri kurmaya çalıştıktan sonra, aşağıdakileri RODBCkullanarak paketi oluşturmayı başardım :

sudo apt-get install unixodbc unixodbc-dev

Ben de kurdum:

  • libiodbc2-dev
  • libmyodbc
  • odbc-postgresql

Yakut-odbc mücevherini yüklemeye çalışıyorsanız ancak debian / ubuntu'da hatalar alıyorsanız, istediğiniz budur.
IAmNaN

3

FWIW, OS X'te de aynı problemi yaşadım ("ODBC başlıkları sql.h ve sqlext.h bulunamadı") ve unixodbc ( brew install unixodbc) 'yi yükleyerek düzeltti.


2
Bu, orijinal soru ile hiçbir şekilde alakalı görünmüyor. HomeBrew ile bir OS / X sistemindeki bir şeyi kaldırmanın Ubuntu ile mücadele eden bir kişiye nasıl yardımcı olacağını pek açıklamıyorsunuz, değil mi? Lütfen cevabınızı nasıl geliştirebileceğinizi ve soruda açıklanan sorunu nasıl çözebileceğinizi düşünün.
Sami Laine,

os x ?
osx'a

unixodbc Ubuntu için de var.
harrymc

Şimdi denedim ama R, unixodbc'nin sunucuda çalışan R sürüm 3.3.1 için mevcut olmadığını söyledi. Bir yükseltme ihtiyacı gibi görünüyor;)
Oleg Melnikov


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.