Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have an app compiled on (32 bit) Centos 6.2, which I need to run on Centos 5.7 but it complains that it needs libmysqlclient.so.16

I'm not sure where to find this file (I tried "yum provides" but nothing provides it). I have the epel repo enabled but nothing there either.

Can someone advise on how to add this? (Or is this even possible)

share|improve this question

3 Answers 3

It seems that you need to install the following package:

$ yum install mysql-devel

If you already have a different file libmysqlclient.so.15, this means you need to install a different version of mysql-devel to get this file. I think you have to modify your application if possible or install the older version of mysql-devel.

This is a dirty workaround you can try which is to create a symlink from libmysqlclient.so.15 to libmysqlclient.so.16. I am not sure about the result. You can try it on your own :)

share|improve this answer
    
Nope - already have that in, and it offers /usr/lib/mysql/libmysqlclient.so.15 –  Generation D Systems Jan 29 '12 at 16:38

mysql.com apparently offers a "compat" package for RHEL5 that has these libraries:

$ 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

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.

share|improve this answer
    
It looks like this is just the beginning though. Using the ldd command I see more dependencies: libssl.so.10 => not found, libcrypto.so.10 => not found, libsybdb.so.5 => not found. Does this mean I should give up or do the same for all of these packages? –  Generation D Systems Jan 29 '12 at 18:25
    
Hmm. This is going to be problematic, since you will probably break a bunch of things if you try to upgrade the CentOS5 packages with CentOS6 ones. The MySQL library only works because MySQL saw fit to provide these compatibility libraries; there's no guarantee any other project will do so. At this point, it may be best to recompile to CentOS5. If that's not possible, you should seriously consider using CentOS6. That may be easier than trying to shoehorn newer libraries into the older OS version. –  cjc Jan 29 '12 at 18:34
    
If this is pre-packaged software, does the vendor stipulate a specific RedHat version? Basically, your setup may not meet the minimum requirements. Is there a version compiled for RHEL5? –  cjc Jan 29 '12 at 18:36

While installing ‘mysql’ module for PHP 5.4 (yum install php54w-mysql*), I encountered the following error:

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

Hence, I downloaded an 'compat' rpm, which installed all the different versions of libmysqlclient.so.{12,14,15,16} and after that MySQL module got installed without any issues.

You may refer this link to find detailed instructions.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.