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

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

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

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

3 ответа

Решение

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*) я обнаружил следующую ошибку:

Отсутствует зависимость: libmysqlclient.so.16(libmysqlclient_16) необходим для пакета 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. Я не уверен в результате. Вы можете попробовать это самостоятельно:)

Другие вопросы по тегам