mysql2.so: libmysqlclient_r.so.15: cannot open shared object file: No such file or directory

二次信任 提交于 2019-11-27 01:48:12

问题


I am trying to run a Rails two app with Ubuntu 10.04 server, sphinx, myql2 version 0.2.7 and percona server 5.5 (Myslql 5.5). mysql2 in irb works ok, I can connect to the db. this rails 2 app is working in another Centos server with MySql 5.1. When I run:

script/server -e production 

I get:

mysql2.so: libmysqlclient_r.so.15: cannot open shared object file: No such file or directory

here are the libs I have:

# 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

How can I fix it?


回答1:


If you encounter this error again after upgrading to 12.04 (or for people arriving here after googling the title of this page after upgrading to 12.04), the following worked for me:

gem uninstall mysql2
gem install mysql2

This will recompile the gem using libmysqlclient18, and worked for me.

Hope that helps someone out there.




回答2:


You need to install the development libraries. Try

sudo apt-get install libmysqlclient20-dev

or

sudo apt-get install libmysqlclient19-dev



回答3:


Install the mysql client libraries: apt-get install libmysqlclient16




回答4:


I had this error with mysql-python and solved this using pip:

pip uninstall mysql-python
pip install mysql-python



回答5:


Another option that has not been mentioned here, but has been answered in this question. Is that you have to install MySQL-python with the --no-binary option. This question is a lot easier to find, so I'm adding the answer here for reference:

First uninstall your current version of MySQL-python:

pip uninstall MySQL-python

Then install MySQL-python with the --no-binary parameter:

pip install --no-binary MySQL-python MySQL-python



回答6:


After updated to Ubuntu 19.10. I got the error:

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.20: cannot open shared object file: No such file or directory

Solution:

1) activate your virtualenv

2) (yourvirtualenv) pip uninstall mysqlclient

3) (yourvirtualenv) pip install mysqlclient



来源:https://stackoverflow.com/questions/8456300/mysql2-so-libmysqlclient-r-so-15-cannot-open-shared-object-file-no-such-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!