Percona XtraDB Cluster - HA scalable solution for MySQL

Percona Server 5.5 installation fails on Ubuntu 12.04

Reported by David O'Dwyer on 2013-11-04
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server
Status tracked in 5.6
5.1
Undecided
Unassigned
5.5
High
Unassigned
5.6
Undecided
Unassigned
Percona XtraDB Cluster
Status tracked in Trunk
5.6
High
Unassigned
Trunk
High
Raghavendra D Prabhu

Bug Description

With a standard 12.04 repo set-up I have the addition of:

deb http://repo.percona.com/apt precise main

after a apt-get update I receive the following error whilst installing Percona Server 5.5 .

apt-get -q -y --force-yes install percona-server-server-5.5
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 percona-server-server-5.5 : Depends: percona-server-client-5.5 (>= 1:5.5.34-rel32.0-591.precise) but it is not going to be installed
E: Unable to correct problems, you have held broken packages

I get the following when trying to then install percona-server-client-5.5:

apt-get -q -y --force-yes install percona-server-client-5.5
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 percona-server-client-5.5 : Depends: libmysqlclient18 (>= 1:5.5.34-rel32.0-591.precise)
E: Unable to correct problems, you have held broken packages.

Looking at the repo Packages file it seems the version of libmysqlclient18 which is available (5.5.34-23.7.6-565.precise) does not satisfy the version required (>= 5.5.34-rel32.0-591.precise)

I can confirm there are no other outstanding apt conflicts.
Any assistance on this would be appreciated.

Many thanks,
David

Tags: pkg Edit Tag help

This is because of the following dependency:

a)
Package: percona-server-client-5.5
Architecture: any
Depends: debianutils (>=1.6), libdbi-perl, percona-server-common-5.5 (>= ${source:Version}), libmysqlclient18 (>= ${source:Version}), ${shlib:Depends}, ${misc:Depends}

b)
Package: percona-xtradb-cluster-client-5.5
Architecture: any
Depends: debianutils (>=1.6), libdbi-perl, percona-xtradb-cluster-common-5.5 (>= ${source:Version}), libmysqlclient18 (>= ${source:Version}), ${shlib:Depends}, ${misc:Depends}

and libmysqlclient18 which was pushed during the recent PXC
release clobbered the libmysqlclient18 present from PS.

Since, libmysqlclient18 is essentially the same for both, the
version dependency of it can be removed as following:

=== modified file 'build/debian/control'
--- build/debian/control 2013-10-08 21:55:32 +0000
+++ build/debian/control 2013-11-04 14:42:26 +0000
@@ -24,7 +24,7 @@
 Package: libmysqlclient18-dev
 Architecture: any
 Section: libdevel
-Depends: libmysqlclient18 (= ${binary:Version}), zlib1g-dev, ${misc:Depends}
+Depends: libmysqlclient18, zlib1g-dev, ${misc:Depends}
 Conflicts: libmysqlclient14-dev, libmysqlclient12-dev, libmysqlclient10-dev, libmysqlclient15-dev, libmysqlclient16-dev
 Replaces: libmysqlclient14-dev, libmysqlclient12-dev, libmysqlclient10-dev, libmysqlclient15-dev, libmysqlclient16-dev, libpercona-xtradb-client-dev
 Provides: libmysqlclient-dev
@@ -54,7 +54,7 @@

 Package: percona-server-client-5.5
 Architecture: any
-Depends: debianutils (>=1.6), libdbi-perl, percona-server-common-5.5 (>= ${source:Version}), libmysqlclient18 (>= ${source:Version}), ${shlib:Depends}, ${misc:Depends}
+Depends: debianutils (>=1.6), libdbi-perl, percona-server-common-5.5 (>= ${source:Version}), libmysqlclient18, ${shlib:Depends}, ${misc:Depends}
 Provides: mysql-client, mysql-client-core, mysql-client-5.5, mysql-client-core-5.5, virtual-mysql-client
 Conflicts: mysql-client (<< ${source:Version}), mysql-client-5.0, mysql-client-5.1, mysql-client-core-5.1, mysql-client-5.5, mysql-client-core-5.5, percona-xtradb-client-5.0, percona-server-client-5.1
 Replaces: mysql-client (<< ${source:Version}), mysql-client-5.0, mysql-client-5.1, mysql-client-core-5.1, mysql-client-5.5, mysql-client-core-5.5, percona-xtradb-client-5.0, percona-server-client-5.1

The above will probably require rebuild of

percona-server-client-5.5
percona-xtradb-cluster-client-5.5

David O'Dwyer (launch-f) wrote :

Thanks for the quick response Raghavendra.

For short term, this has been fixed by replacing the libmysqlclient18{,-dev} in repo with PS's ones, this works because

dpkg --compare-versions 5.5.34-rel32.0-591.precise gt 5.5.34-23.7.6-565.precise && echo true
true

and also because libmysqlclient18 is essentially the same in both.

For long term, this requires changes in packaging and should be a release blocker.

tags: added: pkg

PS 5.6 (and PXC 5.6) have this fixed correctly:

Package: percona-server-client-5.6
Architecture: any
Depends: debianutils (>=1.6), libdbi-perl, percona-server-common-5.6 (>= ${source:Version}), libmysqlclient18.1, ${shlib:Depends}, ${misc:Depends}

(ie. they are not dependent on specific version of libmysqlclient18.1
)
Same will need to be ported to 5.5 versions.

This is not required for 5.6 because they already have the fix (for both PS and PXC).

Ported it back to PXC 5.5 for debian:

https://bazaar.launchpad.net/~percona-core/percona-xtradb-cluster/trunk-25/revision/573

===================================

=== modified file 'build/debian/control'
--- build/debian/control 2013-10-15 19:05:05 +0000
+++ build/debian/control 2013-11-12 18:03:37 +0000
@@ -73,7 +73,7 @@

 Package: percona-xtradb-cluster-client-5.5
 Architecture: any
-Depends: debianutils (>=1.6), libdbi-perl, percona-xtradb-cluster-common-5.5 (>= ${source:Version}), libmysqlclient18 (>= ${source:Version}), ${shlib:Depends}, ${misc:Depends}
+Depends: debianutils (>=1.6), libdbi-perl, percona-xtradb-cluster-common-5.5 (>= ${source:Version}), libmysqlclient18, ${shlib:Depends}, ${misc:Depends}
 Provides: mysql-client, mysql-client-core, mysql-client-5.5, mysql-client-core-5.5, virtual-mysql-client
 Conflicts: mysql-client (<< ${source:Version}), mysql-client-5.0, mysql-client-5.1, mysql-client-core-5.1, mysql-client-5.5, mysql-client-core-5.5, percona-xtradb-client-5.0, percona-server-client-5.1, percona-server-client-5.5
 Replaces: mysql-client (<< ${source:Version}), mysql-client-5.0, mysql-client-5.1, mysql-client-core-5.1, mysql-client-5.5, mysql-client-core-5.5, percona-xtradb-client-5.0, percona-server-client-5.1, percona-server-client-5.5

Based on the fix described above and content of builds/debian/control of current Percona Server 5.5:

Package: percona-server-client-5.5
Architecture: any
Depends: debianutils (>=1.6), libdbi-perl, percona-server-common-5.5 (>= ${source:Version}), libmysqlclient18 (>= ${source:Version}), ${shlib:Depends}, ${misc:Depends}

...

I'd say it is still affected.

openxs@ao756:~/bzr/percona-5.5$ bzr version-info
revision-id: <email address hidden>
date: 2013-12-03 07:53:09 +0200
build-date: 2013-12-04 18:28:48 +0200
revno: 601
branch-nick: percona-5.5

Yes, libmysqlclient18 fix is in both PS/PXC for 5.6, for PXC 5.5 it has
been pushed as well, for PS 5.5 it needs to be fixed (discussed with
BAlexey on this). This is because libmysqlclient18 is interchangeable
between PS and PXC, since client library has not wsrep specific changes.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers