RPM packages for 5.6 and 5.7 need "shared-compat" package

Bug #1199534 reported by Keith Murphy
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Invalid
High
Unassigned
5.1
Invalid
Undecided
Unassigned
5.5
Invalid
Undecided
Unassigned
5.6
New
High
Unassigned

Bug Description

there isn't a Percona-Server-shared-compat package available with the 5.6 downloads. Previously, with the 5.1 and 5.5 series, these were available. This creates issues with other packages that are looking for the older libraries. For example:

** Found 4 pre-existing rpmdb problem(s), 'yum check' output follows:
cherokee-1.2.103-1.el6.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
cherokee-1.2.103-1.el6.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
2:postfix-2.6.6-2.2.el6_1.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)

Here are the libs installed with 5.6:

root@li315-85 /]# find . -name 'libmysql*'
./usr/lib64/libmysqlclient.so
./usr/lib64/libmysqlclient.so.18
./usr/lib64/libmysqlclient_r.so
./usr/lib64/libmysqlclient.so.18.0.0
./usr/lib64/libmysqlclient_r.so.18
./usr/lib64/libmysqlclient_r.so.18.0.0
[root@li315-85 /]#

and the packages:

[root@li315-85 /]# rpm -qa | grep -i percona
Percona-Server-server-56-5.6.12-rc60.4.393.rhel6.x86_64
Percona-Server-client-56-5.6.12-rc60.4.393.rhel6.x86_64
Percona-Server-shared-56-5.6.12-rc60.4.393.rhel6.x86_64
[root@li315-85 /]#

This appears to be an issue with all version of 5.6 rpms including both x64 and 386 releases.

Thanks!

keith

Tags: pkg 56qual
tags: added: pkg
Revision history for this message
Nilnandan Joshi (nilnandan-joshi) wrote :
Download full text (3.8 KiB)

Reproduced it by Installing 5.6.12 from Percona repository on CentOS 6.4

[root@dhcppc4 ~]# yum install Percona-Server-server-56 Percona-Server-client-56
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.aol.in
 * epel: epel.mirror.net.in
 * extras: centos.aol.in
 * updates: centos.aol.in
Setting up Install Process
Resolving Dependencies

...

--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================
 Package Arch Version Repository Size
===============================================================================================================================================
Installing:
 Percona-Server-client-56 x86_64 5.6.12-rc60.4.393.rhel6 percona 6.5 M
 Percona-Server-server-56 x86_64 5.6.12-rc60.4.393.rhel6 percona 18 M
 Percona-Server-shared-56 x86_64 5.6.12-rc60.4.393.rhel6 percona 695 k
     replacing mysql-libs.x86_64 5.5.31-1.el6.remi

Transaction Summary
===============================================================================================================================================
Install 3 Package(s)

Total download size: 25 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): Percona-Server-client-56-5.6.12-rc60.4.393.rhel6.x86_64.rpm | 6.5 MB 00:32
(2/3): Percona-Server-server-56-5.6.12-rc60.4.393.rhel6.x86_64.rpm | 18 MB 02:02
(3/3): Percona-Server-shared-56-5.6.12-rc60.4.393.rhel6.x86_64.rpm | 695 kB 00:03
-----------------------------------------------------------------------------------------------------------------------------------------------
Total 158 kB/s | 25 MB 02:41
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
  Installing : Percona-Server-shared-56-5.6.12-rc60.4.393.rhel6.x86_64 1/4
  Installing : Percona-Server-client-56-5.6.12-rc60.4.393.rhel6.x86_64 2/4
  Installing : Percona-Server-server-56-5.6.12-rc60.4.393.rhel6.x86_64 3/4

...

Installed:
  Percona-Server-client-56.x86_64 0:5.6.12-rc60.4.393.rhel6 Percona-Server-server-56.x86_64 0:5.6.12-rc60.4.393.rhel6
  Percona-Server-shared-56.x86_64 0:5.6.12-rc60.4.393.rhel6

Replaced:
  mysql-libs.x86_64 0:5.5.31-1.el6.rem...

Read more...

Revision history for this message
Ignacio Nin (ignacio-nin) wrote :

Keith,

Since Percona Server 5.6 and Percona Server 5.5 use the same version of client libraries (libmysqlclient.so.18), we're using the same set of packages to provide compatibility at the moment. So please install Percona-Server-shared-compat-55 for using the older than .so.16 libraries. You can find this either at the repository, in which case these should be installed automatically in the best way possible, or in our downloads web under PS-5.5.

Currently we're not planning to release a dedicated -56 package for shared-compat since this would be an additional complication, but this may change in the future as 5.5 and 5.6 diverge.

Changed in percona-server:
status: Confirmed → Won't Fix
assignee: nobody → Ignacio Nin (ignacio-nin)
Revision history for this message
Alexey Kopytov (akopytov) wrote :

So 5.5 and 5.6 have diverged with 5.6.13:

"The C API libmysqlclient shared-library .so files now have version 18.1.0 (up from version 18.0.0 used in MySQL 5.5). (Bug #16809055)".

Which necessitates a 5.6 shared-compat package.

tags: added: 56qual
Revision history for this message
monty solomon (monty+launchpad) wrote :

Not having all of the RPM files at the same version makes it difficult to mange many servers using puppet.

Revision history for this message
Tomislav Plavcic (tplavcic) wrote :

I think this can be closed (as Laurynas noted) because libmysqlclient was renamed to libperconaserverclient in the new packages so there's no conflict.
Tried to install PS5.6 and postfix (and the other way around) on centos and had no problems with dependencies.

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

Closing the bug. To the reporter and everybody affected: please see if upgrade to 5.6.16-64.0, about to be released, solves your issues and please re-open this bug or file new bugs as necessary. Thanks!

Revision history for this message
monty solomon (monty+launchpad) wrote :

The Percona-Server-shared-compat package was removed from the repo.

This change has broken my puppet environment.

Revision history for this message
monty solomon (monty+launchpad) wrote :

Percona 5.6 and 5.7 are missing the needed libraries.

MySQL-python-1.2.3-0.3.c1.1.el6.x86_64 has missing requires of libmysqlclient_r.so.16()(64bit)
MySQL-python-1.2.3-0.3.c1.1.el6.x86_64 has missing requires of libmysqlclient_r.so.16(libmysqlclient_16)(64bit)
collectd-mysql-5.5.1.sfx0-1.el6.x86_64 has missing requires of libmysqlclient_r.so.16()(64bit)
collectd-mysql-5.5.1.sfx0-1.el6.x86_64 has missing requires of libmysqlclient_r.so.16(libmysqlclient_16)(64bit)
perl-DBD-MySQL-4.013-3.el6.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
perl-DBD-MySQL-4.013-3.el6.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
2:postfix-2.6.6-6.el6_7.1.x86_64 has missing requires of libmysqlclient.so.16()(64bit)
2:postfix-2.6.6-6.el6_7.1.x86_64 has missing requires of libmysqlclient.so.16(libmysqlclient_16)(64bit)
2:postfix-2.6.6-6.el6_7.1.x86_64 has missing requires of mysql-libs

The upstream mysql-community-libs-compat-5.7.11-1.el6 contains the appropriate libraries but they are not available in the Percona Server 5.7 release:

# rpm -ql mysql-community-libs-compat
/etc/ld.so.conf.d/mysql-x86_64.conf
/usr/lib64/mysql
/usr/lib64/mysql/libmysqlclient.so.16
/usr/lib64/mysql/libmysqlclient.so.16.0.0
/usr/lib64/mysql/libmysqlclient_r.so.16
/usr/lib64/mysql/libmysqlclient_r.so.16.0.0
/usr/share/doc/mysql-community-libs-compat-5.7.11
/usr/share/doc/mysql-community-libs-compat-5.7.11/COPYING
/usr/share/doc/mysql-community-libs-compat-5.7.11/README

Linux purple-dust 3.18.26-83.el6.x86_64 #1 SMP Mon Jan 25 18:39:22 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
CentOS release 6.7 (Final)

Revision history for this message
monty solomon (monty+launchpad) wrote :

The upstream mysql-community-libs-5.7.11-1.el6 installs libmysqlclient.so.20 but there is no libperconaserverclient.so.20.

# rpm -ql mysql-community-libs
/etc/ld.so.conf.d/mysql-x86_64.conf
/usr/lib64/mysql
/usr/lib64/mysql/libmysqlclient.so.20
/usr/lib64/mysql/libmysqlclient.so.20.2.0
/usr/share/doc/mysql-community-libs-5.7.11
/usr/share/doc/mysql-community-libs-5.7.11/COPYING
/usr/share/doc/mysql-community-libs-5.7.11/README

The Client Library, Part 2: The Version Number
http://mysqlserverteam.com/the-client-library-part-2-the-version-number/

The client library — libmysqlclient — is part of the same source code repository as the server. It comes both as a dynamic link library (.so), also called a shared library, and as a static link library (.a). During the 5.7 development cycle, we’ve made several improvements to the library, which has resulted in a bump from ABI version 18 to version 20.

summary: - RPM packages for 5.6 need "shared-compat" package
+ RPM packages for 5.6 and 5.7 need "shared-compat" package
Revision history for this message
monty solomon (monty+launchpad) wrote :

The bug should be updated to reflect that it affects 5.7.

Revision history for this message
monty solomon (monty+launchpad) wrote :

Upstream made changes to the RPM scripts/configuration in 5.7.14 to facilitate the install of multiple client library versions. Please include the changes in your release of 5.7.14.

https://bugs.mysql.com/bug.php?id=81384

Revision history for this message
monty solomon (monty+launchpad) wrote :

Any updates?

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-686

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

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.