Some background: I'm writing a Chef cookbook to set up a LNMP stack for local development. It requires the php-mysql
library for PHP 5.4 (using the php
package). We're using the yum-remi
repository for installing these.
For local development of our web application, we require Percona server installed (5.5) in addition to the client (this issue doesn't seem to exist with 5.6). For testing the recipe responsible just for installing PHP and its modules, we only require the libmysqlclient.so.16, which we get through Percona client. Right now I'm focusing on just getting the PHP recipe to work, but a solution that works when server is installed would be ideal. These get installed from the repo at http://repo.percona.com/centos/6/os/x86_64/ using the Chef-Percona cookbook
The packages that get installed are:
install version 5.5.42-rel37.1.el6 of package Percona-Server-devel-55
install version 5.5.42-rel37.1.el6 of package Percona-Server-client-55
The PHP-mysql is:
yum -d0 -e0 -y install php-mysql-5.4.40-1.el6.remi
That always throws this error:
STDOUT: You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
STDERR: Error: Percona-XtraDB-Cluster-shared-55 conflicts with Percona-Server-shared-55-5.5.42-rel37.1.el6.x86_64
Essentially Percona-XtraDB-Cluster-shared-55
is a dependency of php-mysql
.
If I don't install anything Percona first, I get this error:
STDOUT: ERROR with rpm_check_debug vs depsolve:
libmysqlclient.so.16()(64bit) is needed by postfix-2:2.6.6-6.el6_5.x86_64
libmysqlclient.so.16(libmysqlclient_16)(64bit) is needed by postfix-2:2.6.6-6.el6_5.x86_64
You could try running: rpm -Va --nofiles --nodigest
If I only include the percona::package_repo
(which simply adds the Percona repository to the yum repolist
) and don't install the client, it actually does install php-mysql
, however with the following versions:
yum list installed | grep Percona
Percona-Server-shared-51.x86_64
Percona-Server-shared-56.x86_64
Percona-XtraDB-Cluster-shared-55.x86_64
As I mentioned before, this might be ok in an isolated environment, but another recipe in my LNMP cookbook will be installing Percona server 5.5 on the same environment, and I'm anticipating conflicts with the above if that is the case. I tested this out and it was the case - I got the same Percona-XtraDB-Cluster-shared-55 conflicts with Percona-Server-shared-55-5.5.42-rel37.1.el6.x86_64
error as before.
I've tried a number of possible solutions, including installing Percona-Server-shared-compat
but it always seems to conflict. Any ideas on what I can do to fix it?