So, perl-DBD-MySQL requires libmysqlclient.so.16 which is provided by mysql-libs, Percona-Server-shared-compat and Percona-Server-shared-55.
Now, mysql-libs is out of picture if Percona is installed since it is obsoleted.
That leaves, Percona-Server-shared-55 and Percona-Server-shared-compat.
The candidate in this situation to be installed is Percona-Server-shared-compat (since Percona-Server-shared-51 and Percona-Server-shared-55 have conflicts) but Percona-Server-shared-51 gets installed and causing the issue.
The fix is to remove the duplication between Percona-Server-shared-compat and Percona-Server-shared-51.
It can be done as:
1. Creating a separate Percona-Server-shared-compat for 51 as suggested here - lp:893860 but without libmysqlclient.so.16 (to avoid conflict).
2. Remove Percona-Server-shared-51, and provide a common Percona-Server-shared-compat with libmysqlclient.so.{12,14,15,16}.
This is a bug with Percona-Server and not percona-toolkit actually.
sudo repoquery --provides Percona- Server- shared- 55 Server- shared- 55 = 5.5.27- rel28.1. 296.rhel6 Server- shared- 55(x86- 64) = 5.5.27- rel28.1. 296.rhel6 ent.so. 18()(64bit) /usr/lib64/ mysql/plugin/ libfnv1a_ udf.la) /usr/lib64/ mysql/plugin/ libfnv_ udf.la) /usr/lib64/ mysql/plugin/ libmurmur_ udf.la)
Percona-
Percona-
libmysqlcli
libtool(
libtool(
libtool(
mysql-shared
raghu archie:~ [77]% sudo repoquery --provides Percona- Server- shared- 51 Server- shared- 51 = 5.1.65- rel14.0. 475.rhel6 Server- shared- 51(x86- 64) = 5.1.65- rel14.0. 475.rhel6 XtraDB- shared ent.so. 16()(64bit) ent.so. 16(libmysqlclie nt_16)( 64bit) ent_r.so. 16()(64bit) ent_r.so. 16(libmysqlclie nt_16)( 64bit)
MySQL-shared
Percona-
Percona-
Percona-
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
mysql-libs
mysql-shared
raghu archie:~ [78]% sudo repoquery --provides Percona- Server- shared- compat Server- shared- compat = 5.5.27- rel28.1. 296.rhel6 Server- shared- compat( x86-64) = 5.5.27- rel28.1. 296.rhel6 ent.so. 12()(64bit) ent.so. 14()(64bit) ent.so. 14(libmysqlclie nt_14)( 64bit) ent.so. 15()(64bit) ent.so. 15(libmysqlclie nt_15)( 64bit) ent.so. 16()(64bit) ent.so. 16(libmysqlclie nt_16)( 64bit) ent_r.so. 12()(64bit) ent_r.so. 14()(64bit) ent_r.so. 14(libmysqlclie nt_14)( 64bit) ent_r.so. 15()(64bit) ent_r.so. 15(libmysqlclie nt_15)( 64bit) ent_r.so. 16()(64bit) ent_r.so. 16(libmysqlclie nt_16)( 64bit)
MySQL-shared
Percona-
Percona-
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
mysql-libs
sudo repoquery --disablerepo= percona --provides mysql-libs mysql-libs) = 5.1.61-4.el6 ent.so. 16 ent.so. 16(libmysqlclie nt_16) ent_r.so. 16 ent_r.so. 16(libmysqlclie nt_16) libs(x86- 32) = 5.1.61-4.el6 mysql-libs) = 5.1.61-4.el6 ent.so. 16()(64bit) ent.so. 16(libmysqlclie nt_16)( 64bit) ent_r.so. 16()(64bit) ent_r.so. 16(libmysqlclie nt_16)( 64bit) libs(x86- 64) = 5.1.61-4.el6
config(
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
mysql-libs = 5.1.61-4.el6
mysql-
config(
libmysqlcli
libmysqlcli
libmysqlcli
libmysqlcli
mysql-libs = 5.1.61-4.el6
mysql-
sudo repoquery --requires perl-DBD-MySQL so.6()( 64bit) so.6(GLIBC_ 2.2.5)( 64bit) so.6(GLIBC_ 2.3)(64bit) so.6(GLIBC_ 2.3.4)( 64bit) so.6(GLIBC_ 2.4)(64bit) so.1()( 64bit) so.10() (64bit) so.6()( 64bit) ent.so. 16()(64bit) ent.so. 16(libmysqlclie nt_16)( 64bit) so.1()( 64bit) so.10() (64bit) so.1()( 64bit) :MODULE_ COMPAT_ 5.10.1) DBI::Const: :GetInfoType) DynaLoader)
libc.
libc.
libc.
libc.
libc.
libcrypt.
libcrypto.
libm.
libmysqlcli
libmysqlcli
libnsl.
libssl.
libz.
perl(
perl(Carp)
perl(DBI)
perl(
perl(
perl(strict)
perl(vars)
rtld(GNU_HASH)
So, perl-DBD-MySQL requires libmysqlclient. so.16 which is provided by mysql-libs, Percona- Server- shared- compat and Percona- Server- shared- 55.
Now, mysql-libs is out of picture if Percona is installed since it is obsoleted.
That leaves, Percona- Server- shared- 55 and Percona- Server- shared- compat.
The candidate in this situation to be installed is Percona- Server- shared- compat (since Percona- Server- shared- 51 and Percona- Server- shared- 55 have conflicts) but Percona- Server- shared- 51 gets installed and causing the issue.
The fix is to remove the duplication between Percona- Server- shared- compat and Percona- Server- shared- 51.
It can be done as:
1. Creating a separate Percona- Server- shared- compat for 51 as suggested here - lp:893860 but without libmysqlclient. so.16 (to avoid conflict).
2. Remove Percona- Server- shared- 51, and provide a common Percona- Server- shared- compat with libmysqlclient. so.{12, 14,15,16} .