How do I install 32-bit libmysqlclient.so?
1. Installation
Your MySQL installation could have come from different sources. It could be an rpm that came with the distribution or a Sun/Oracle rpm or it could have been built from sources.
rpm -q --whatprovides $(which mysql)
should tell you the name of the package like
MySQL-client-...
mysql-5.0...
mysql-community-server-client
mysql-5.1...
no package provides /usr/bin/mysql
.
On CentOS the first two options are most likely. MySQL-client-5.0
is a Sun/Oracle RPM and mysql-5.0
could have come from the distribution. Use rpm -q --info <package_name>
to get extended information and verify that the Vendor:
line confirms the hypothesis.
Here is a typical Vendor line:
Name : MySQL-shared-community Relocations: (not relocatable)
Version : 5.0.96 Vendor: Oracle and/or its affiliates
1.1 MySQL from Sun/Oracle RPMs
If your mysql installation comes from Sun/Oracle, go to MySQL Community server download page, select among Generally Available (GA) releases the one that has mysql 5.0 version and 32-bit architecture, choose MySQL-shared-community package, download and install it with rpm -i
. This package provides exactly the /usr/lib/libmysqlclient.so.15
library.
1.2 mysql from CentOS
In CentOS5 libmysqlclient belongs to the mysql package.
yum install mysql.i386
should do the trick.
In CentOS6 it was moved to a separate mysql-libs package.
2. Testing
After installing the library, check if dynamic library dependencies are resolved correctly:
ldd <your_binary> | grep libmysqlclient
should return something like
libmysqlclient.so.15 => /usr/lib/mysql/libmysqlclient.so.15
If you want to know what provides a 32-bit version of a specific 64-bit library, you could use rpm -q --whatprovides /path/to/your/lib64/library
to determine the name of the package. Then replace x86_64 with i686 in the name to get the name of the 32-bit counterpart. Use yum search
to verify if the package is provided by the repositories you have subscribed to.
Best Answer
mysql.com apparently offers a "compat" package for RHEL5 that has these libraries:
The download link is: http://downloads.mysql.com/archives/mysql-5.1/MySQL-shared-compat-5.1.49-1.rhel5.i386.rpm
I haven't tried this, so I'm not sure how well it will work.