Bug #68301 rhel5 release 9 update fails with mysql-5.5.30 rpm version installed
Submitted: 7 Feb 2013 9:48 Modified: 12 Feb 2013 10:45
Reporter: Nico Eisold Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Packaging Severity:S3 (Non-critical)
Version:5.5.30-1.rhel5.x86_64.rpm OS:Linux (RHEL5.8)
Assigned to: Balasubramanian Kandasamy CPU Architecture:Any
Tags: mysql-5.5, RHEL5.8, RHEL5.9

[7 Feb 2013 9:48] Nico Eisold
Description:
We are using rhel5 with current patch level which was 5.8 before the attempt to patch to rhel 5.9 level.

At this servers we have installed "MySQL-server-5.5.30-1.rhel5.x86_64.rpm" and "MySQL-client-5.5.30-1.rhel5.x86_64.rpm" 

while trying to upgrade the system we got a rpm-conflict between the installed mysql-Server-5.5 and the distribution mysql package which is required by the postfix version which is included in rhel-5.9 release.

Output of RPM:
# rpm -qa | grep -i mysql
MySQL-client-5.5.30-1.rhel5
MySQL-server-5.5.30-1.rhel5

How to repeat:
# rpm -Uhv postfix-2\:-2.3.3-6.el5.x86_64.rpm mysql-5.0.95-5.el5_9.x86_64.rpm  perl-DBI-1.52-2.el5.x86_64.rpm 
warning: postfix-2:-2.3.3-6.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
	MySQL conflicts with mysql-5.0.95-5.el5_9.x86_64

Suggested fix:
we think that the dependencies have to be fixed.
[8 Feb 2013 11:29] Balasubramanian Kandasamy
We have introduced a conflict statement to ensure that the updated Oracle MySQL libs doesn't conflict with Redhat mysql-libs older version.

As a workaround, Please can you try below steps, 

Step 1) Install postfix with below command

rpm -Uvh --nodeps postfix-2:-2.3.3-6.el5.x86_64.rpm

Step 2)

rpm -Uvh perl-DBI-1.52-2.el5.x86_64.rpm 

If this didnt work, try with 

rpm -Uvh --nodeps perl-DBI-1.52-2.el5.x86_64.rpm 

Thanks,
Bala
[8 Feb 2013 14:17] Nico Eisold
I've tried the Steps:

Step1: causes a postfix error and its not possible to mail anymore
# rpm -Uvh --nodeps postfix-2\:-2.3.3-6.el5.x86_64.rpm 
warning: postfix-2:-2.3.3-6.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:postfix                ########################################### [100%]
/usr/sbin/postfix: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory

# postfix restart
postfix: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory

Step2: update of perl DBI is possible but postfix still throws the error
# rpm -Uvh perl-DBI-1.52-2.el5.x86_64.rpm 
warning: perl-DBI-1.52-2.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:perl-DBI               ########################################### [100%]

# postfix restart
postfix: error while loading shared libraries: libmysqlclient.so.15: cannot open shared object file: No such file or directory

after that it was possible to upgrade all other rhel5.9 packages(excluding perl-DBI, mysql and postfix)and postfix is still not working
# rpm -Uhv `ls | grep -ivE "postfix|mysql|perl-DBI"`
warning: alsa-utils-1.0.17-7.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
... 
Sucessfull
[8 Feb 2013 14:38] Balasubramanian Kandasamy
Please can you provide the output of below commands

1) ldd /usr/sbin/postfix

2) locate libmysqlclient.so.15 

3) If libmysqlclient found in Step 2) then we will try to link it as below

ln -s /usr/lib/mysql/libmysqlclient.so.15.0.0 /usr/lib/libmysqlclient.so.15

4) Try upgrading the postfix

rpm -Uvh --nodeps postfix-2:-2.3.3-6.el5.x86_64.rpm

Thanks,
[8 Feb 2013 15:11] Nico Eisold
Ootput before Postfix update 
# rpm -qa postfix
postfix-2.3.3-2.3.el5_6
# ldd /usr/sbin/postfix
	linux-vdso.so.1 =>  (0x00007ffff9187000)
	libldap-2.3.so.0 => /usr/lib64/libldap-2.3.so.0 (0x00002b33181a4000)
	liblber-2.3.so.0 => /usr/lib64/liblber-2.3.so.0 (0x00002b33183df000)
	libpcre.so.0 => /lib64/libpcre.so.0 (0x00002b33185ee000)
	libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00002b331880d000)
	libssl.so.6 => /lib64/libssl.so.6 (0x00002b3318a26000)
	libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00002b3318c73000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00002b3318fc4000)
	libz.so.1 => /lib64/libz.so.1 (0x00002b33191c8000)
	libdb-4.3.so => /lib64/libdb-4.3.so (0x00002b33193dd000)
	libnsl.so.1 => /lib64/libnsl.so.1 (0x00002b33196d3000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00002b33198eb000)
	libc.so.6 => /lib64/libc.so.6 (0x00002b3319b01000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002b3319e5a000)
	libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00002b331a092000)
	libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00002b331a2c1000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00002b331a556000)
	libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00002b331a758000)
	/lib64/ld-linux-x86-64.so.2 (0x00002b3317d60000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b331a97e000)
	libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00002b331ab9a000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00002b331ada2000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00002b331afa5000)
	libsepol.so.1 => /lib64/libsepol.so.1 (0x00002b331b1bd000)
# locate libmysqlclient.so.15
#
no output

# find / -name "*libmysql*"
#
no files match "*libmysql*"

after Postfix Update:
# rpm -qa postfix
postfix-2.3.3-6.el5
# ldd /usr/sbin/postfix
	linux-vdso.so.1 =>  (0x00007fff11375000)
	libldap-2.3.so.0 => /usr/lib64/libldap-2.3.so.0 (0x00002addaf77f000)
	liblber-2.3.so.0 => /usr/lib64/liblber-2.3.so.0 (0x00002addaf9ba000)
	libpcre.so.0 => /lib64/libpcre.so.0 (0x00002addafbc9000)
	libmysqlclient.so.15 => not found
	libm.so.6 => /lib64/libm.so.6 (0x00002addafde8000)
	libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00002addb006c000)
	libssl.so.6 => /lib64/libssl.so.6 (0x00002addb0285000)
	libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00002addb04d1000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00002addb0823000)
	libz.so.1 => /lib64/libz.so.1 (0x00002addb0a27000)
	libdb-4.3.so => /lib64/libdb-4.3.so (0x00002addb0c3b000)
	libnsl.so.1 => /lib64/libnsl.so.1 (0x00002addb0f32000)
	libresolv.so.2 => /lib64/libresolv.so.2 (0x00002addb114a000)
	libc.so.6 => /lib64/libc.so.6 (0x00002addb135f000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002addb16b9000)
	libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00002addb18f1000)
	libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00002addb1b1f000)
	libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00002addb1db5000)
	libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00002addb1fb7000)
	/lib64/ld-linux-x86-64.so.2 (0x00002addaf33b000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00002addb21dc000)
	libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00002addb23f9000)
	libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00002addb2601000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00002addb2804000)
	libsepol.so.1 => /lib64/libsepol.so.1 (0x00002addb2a1c000)
[8 Feb 2013 17:38] Balasubramanian Kandasamy
Thanks for providing the output.

<< Snippet from the documentation >>

dev.mysql.com/doc/refman/5.5/en/linux-installation-rpm.html

As of MySQL 5.5.23, the MySQL-shared-compat RPM package enables users of Red Hat-provided mysql-*-5.1 RPM packages to migrate to Oracle-provided MySQL-*-5.5 packages. MySQL-shared-compat replaces the Red Hat mysql-libs package by replacing libmysqlclient.so files of the latter package, thus satisfying dependencies of other packages on mysql-libs. This change affects only users of Red Hat (or Red Hat-compatible) RPM packages. Nothing is different for users of Oracle RPM packages. 

Please download and install the below package that will provide libmysqlclient.so.15 and try  to install postfix rpm.

Red Hat & Oracle Linux 5 (x86, 64-bit), 	

(MySQL-shared-compat-5.5.30-1.rhel5.x86_64.rpm)

Thanks,
[11 Feb 2013 9:37] Nico Eisold
after installing "MySQL-shared-compat-5.5.30-1.rhel5.x86_64.rpm" ignoring dependencies Postfix worked, but the dependencies are still not really clean.

# rpm -Uhv MySQL-shared-compat-5.5.30-1.rhel5.x86_64.rpm
error: Failed dependencies:
	mysql is needed by (installed) postfix-2.3.3-6.el5.x86_64
# rpm -Uhv MySQL-shared-compat-5.5.30-1.rhel5.x86_64.rpm --nodep
Preparing...                ########################################### [100%]
   1:MySQL-shared-compat    ########################################### [100%]

this is caused by the dependency of the to "mysql"-package which is includes in RHEL distribution

# rpm -qa postfix
postfix-2.3.3-6.el5
# rpm -q postfix -R
/bin/bash  
/bin/sh  
/bin/sh  
/bin/sh  
/bin/sh  
/bin/sh  
/sbin/chkconfig  
/sbin/service  
/usr/bin/perl  
/usr/sbin/alternatives  
/usr/sbin/groupadd  
/usr/sbin/useradd  
config(postfix) = 2:2.3.3-6.el5
cyrus-sasl >= 2.1.10
fileutils  
libc.so.6()(64bit)  
libc.so.6(GLIBC_2.2.5)(64bit)  
libc.so.6(GLIBC_2.3)(64bit)  
libc.so.6(GLIBC_2.3.4)(64bit)  
libc.so.6(GLIBC_2.4)(64bit)  
libcrypto.so.6()(64bit)  
libdb-4.3.so()(64bit)  
libdl.so.2()(64bit)  
liblber-2.3.so.0()(64bit)  
libldap-2.3.so.0()(64bit)  
libm.so.6()(64bit)  
libmysqlclient.so.15()(64bit)  
libmysqlclient.so.15(libmysqlclient_15)(64bit)  
libnsl.so.1()(64bit)  
libnsl.so.1(GLIBC_2.2.5)(64bit)  
libpcre.so.0()(64bit)  
libresolv.so.2()(64bit)  
libresolv.so.2(GLIBC_2.2.5)(64bit)  
libsasl2.so.2()(64bit)  
libssl.so.6()(64bit)  
libz.so.1()(64bit)  
mysql  
openldap >= 2.0.27
openssl  
pcre  
perl(File::Find)  
perl(Getopt::Std)  
perl(IO::File)  
perl(strict)  
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)  
setup >= 2.5.36-1
sh-utils  
textutils
[11 Feb 2013 9:54] Balasubramanian Kandasamy
Hi Nico,

We have replaced Redhat libmysqlclient.so with MySQL-shared-compat-5.5.30-1.rhel5.x86_64.rpm, installing shared-compat will resolve all the dependencies error.

This error (mysql is needed by (installed) postfix-2.3.3-6.el5.x86_64) is because of inter dependency between mysql 5.0 (Redhat) and postfix. We can ignore the error as postfix should be working as expected.

This has been documented in the install instructions < snippet from documentation - dev.mysql.com/doc/refman/5.5/en/linux-installation-rpm.html >

If you get a dependency failure when trying to install MySQL packages (for example, error: removing these packages would break dependencies: libmysqlclient.so.10 is needed by ...), you should also install the MySQL-shared-compat package, which includes the shared libraries for older releases for backward compatibility. 

Let me know if any queries.

Thanks,
Bala
[12 Feb 2013 10:45] Balasubramanian Kandasamy
Closing the bug, Please re-open the bug if you still have any queries.