Missing dependency in shared RPM

Bug #722404 reported by Robin Bowes
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Triaged
Medium
Ignacio Nin
5.5
Triaged
Medium
Ignacio Nin

Bug Description

I have installed Percona-Server from the rc repo:

Percona-Server-shared-55-5.5.8-beta20.0.46.rhel5
Percona-Server-client-55-5.5.8-beta20.0.46.rhel5
Percona-Server-server-55-5.5.8-beta20.0.46.rhel5
Percona-Server-shared-compat-5.5.8-beta20.0.46.rhel5

I'm trying to install php-mysql from the remi repo but is looking for a dep that is not present in the Percona-Server-shared RPM:

--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: php-mysql

These are the requirements of the php-mysql RPM:
# rpm -qpR php-mysql-5.3.5-1.el5.remi.1.i386.rpm
config(php-mysql) = 5.3.5-1.el5.remi.1
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.3.4)
libc.so.6(GLIBC_2.4)
libcrypt.so.1
libcrypto.so.6
libm.so.6
libmysqlclient.so.16
libmysqlclient.so.16(libmysqlclient_16)
libnsl.so.1
libpthread.so.0
libpthread.so.0(GLIBC_2.0)
libssl.so.6
libz.so.1
php-common = 5.3.5-1.el5.remi.1
php-pdo
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)

This is what the Percona-Server-shared package provides:

# rpm -q --provides Percona-Server-shared-55-5.5.8-beta20.0.46.rhel5.i686
libmysqlclient.so.16
mysql-shared
Percona-Server-shared-55 = 5.5.8-beta20.0.46.rhel5

If I exclude mysql* packages, it tries to pull in an earlier Percona shared package suggesting that had the correct dependency:

# yum --exclude=mysql\* install php-mysql
[snip]
---> Package php-mysql.i386 0:5.3.5-1.el5.remi.1 set to be updated
--> Processing Dependency: php-pdo for package: php-mysql
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16) for package: php-mysql
--> Running transaction check
---> Package Percona-Server-shared-51.i386 0:5.1.52-rel12.3.159.rhel5 set to be updated
---> Package php-pdo.i386 0:5.3.5-1.el5.remi.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================
 Package Arch Version Repository Size
========================================================================================================================================================
Installing:
 php-mysql i386 5.3.5-1.el5.remi.1 remi 147 k
Installing for dependencies:
 Percona-Server-shared-51 i386 5.1.52-rel12.3.159.rhel5 percona-rc 3.5 M
 php-pdo i386 5.3.5-1.el5.remi.1 remi 112 k

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

Total download size: 3.7 M

Can you add a "Provides" to the RPM to fix this?

Thanks!

Changed in percona-server:
importance: Undecided → Medium
assignee: nobody → Ignacio Nin (ignacio-nin)
status: New → Confirmed
milestone: none → 5.5-20.1rc
Revision history for this message
Vadim Tkachenko (vadim-tk) wrote :
Changed in percona-server:
milestone: 5.5-20.1rc → 5.5-20.2stable
Stewart Smith (stewart)
Changed in percona-server:
status: Confirmed → Triaged
milestone: 5.5-20.2stable → none
Revision history for this message
Kemal Hadimli (ney-i) wrote :

CentOS 5.5

Percona-SQL-shared-compat-5.0.92-b23.85.rhel5 (or Percona-Server-shared-compat) still doesn't satisfy dependency for mysql-libs for the php-mysql (x86_64) 5.3.10-2.el5.remi package, and tries to install mysql-libs 5.5.22-1.el5.remi which then conflicts with Percona-Server-server-55-5.5.21-rel25.1.234.rhel5.x86_64.

Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.x86_64 0:5.3.10-2.el5.remi set to be updated
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: php-mysql
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_16)(64bit) for package: php-mysql
--> Running transaction check
---> Package mysql-libs.x86_64 0:5.5.22-1.el5.remi set to be updated
--> Finished Dependency Resolution

...

Transaction Check Error:
  file /etc/my.cnf from install of mysql-libs-5.5.22-1.el5.remi.x86_64 conflicts with file from package Percona-Server-server-55-5.5.21-rel25.1.234.rhel5.x86_64

and so on.

Revision history for this message
Trey Raymond (wraymond) wrote :

centos 6.2, dependency error, can't install dbd lib with percona 5.5 installed:

[root@host /var/lib/mysql]# yum install libdbi-dbd-mysql
Loaded plugins: fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
7 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libdbi-dbd-mysql.x86_64 0:0.8.3-5.1.el6 will be installed
--> Processing Dependency: libmysqlclient.so.16(libmysqlclient_16)(64bit) for package: libdbi-dbd-mysql-0.8.3-5.1.el6.x86_64
--> Processing Dependency: libmysqlclient.so.16()(64bit) for package: libdbi-dbd-mysql-0.8.3-5.1.el6.x86_64
--> Running transaction check
---> Package Percona-Server-shared-51.x86_64 0:5.1.63-rel13.4.443.rhel6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package Arch Version Repository Size
================================================================================
Installing:
 libdbi-dbd-mysql x86_64 0.8.3-5.1.el6 system-base 14 k
Installing for dependencies:
 Percona-Server-shared-51 x86_64 5.1.63-rel13.4.443.rhel6 percona 2.8 M

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

Total size: 2.8 M
Installed size: 8.1 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test

Transaction Check Error:
  file /usr/lib64/libmysqlclient.so from install of Percona-Server-shared-51-5.1.63-rel13.4.443.rhel6.x86_64 conflicts with file from package Percona-Server-shared-55-5.5.23-rel25.3.240.rhel6.x86_64
  file /usr/lib64/libmysqlclient_r.so from install of Percona-Server-shared-51-5.1.63-rel13.4.443.rhel6.x86_64 conflicts with file from package Percona-Server-shared-55-5.5.23-rel25.3.240.rhel6.x86_64

Error Summary
-------------

Revision history for this message
Oleg (ok-k) wrote :

Same problem - cannot install php-mysql (from either remi and atomic repos) with Percona server:

[root@platform ~]# yum install php-mysql
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * atomic: www7.atomicorp.com
 * base: centos-mirror.rbc.ru
 * epel: mirror.xfes.ru
 * extras: centosq4.centos.org
 * updates: centos-mirror.rbc.ru
Reducing Polaz RPM repo for Centos 5 - x86_64 to included packages only
Finished
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.i386 0:5.3.17-10.el5.art set to be updated
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18) for package: php-mysql
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_16) for package: php-mysql
--> Processing Dependency: libmysqlclient.so.18 for package: php-mysql
---> Package php-mysql.x86_64 0:5.3.17-10.el5.art set to be updated
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_18)(64bit) for package: php-mysql
--> Processing Dependency: libmysqlclient.so.18(libmysqlclient_16)(64bit) for package: php-mysql
--> Running transaction check
---> Package mysql-libs.i386 0:5.5.27-11.el5.art set to be updated
---> Package mysql-libs.x86_64 0:5.5.27-11.el5.art set to be updated
--> Finished Dependency Resolution

.....

Transaction Check Error:
  file /etc/my.cnf from install of mysql-libs-5.5.27-11.el5.art.x86_64 conflicts with file from package Percona-Server-server-55-5.5.27-rel28.1.296.rhel5.x86_64
  file /etc/my.cnf from install of mysql-libs-5.5.27-11.el5.art.i386 conflicts with file from package Percona-Server-server-55-5.5.27-rel28.1.296.rhel5.x86_64

Error Summary
-------------

[root@platform ~]# rpm -qa |grep -i percona
Percona-Server-client-55-5.5.27-rel28.1.296.rhel5
Percona-Server-shared-compat-5.5.27-rel28.1.296.rhel5
percona-release-0.0-1
Percona-Server-devel-55-5.5.27-rel28.1.296.rhel5
Percona-Server-shared-55-5.5.27-rel28.1.296.rhel5
Percona-Server-server-55-5.5.27-rel28.1.296.rhel5

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

@Kemal, @Oleg:

The bug which you are being affected by is https://bugs.launchpad.net/percona-server/+bug/908620

The workaround is to remove mysql-libs before installation.

@Trey,

The bug you are being affected by is https://bugs.launchpad.net/percona-server/+bug/1051874

The workaround is to install Percona-Server-shared-compat if possible.

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

Regarding the original issue, it is fixed, however, the issue remains with latest version.

sudo rpm -iv php-mysql-5.3.17-1.el5.remi.x86_64.rpm
warning: php-mysql-5.3.17-1.el5.remi.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
error: Failed dependencies:
        libcrypto.so.6()(64bit) is needed by php-mysql-5.3.17-1.el5.remi.x86_64
        libmysqlclient.so.18(libmysqlclient_16)(64bit) is needed by php-mysql-5.3.17-1.el5.remi.x86_64
        libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by php-mysql-5.3.17-1.el5.remi.x86_64
        libssl.so.6()(64bit) is needed by php-mysql-5.3.17-1.el5.remi.x86_64
        php-pdo = 5.3.17-1.el5.remi is needed by php-mysql-5.3.17-1.el5.remi.x86_64

It has also been covered in lp:1050654 (I will mark one of them as duplicate)

The gist is that

    libmysqlclient.so.18(libmysqlclient_16)
    libmysqlclient.so.18(libmysqlclient_18)

are missing from the provides.

Revision history for this message
Robin Bowes (robinbowes) wrote :

"it is fixed, however, the issue remains"

Do you mean "It is not fixed" ?

Revision history for this message
Raghavendra D Prabhu (raghavendra-prabhu) wrote :

@Robin,

Yes, the dependency on "libmysqlclient.so.16(libmysqlclient_16)" has been resolved as both Percona-Server-shared-compat and Percona-Server-shared-51 provide that. Hence, the reported issue is fixed.

However, if I try to install latest php-mysql from remi repo, it fails because of dependency on libmysqlclient.so.18; which is what I mean by 'fixed, but the core issue remains'.

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.