Ubuntu में 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 

क्या उपयुक्त नहीं मिलता है, unixODBC स्थापित करें * github.com/zozlak/RODBCext/issues/2
prashanth

यहाँ थोड़ा नया धागा ।
hhh

जवाबों:


29

जैसा कि डिर्क ने टिप्पणियों में कहा है, यदि आपने पहले से ही आर-क्रैन-रॉडबेक स्थापित किया है, तो आर। लाइब्रेरी (आरओडीबीसी) के भीतर से इंस्टॉल (पैकेज) चलाने की कोई जरूरत नहीं है।

अधिक आम तौर पर, जब आप हेडर के बारे में त्रुटियां देखते हैं, तो ऐसा इसलिए है क्योंकि आवश्यक विकास लाइब्रेरी स्थापित नहीं है। समाधान आवश्यक पैकेज की पहचान करने के लिए लापता हेडर फ़ाइलों ( जैसे "sqlext.h ubuntu" के लिए Google) के नामों का उपयोग करके वेब पर खोज करना है। इस मामले में, आपको libiodbc2-dev की आवश्यकता है। इसलिए:

sudo apt-get install libiodbc2-dev

फिर आर के भीतर स्थापित काम करना चाहिए।


8
एफडब्ल्यूआईडब्ल्यू आर-क्रैन-बाइनरी वास्तव में डेबियन / उबंटू में अन्य ओडीबीसी पुस्तकालय के खिलाफ बनाया गया है : यूनिक्सोडब-देव।
डिर्क एडल्डबुलेटेल

क्या मुझे ODBC ड्राइवर के साथ कुछ भी करना है?

8
स्पष्टीकरण डिर्क के लिए धन्यवाद; इसलिए "sudo apt-get install unixodbc-dev" एक विकल्प है।

मैंने sudo apt-get install unixodbc-dev का अनुसरण किया और अब RODBC स्थापित है और R में पूरी तरह से लोड है, लेकिन जब मैं MySQL से कनेक्ट करने का प्रयास करता हूं तो यह चेतावनी संदेश कहता है: 1: odbcDriverConnect (") = {MySQL ODBC 5.1 Driver}; सर्वर = में; 10.134.5.62; डेटाबेस = copy_number; उपयोगकर्ता = रूट; पासवर्ड = xxxx; विकल्प = 3; "): [RODBC] ERROR: राज्य IM002, कोड 0, संदेश [unixODBC] [चालक प्रबंधक: डेटा स्रोत नाम नहीं मिला, और नहीं डिफ़ॉल्ट ड्राइवर निर्दिष्ट 2: odbcDriverConnect में ("ड्राइवर = {MySQL ODBC 5.1 ड्राइवर); सर्वर = 10.134.5.62; डेटाबेस = copy_number; उपयोगकर्ता = रूट; पासवर्ड = xxxx; विकल्प = 3;"): ODBC कनेक्शन विफल

5
यह एक अलग सवाल है। लेकिन यह मत पूछो: अब दूर जाने और कुछ प्रलेखन, ट्यूटोरियल और मेलिंग सूचियों को पढ़ने का समय है। यदि आप अभी भी अटके हुए हैं तो एक विशिष्ट क्वेरी के साथ वापस आएं।

11

क्या आपको वास्तव में स्रोत से निर्माण करने की आवश्यकता है? आप बाइनरी पैकेज का उपयोग क्यों नहीं करते हैं?

तो शायद इसके बजाय यह कोशिश करें:

  sudo apt-get install r-cran-rodbc

या GUI के किसी भी पैकेज प्रबंधन प्रणाली के लिए उपयोग करें।


1
... या इन निर्देशों का सामान्य रूप से पालन ​​करें ...

आर-क्रान-रॉडबक पैकेज वास्तव में उबंटू रिपोज पर है, न कि सीआरएएनएन पर। लेकिन वह README अभी भी सोना है।
डिर्क एडल्डबुलेटेल

मैंने पहले से ही ऐसा किया था और यह कहा गया था .... पठन पैकेज सूचियां ... पूर्ण निर्माण निर्भरता का पेड़ राज्य की जानकारी पढ़ना ... आर-क्रैन-क्रैबबैक पहले से ही नवीनतम संस्करण है। 0 अपग्रेड किया गया, 0 नव स्थापित, 0 हटाने के लिए और 22 अपग्रेड नहीं किया गया। लेकिन अगर मैं आर में पैकेज स्थापित करने की कोशिश करता हूं तो यह एक ही त्रुटि कहती है

तो यह स्थापित है। तो आप पैकेज प्रबंधन प्रणाली के बाहर दूसरी प्रति क्यों स्थापित करना चाहते हैं?
डिर्क एडल्डबुलेटेल

याद रखें यह अब भी कहता है .. sql.h प्रयोज्य की जाँच ... कोई जाँच sql.h उपस्थिति ... sql.h के लिए कोई जाँच नहीं ... कोई जाँच sqlext.h प्रयोज्य ... कोई जाँच sqlext.h उपस्थिति ... sqlext.h के लिए कोई जाँच नहीं ... कोई कॉन्फ़िगर नहीं किया गया: त्रुटि: "ODBC हेडर sql.h और sqlext.h नहीं मिला" ERROR: कॉन्फ़िगरेशन पैकेज 'RODBC' के लिए विफल रहा है * 'हटाने' / घर / व्यवस्थापक / आर / xx_64-pc- लिनक्स gnu-पुस्तकालय / 2.12 / RODBC 'install.packages में चेतावनी: पैकेज की स्थापना' RODBC 'गैर शून्य से बाहर निकलें स्थिति थी ...

11

इस साइट और अन्य पर सभी समाधानों से पैकेज स्थापित करने का प्रयास करने के बाद, मैं RODBCपैकेज का उपयोग करने में सफल रहा :

sudo apt-get install unixodbc unixodbc-dev

मैंने भी स्थापित किया:

  • libiodbc2-देव
  • libmyodbc
  • ODBC-PostgreSQL

यह वह है जो आप चाहते हैं यदि आप रूबी-ओडबेक मणि स्थापित करने की कोशिश कर रहे हैं, लेकिन डेबियन / ubuntu पर त्रुटियां हो रही हैं।
आईएएमएनएन

3

एफडब्ल्यूआईडब्ल्यू, मुझे ओएस एक्स पर एक ही समस्या थी ("ओडीबीसी हेडर sql.h और sqlext.h नहीं मिला"), और इसे यूनिक्सबेक स्थापित करके तय किया ( brew install unixodbc)


2
यह किसी भी तरह से मूल प्रश्न के लिए प्रासंगिक नहीं लगता है। यह बताते हुए कि OS / X सिस्टम पर HomeBrew के साथ कुछ अनइंस्टॉल करना मुश्किल से व्यक्ति को उबंटू से जूझने में मदद करता है, क्या आपको नहीं लगता? कृपया एक मिनट विचार करें कि आप अपने उत्तर को कैसे सुधार सकते हैं और प्रश्न में वर्णित समस्या का समाधान कर सकते हैं।
सामी लाईन

ओस x ? कैसे हल ubuntu की समस्या OSX पर स्थापित करता है
Vignesh4303 - BlueBerry

यूनिक्स के लिए भी unixodbc मौजूद है।
harrymc

मैंने अभी इसकी कोशिश की, लेकिन आर ने कहा कि यूनिक्सबेक आर संस्करण 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 के हाल के संस्करण में अपग्रेड करने का प्रयास करें।


0

मुझे भी यह समस्या थी। मेरे लिए समाधान यह था कि मैं कुछ उबंटू निर्भरताओं को याद कर रहा था जैसे कि

यह उल्लेखनीय है कि है install.packages("RODBC", dependencies=TRUE)करता नहीं इन पैकेजों को लेने। वे बाहर Rही पड़े रहते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.