Назад | Перейти на главную страницу

Отсутствует зависимость libmysqlclient.so.16 на Centos 5.7

У меня есть приложение, скомпилированное на (32-битном) Centos 6.2, которое мне нужно запустить на Centos 5.7, но оно жалуется, что ему нужно libmysqlclient.so.16

Я не уверен, где найти этот файл (я пробовал «yum предоставляет», но ничего не предоставляет). У меня включено репо epel, но там тоже ничего.

Может кто-нибудь посоветует, как это добавить? (Или это вообще возможно)

mysql.com очевидно предлагает пакет "compat" для RHEL5, который имеет следующие библиотеки:

$ rpm -qlp MySQL-shared-compat-5.1.49-1.rhel5.i386.rpm
/usr/lib/libmysqlclient.so
/usr/lib/libmysqlclient.so.10
/usr/lib/libmysqlclient.so.10.0.0
/usr/lib/libmysqlclient.so.12
/usr/lib/libmysqlclient.so.12.0.0
/usr/lib/libmysqlclient.so.14
/usr/lib/libmysqlclient.so.14.0.0
/usr/lib/libmysqlclient.so.15
/usr/lib/libmysqlclient.so.15.0.0
/usr/lib/libmysqlclient.so.16
/usr/lib/libmysqlclient.so.16.0.0
/usr/lib/libmysqlclient_r.so
/usr/lib/libmysqlclient_r.so.10
/usr/lib/libmysqlclient_r.so.10.0.0
/usr/lib/libmysqlclient_r.so.12
/usr/lib/libmysqlclient_r.so.12.0.0
/usr/lib/libmysqlclient_r.so.14
/usr/lib/libmysqlclient_r.so.14.0.0
/usr/lib/libmysqlclient_r.so.15
/usr/lib/libmysqlclient_r.so.15.0.0
/usr/lib/libmysqlclient_r.so.16
/usr/lib/libmysqlclient_r.so.16.0.0

Ссылка для скачивания: http://downloads.mysql.com/archives/mysql-5.1/MySQL-shared-compat-5.1.49-1.rhel5.i386.rpm

Я не пробовал это делать, поэтому не уверен, насколько хорошо это сработает.

При установке модуля mysql для PHP 5.4 (yum install php54w-mysql *) я обнаружил следующую ошибку:

Missing Dependency: libmysqlclient.so.16(libmysqlclient_16) is needed by package php-mysql-package-version

Следовательно, я загрузил "compat" rpm, который установил все различные версии libmysqlclient.so. {12,14,15,16}, и после этого модуль MySQL был установлен без каких-либо проблем.

Вы можете сослаться эта ссылка найти подробные инструкции.

Похоже, вам нужно установить следующий пакет:

$ yum install mysql-devel

Если у вас уже есть другой файл libmysqlclient.so.15, это означает, что вам нужно установить другую версию mysql-devel чтобы получить этот файл. Я думаю, вам нужно изменить свое приложение, если это возможно, или установить старую версию mysql-devel.

Это грязный обходной путь, который вы можете попробовать - создать символическую ссылку с libmysqlclient.so.15 на libmysqlclient.so.16. Я не уверен в результате. Можете попробовать самостоятельно :)