Mysql2.so: libmysqlclient_r.so.15: невозможно открыть файл общих объектов: такой файл или каталог отсутствует
Я пытаюсь запустить Rails два приложения с сервером Ubuntu 10.04, sphinx, myql2 версии 0.2.7 и percona server 5.5 (Myslql 5.5). mysql2 в irb работает нормально, я могу подключиться к db. это приложение rails 2 работает на другом сервере Centos с MySql 5.1. Когда я запускаю:
script/server -e production
Я получаю:
mysql2.so: libmysqlclient_r.so.15: невозможно открыть файл общих объектов: нет такого файла или каталога
вот те библиотеки, которые у меня есть:
# 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
Если вы снова столкнетесь с этой ошибкой после обновления до 12.04 (или для людей, прибывающих сюда после того, как вы запустили заголовок этой страницы после обновления до 12.04), для меня работало следующее:
gem uninstall mysql2
gem install mysql2
Это перекомпилит драгоценный камень, используя libmysqlclient18, и сработает для меня.
Надеюсь, что кто-то поможет там.
Ответ 2
Вам необходимо установить библиотеки разработки. Попробуйте
sudo apt-get install libmysqlclient20-dev
или
sudo apt-get install libmysqlclient19-dev
Ответ 3
Установите клиентские библиотеки mysql: apt-get install libmysqlclient16
Ответ 4
У меня была эта ошибка с mysql-python и решил это с помощью pip:
pip uninstall mysql-python
pip install mysql-python
Ответ 5
Другой вариант, который не упоминался здесь, но был дан ответ в этом вопросе. Вам нужно установить MySQL-python
с помощью параметра --no-binary
. Этот вопрос намного проще найти, поэтому я добавляю ответ здесь для справки:
Сначала удалите текущую версию MySQL-python
:
pip uninstall MySQL-python
Затем установите MySQL-python
с параметром --no-binary
:
pip install --no-binary MySQL-python MySQL-python