Centos – php-xml install complains of dependency php-common but this is already installed (CentOS)

centosdependenciesPHPyum

How do I force php-xml to see the already installed dependency?

sudo yum install php-xml

complains about:

php-common = 5.1.6-34.el5_8

but running yum install php-common

php-common-5.1.6-34.el5_8.i386 already installed


[root@dtsrvishvt2 /]# sudo yum install php-xml
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.manchester.icecolo.com
 * extras: mirrors.manchester.icecolo.com
 * updates: mirrors.manchester.icecolo.com
Reducing CentOS-5 Testing to included packages only
Finished
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-xml.i386 0:5.1.6-34.el5_8 set to be updated
--> Processing Dependency: php-common = 5.1.6-34.el5_8 for package: php-xml
--> Finished Dependency Resolution
php-xml-5.1.6-34.el5_8.i386 from updates has depsolving problems
  --> Missing Dependency: php-common = 5.1.6-34.el5_8 is needed by package php-xml-5.1.6-34.el5_8.i386 (updates)
Error: Missing Dependency: php-common = 5.1.6-34.el5_8 is needed by package php-xml-5.1.6-34.el5_8.i386 (updates)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.


[root@dtsrvishvt2 /]# yum install php-common
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.tudelft.nl
 * extras: mirrors.coreix.net
 * updates: mirrors.coreix.net
Reducing CentOS-5 Testing to included packages only
Finished
Setting up Install Process
Package matching php-common-5.1.6-34.el5_8.i386 already installed. Checking for update.
Nothing to do
[root@dtsrvishvt2 /]#

Update

I have tried the suggested clean-ups and reran the commands. I also ran yum install php-common again, first as it was the dependency then yum install php-common.

[root@dtsrvishvt2 /]# package-cleanup --problems
Setting up yum
Reading local RPM database
Processing all local requires
No problems found
[root@dtsrvishvt2 /]# package-cleanup --dupes
Setting up yum
[root@dtsrvishvt2 /]# rpm -Va --nofiles --nodigest
[root@dtsrvishvt2 /]#

Update 2

Tried yum clean all as @Janne Pikkarainen suggested but still failed (I hadn't tried yum clean all but had tried the other things suggested before that)

[root@dtsrvishvt2 /]# yum clean all
Loaded plugins: fastestmirror
Cleaning up Everything
Cleaning up list of fastest mirrors
[root@dtsrvishvt2 /]# yum install php-xml
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: centos.mirroring.pulsant.co.uk
 * extras: centos.mirroring.pulsant.co.uk
 * updates: centos.mirroring.pulsant.co.uk
addons                                                                             | 1.9 kB     00:00
addons/primary_db                                                                  | 1.1 kB     00:00
base                                                                               | 1.1 kB     00:00
base/primary                                                                       | 967 kB     00:00
base                                                                                            2725/2725
c5-testing                                                                         | 1.9 kB     00:00
c5-testing/primary_db                                                              | 1.5 MB     00:02
extras                                                                             | 2.1 kB     00:00
extras/primary_db                                                                  | 169 kB     00:00
updates                                                                            | 1.9 kB     00:00
updates/primary_db                                                                 | 345 kB     00:00
Reducing CentOS-5 Testing to included packages only
Finished
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-xml.i386 0:5.1.6-34.el5_8 set to be updated
--> Processing Dependency: php-common = 5.1.6-34.el5_8 for package: php-xml
--> Finished Dependency Resolution
php-xml-5.1.6-34.el5_8.i386 from updates has depsolving problems
  --> Missing Dependency: php-common = 5.1.6-34.el5_8 is needed by package php-xml-5.1.6-34.el5_8.i386 (updates)
Error: Missing Dependency: php-common = 5.1.6-34.el5_8 is needed by package php-xml-5.1.6-34.el5_8.i386 (updates)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
[root@dtsrvishvt2 /]#

Then tried re-running the commands, first yum install php-xml – failed, perhaps the dependency first then? so, yum install php-common – already installed as we've seen before, so again yum install php-xml – still failed :-

[root@dtsrvishvt2 /]# yum install php-xml
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirroring.pulsant.co.uk
 * extras: centos.mirroring.pulsant.co.uk
 * updates: centos.mirroring.pulsant.co.uk
Reducing CentOS-5 Testing to included packages only
Finished
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-xml.i386 0:5.1.6-34.el5_8 set to be updated
--> Processing Dependency: php-common = 5.1.6-34.el5_8 for package: php-xml
--> Finished Dependency Resolution
php-xml-5.1.6-34.el5_8.i386 from updates has depsolving problems
  --> Missing Dependency: php-common = 5.1.6-34.el5_8 is needed by package php-xml-5.1.6-34.el5_8.i386 (updates)
Error: Missing Dependency: php-common = 5.1.6-34.el5_8 is needed by package php-xml-5.1.6-34.el5_8.i386 (updates)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
[root@dtsrvishvt2 /]# yum install php-common
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirroring.pulsant.co.uk
 * extras: centos.mirroring.pulsant.co.uk
 * updates: centos.mirroring.pulsant.co.uk
Reducing CentOS-5 Testing to included packages only
Finished
Setting up Install Process
Package matching php-common-5.1.6-34.el5_8.i386 already installed. Checking for update.
Nothing to do
[root@dtsrvishvt2 /]# yum install php-xml
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.mirroring.pulsant.co.uk
 * extras: centos.mirroring.pulsant.co.uk
 * updates: centos.mirroring.pulsant.co.uk
Reducing CentOS-5 Testing to included packages only
Finished
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-xml.i386 0:5.1.6-34.el5_8 set to be updated
--> Processing Dependency: php-common = 5.1.6-34.el5_8 for package: php-xml
--> Finished Dependency Resolution
php-xml-5.1.6-34.el5_8.i386 from updates has depsolving problems
  --> Missing Dependency: php-common = 5.1.6-34.el5_8 is needed by package php-xml-5.1.6-34.el5_8.i386 (updates)
Error: Missing Dependency: php-common = 5.1.6-34.el5_8 is needed by package php-xml-5.1.6-34.el5_8.i386 (updates)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
[root@dtsrvishvt2 /]#

Update 3

It would appear that the version I have of php-common-5.2.10-1.el5.centos is newer than the one being asked for as a dependency of php-xml, php-common = 5.1.6-34.el5_8

[root@dtsrvishvt2 /]# rpm -qa |grep php
php-ldap-5.2.10-1.el5.centos
php-common-5.2.10-1.el5.centos
php-5.2.10-1.el5.centos
php-mcrypt-5.2.9-2.el5.centos.3
php-pdo-5.2.10-1.el5.centos
php-cli-5.2.10-1.el5.centos
php-mysql-5.2.10-1.el5.centos
[root@dtsrvishvt2 /]#

So how would I force php-xml to use the later verion I already have?

(Spawned off this question and asked separately here: How to force CentOS yum to use a later version of a package dependency already installed (php-common as a dependency of php-xml) )

Best Answer

Did you try the commands yum asked you to run to fix the situation?

package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest

Try those and after that see if you can install php-xml.

EDIT: Just for kicks, run yum clean all and after that try to reinstall php-xml.