2011-12-10 19 views
18

मैं उबंटू 10.04 सर्वर, स्फिंक्स, myql2 संस्करण 0.2.7 और percona सर्वर 5.5 के साथ एक रेल दो ऐप चलाने की कोशिश कर रहा हूं (माइस्क्ल 5.5)। irsql2 irb में ठीक काम करता है, मैं डीबी से कनेक्ट कर सकते हैं। यह रेल 2 ऐप MySQL 5.1 के साथ एक और केंद्र सर्वर में काम कर रहा है। जब मैं चलाएँ:mysql2.so: libmysqlclient_r.so.15: साझा ऑब्जेक्ट फ़ाइल नहीं खोल सकता: ऐसी कोई फ़ाइल या निर्देशिका

script/server -e production 

मैं:

mysql2.so: libmysqlclient_r.so.15: साझा वस्तु फ़ाइल को खोल नहीं सकते: ऐसी कोई फ़ाइल या निर्देशिका

यहाँ

हैं libs मेरे पास है:

# ls -l /usr/lib |grep sql 
-rw-r--r-- 1 root root 10581008 2011-11-18 16:51 libmysqlclient.a 
lrwxrwxrwx 1 root root  16 2011-12-10 05:48 libmysqlclient_r.a -> libmysqlclient.a 
lrwxrwxrwx 1 root root  20 2011-12-10 05:48 libmysqlclient.so -> libmysqlclient.so.16 
lrwxrwxrwx 1 root root  29 2011-12-10 06:01 libmysqlclient.so.15 -> /usr/lib/libmysqlclient.so.16 
-rw-r--r-- 1 root root  7332 2011-11-18 16:44 libmysqlservices.a 
-rw-r--r-- 1 root root 562520 2010-02-08 06:59 libsqlite3.a 
-rw-r--r-- 1 root root  973 2010-02-08 06:59 libsqlite3.la 
lrwxrwxrwx 1 root root  19 2011-12-07 17:15 libsqlite3.so -> libsqlite3.so.0.8.6 
lrwxrwxrwx 1 root root  19 2011-03-09 18:43 libsqlite3.so.0 -> libsqlite3.so.0.8.6 
-rw-r--r-- 1 root root 528668 2010-02-08 06:59 libsqlite3.so.0.8.6 
drwxr-xr-x 3 root root  4096 2011-12-10 05:47 mysql 

मैं इसे कैसे ठीक कर सकता हूं?

+1

क्या आप libmysqlclient_r.so स्थित कर सकते हैं? यदि पाया गया है, तो Centos के लिए इस – ajreal

+0

पर सिम्लिंक, देखें: http://stackoverflow.com/questions/10529401/libmysqlclient-so-15-cannot-open-shared-object-file-no-such-file-or-directory – kenorb

उत्तर

77

आप 12.04 के उन्नयन के बाद फिर से इस त्रुटि का सामना करते हैं (या 12.04 के उन्नयन के बाद इस पेज के शीर्षक googling के बाद यहां आने वाले लोगों के लिए), मेरे लिए काम किया निम्नलिखित :

gem uninstall mysql2 
gem install mysql2 

यह libmysqlclient18 का उपयोग करके मणि को फिर से संकलित करेगा, और मेरे लिए काम करेगा।

आशा है कि वहां किसी को भी मदद मिलेगी।

+2

धन्यवाद, यह मेरे लिए काम किया। ;) – Kulgar

+0

पुराने को पुनर्स्थापित करने का प्रयास करने के बजाय नवीनतम lib के साथ पुनर्स्थापित करने के लिए बहुत बेहतर विचार। – Simmo

+1

वही है, मेरे लिए +1 – rhodee

2

स्थापित mysql क्लाइंट लाइब्रेरी: apt-get install libmysqlclient16

+0

किया और मुझे मिलता है: libmysqlclient16 पहले से ही नवीनतम संस्करण है। – rtacconi

5

आप विकास पुस्तकालयों स्थापित करने की आवश्यकता। कोशिश

sudo apt-get install libmysqlclient20-dev 

या

sudo apt-get install libmysqlclient19-dev 
1

मैं mysql-अजगर के साथ इस त्रुटि था और इस का उपयोग करते हुए पिप हल:

pip uninstall mysql-python 
pip install mysql-python 
+1

मेरे लिए काम किया। धन्यवाद – Jimmy

0

एक अन्य विकल्प है कि यहाँ उल्लेख नहीं किया गया है, लेकिन this question में जवाब दिया गया है। क्या आपको विकल्प के साथ MySQL-python इंस्टॉल करना है। इस प्रश्न का पता लगाने के लिए बहुत आसान है, इसलिए मैं यहाँ संदर्भ के लिए इस सवाल का जवाब जोड़ रहा:

पहले MySQL-python के वर्तमान संस्करण को अनइंस्टॉल:

:

pip uninstall MySQL-python 

फिर --no-binary पैरामीटर के साथ MySQL-python स्थापित

pip install --no-binary MySQL-python MySQL-python 
संबंधित मुद्दे

 संबंधित मुद्दे