ปัญหากับการติดตั้ง RODBC ใน Ubuntu


24

ฉันมีปัญหากับส่วนหัวที่ขาดหายไปเมื่อพยายามติดตั้ง RODBC ใน R บน linux ของฉัน ใครสามารถช่วยฉันด้วยปัญหานี้

> 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 

ทำ sudo apt-get install unixODBC * github.com/zozlak/RODBCext/issues/2
prashanth

เธรดที่ใหม่กว่าเล็กน้อย ที่นี่ .
hhh

คำตอบ:


23

ดังที่เดิร์กกล่าวในความคิดเห็นหากคุณได้ติดตั้ง r-cran-rodbc แล้วไม่จำเป็นต้องเรียกใช้ install.packages () จากภายใน "คลัง (RODBC)" ของอาร์ควรโหลดแพคเกจ

โดยทั่วไปเมื่อคุณเห็นข้อผิดพลาดเกี่ยวกับส่วนหัวเป็นเพราะห้องสมุดการพัฒนาที่จำเป็นไม่ได้รับการติดตั้ง วิธีแก้ไขคือค้นหาเว็บโดยใช้ชื่อไฟล์ส่วนหัวที่หายไป ( เช่น. Google สำหรับ "sqlext.h ubuntu") เพื่อระบุแพ็คเกจที่ต้องการ ในกรณีนี้คุณต้องใช้ libiodbc2-dev ดังนั้น:

sudo apt-get install libiodbc2-dev

จากนั้นการติดตั้งภายใน R ควรใช้งานได้


8
FWIW r-cran-binary ถูกสร้างขึ้นจริงเทียบกับ อื่น ๆ ไลบรารี ODBC ใน Debian / Ubuntu: unixodbc-dev
Dirk Eddelbuettel

ฉันต้องทำอะไรกับไดรเวอร์ ODBC หรือไม่

7
ขอบคุณสำหรับการชี้แจง Dirk; ดังนั้น "sudo apt-get install unixodbc-dev" จึงเป็นทางเลือก

ฉันติดตาม sudo apt-get install unixodbc-dev และตอนนี้ RODBC ได้รับการติดตั้งและโหลดอย่างสมบูรณ์แบบใน R แต่เมื่อฉันพยายามเชื่อมต่อกับ MySQL จะมีข้อความแจ้งเตือน: 1: ใน odbcDriverConnect ("ไดรเวอร์ = {ไดรเวอร์ MySQL ODBC 5.1}} 10.134.5.62; Database = copy_number; User = root, Password = xxxx; Option = 3; "): [RODBC] ข้อผิดพลาด: สถานะ IM002, รหัส 0, ข้อความ [unixODBC] [ตัวจัดการโปรแกรมควบคุม] ไม่พบชื่อแหล่งข้อมูลและไม่ ไดรเวอร์เริ่มต้นที่ระบุ 2: ใน odbcDriverConnect ("Driver = {MySQL ODBC 5.1 Driver}; Server = 10.134.5.62; Database = copy_number; User = root; Password = xxxx; Option = 3;"): การเชื่อมต่อ ODBC ล้มเหลว

4
นั่นเป็นคำถามแยกต่างหาก แต่ไม่ต้องถาม: ตอนนี้เป็นเวลาที่จะหายไปและอ่านเอกสารประกอบการสอนและรายชื่อผู้รับจดหมาย จากนั้นกลับมาพร้อมกับข้อความค้นหาเฉพาะหากคุณยังติดอยู่

10

คุณต้องการสร้างจากแหล่งที่มาจริง ๆ หรือไม่? ทำไมคุณไม่ใช้แพ็คเกจไบนารี

ดังนั้นอาจลองแทนสิ่งนี้:

  sudo apt-get install r-cran-rodbc

หรือใช้ส่วนหน้า GUI ใด ๆ กับระบบการจัดการบรรจุภัณฑ์


1
... หรือติดตาม คำแนะนำเหล่านี้ โดยทั่วไป ...

แพ็คเกจ r-cran-rodbc นั้นอยู่บน repos ของ Ubuntu และไม่ใช่ใน CRAN แต่ 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 'คำเตือนในการติดตั้งแพคเกจ: การติดตั้งแพคเกจ' RODBC 'มีสถานะทางออกที่ไม่เป็นศูนย์ ...

8

หลังจากพยายามติดตั้งแพ็คเกจจากโซลูชันทั้งหมดในไซต์นี้และอื่น ๆ ฉันก็ประสบความสำเร็จในการสร้าง RODBC แพคเกจใช้:

sudo apt-get install unixodbc unixodbc-dev

ฉันยังติดตั้ง:

  • libiodbc2-dev
  • libmyodbc
  • odbc-PostgreSQL

3

FWIW ฉันมีปัญหาเดียวกัน ("ส่วนหัว ODBC sql.h และ sqlext.h ไม่พบ") ​​บน OS X และแก้ไขได้โดยติดตั้ง unixodbc ( brew install unixodbc )


2
ดูเหมือนจะไม่เกี่ยวข้องกับคำถามต้นฉบับ แต่อย่างใด การอธิบายว่าการถอนการติดตั้งบางสิ่งด้วย HomeBrew บนระบบ OS / X ช่วยให้บุคคลนั้นลำบากกับ Ubuntu ได้อย่างไรคุณไม่คิดอย่างนั้นหรือ โปรดสละเวลาสักครู่เพื่อพิจารณาว่าคุณสามารถปรับปรุงคำตอบและแก้ไขปัญหาที่อธิบายไว้ในคำถามได้อย่างไร
Sami Laine

ระบบปฏิบัติการ x ? วิธีการติดตั้งบน osx แก้ปัญหาของ Ubuntu
BlueBerry - Vignesh4303

unixodbc ยังมีอยู่สำหรับ Ubuntu
harrymc

ฉันลองตอนนี้ แต่ R บอกว่า unixodbc ไม่พร้อมใช้งานสำหรับ R เวอร์ชั่น 3.3.1 ซึ่งเป็นสิ่งที่ทำงานบนเซิร์ฟเวอร์ ดูเหมือนว่าจะต้องมีการอัพเกรด;)
Oleg Melnikov

1

RODBC ขึ้นอยู่กับ R (& gt; = 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


0

ฉันยังมีปัญหานี้ สำหรับฉันทางออกคือฉันหายไปบ้าง การพึ่งพา Ubuntu เช่น

เป็นที่น่าสังเกตว่า install.packages("RODBC", dependencies=TRUE) ทำ ไม่ เลือกแพ็คเกจเหล่านี้ พวกเขาอยู่ข้างนอก R ตัวเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.