我有一个在 Centos 6.2(32 位)上编译的应用程序,我需要在 Centos 5.7 上运行它,但它抱怨它需要libmysql客户端.so.16
我不知道在哪里可以找到这个文件(我试过“yum 提供”,但没有提供)。我启用了 epel repo,但那里也没有任何东西。
有人可以建议如何添加它吗?(或者这是否可能)
答案1
mysql.com 显然为 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
我还没有尝试过,所以不确定效果如何。
答案2
似乎您需要安装以下包:
$ yum install mysql-devel
如果您已经拥有不同的文件libmysqlclient.so.15
,则意味着您需要安装不同的版本mysql-devel
才能获取此文件。我认为您必须尽可能修改您的应用程序或安装旧版本的mysql-devel。
您可以尝试一种较粗略的解决方法,即创建从 libmysqlclient.so.15 到 libmysqlclient.so.16 的符号链接。我不确定结果如何。您可以自己尝试一下 :)
答案3
在为 PHP 5.4 安装“mysql”模块(yum install php54w-mysql*)时,遇到以下错误:
缺少依赖项:php-mysql-package-version 软件包需要 libmysqlclient.so.16(libmysqlclient_16)
因此,我下载了一个“兼容” rpm,它安装了 libmysqlclient.so 的所有不同版本。{12,14,15,16},之后 MySQL 模块安装没有任何问题。
您可以参考此链接查找详细说明。