Comment 7 for bug 1269877

Revision history for this message
Jericho Rivera (jericho-rivera) wrote :

Hi,
Sorry for the very late response to this bug.

The problem is the absence of libmysqlclient.so.16 which is required by perl-DBD-MySQL which in turn is also required by some of the tools in the Percona Toolkit package.

Percona Toolkit requires the following perl modules
bash-4.1# repoquery --requires percona-toolkit
perl(DBD::mysql) >= 1.0
perl(DBI) >= 1.13
perl(Digest::MD5)
perl(IO::Socket::SSL)
perl(Time::HiRes)

While perl-DBD-MySQL requires libmysqlclient.so.16
bash-4.1# repoquery --requires perl-DBD-MySQL | grep libmysql
libmysqlclient.so.16()(64bit)
libmysqlclient.so.16(libmysqlclient_16)(64bit)

But Percona-Server-shared-56 (and -shared-55 afaik) provides libmysqlclient.so.18
bash-4.1# repoquery --provides Percona-Server-shared-56 | grep libmysql
libmysqlclient.so.18()(64bit)
libmysqlclient.so.18(libmysqlclient_18)(64bit)

So, installing Percona-Server-shared-51 will provide libmysqlclient.so.16 and thereby resolving the dependency problem.
bash-4.1# repoquery --provides Percona-Server-shared-51 | grep libmysql
libmysqlclient.so.16()(64bit)
libmysqlclient.so.16(libmysqlclient_16)(64bit)
libmysqlclient_r.so.16()(64bit)
libmysqlclient_r.so.16(libmysqlclient_16)(64bit)

As it also will be resolved if you install mysql-libs
bash-4.1# repoquery --provides mysql-libs | grep libmysql
libmysqlclient.so.16
libmysqlclient.so.16(libmysqlclient_16)
libmysqlclient_r.so.16
libmysqlclient_r.so.16(libmysqlclient_16)
libmysqlclient.so.16()(64bit)
libmysqlclient.so.16(libmysqlclient_16)(64bit)
libmysqlclient_r.so.16()(64bit)
libmysqlclient_r.so.16(libmysqlclient_16)(64bit)

PS 5.5 and PS 5.6 are using the same client libraries (libmysqlclient.so.18) if you want to use the old .so.16 libraries you'll need to install Percona-Server-shared-51 or mysql-libs. So until perl-DBD-MySQL changes its client library dependency to .so.18, Percona-Server-shared-51 or mysql-libs will have to be installed for some Percona Toolkit tools to work properly.