Solved

Yum dependency problem with php under fedora

Posted on 2006-07-19
9
768 Views
Last Modified: 2013-12-06
when i try to do:
yum update yum

i get the following errors:

Error: missing dep: php for pkg php-pear
Error: missing dep: php for pkg php-domxml
Error: missing dep: httpd-suexec for pkg psa

i find this odd as I have tried reinstalling the rpms for those packages and they are all  installed

I am on FC3 but I upgraded the core to FC5 altho most of the packages are still FC3.

I also have plesk installed.

How can I resolve this dependency hell?
0
Comment
Question by:adamjimenez
  • 5
  • 4
9 Comments
 
LVL 22

Expert Comment

by:pjedmond
ID: 17137781
Plesk has it's own versions of most things, and if you decide to use Plesk, then you have to live by the Plesk updates.

Also php, php-pear, and php-domxml are a matching set:

php-pear-5.0.4-10.5
php-xml-5.0.4-10.5
php-5.0.4-10.5

which is tied in to the following rpms that are also used by Plesk:

php-imap-5.0.4-10.5
psa-php5-configurator-1.0.0-fc4.build80060331.13
php-5.0.4-10.5
php-mbstring-5.0.4-10.5
php-pear-5.0.4-10.5
php-mysql-5.0.4-10.5
php-gd-5.0.4-10.5
php-xml-5.0.4-10.5

This is from  a working Plesk 8 FC5 setup (although FC4 appears in the names of 2 of the packages)

Therefore you need to upgrade *ALL* of the above rpms together!..PLUS bear in mind the psa pkg:

rpm -qa | grep psa

to see how pervasive it is!

The best bet that I use when I reach this type of 'impasse' is to stick ALL of the rpms that I wish to upgrade to into one folder, cd into that folder. and type:

rpm -ivh *.rpm

I then keep adding more rpms to the folder until it works!

Messy, but it's solved this type of problem for me before. Your main problem is going to be the Plesk aspect - you may end up having to upgrade:(

(   (()
(`-' _\
 ''  ''





 
0
 

Author Comment

by:adamjimenez
ID: 17138086
the reason i am trying to do this is so that i can upgrade plesk from 7.5.4 to plesk 8

but when i do the plesk update i get the error:
ERROR: Impossible do installation while package rpm-python-4.3.2-21.i386 is installed in system

so i figured that i needed to update the system before i could update plesk
0
 
LVL 22

Expert Comment

by:pjedmond
ID: 17138233
can you:

rpm -e rpm-python

If so, then retry the Plesk update. If not, please post output.

(   (()
(`-' _\
 ''  ''
0
 

Author Comment

by:adamjimenez
ID: 17138313
error: Failed dependencies:
        rpm-python is needed by (installed) yum-2.1.11-3.noarch

i could do 'yum remove python'

isn't it a fundamental system component tho?
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 22

Expert Comment

by:pjedmond
ID: 17156298
You've got to be a littel careful here as removing python stops yum working correctly, and then you have to do all the work with rpm until you repair it.

I'm assuming that the Plesk update comes as an rpm?

Stick that rpm in a directory, and then run the command:

rpm -Uvh *.rpm

You will get dependency issues. Add the appropriate rpms to the directory, and keep repeating. This will take some time, and may require as many as 20 rpms. (My update took 18!)

Let us know how it goes.

(   (()
(`-' _\
 ''  ''
0
 

Author Comment

by:adamjimenez
ID: 17157300
Thanks for getting back to me.

Plesk comes with rpms all over the place. I'm trying to use the command line plesk updater.

Its saying:

ERROR: Impossible do installation while package rpm-build-4.3.2-21.i386 is installed in system
ERROR: Installation failed

If i remove rpm-build will i still be able to install / remove rpms?

My fear is that I will remove it and it will complain about something else.
0
 

Author Comment

by:adamjimenez
ID: 17157381
i went for it and now its complaining about rpm-4.3.2-21.i386!

Is there any way back if I remove it?
0
 
LVL 22

Accepted Solution

by:
pjedmond earned 500 total points
ID: 17157546
If you remove it, you cannot use rpm to reinstall it.......So...What we do is create a copy of the rpm;)

rpm -ql rpm

gives you a list of all the files in the rpm that you are about to remove...so you need a copy of:
/bin/rpm
/usr/bin/gendiff
/usr/bin/rpm*
/usr/lib/rpm
/var/lib/rpm
/var/spool/repackage.

Note - we are getting into non-recommended processes here - but it does work:)
Once you have copied the above, you can:

/copy/of/rpm -e rpm

to remove rpm.

In order to reinstall the rpm.xx.yy.zz rpm, you need to copy all of the libs back, and:

/copy/of/rpm -Uvh rpm

As a backup, you could install an src.rpm of rpm:

ftp://jbj.org/pub/i386-linux/SRPMS/rpm-4.4.7-0.13.src.rpm

so that at least you can ./configure and make an rpm binary in order to install the rpm rpm. (What a mouthfull!).


I agree - plesk is a pain;)

0
 

Author Comment

by:adamjimenez
ID: 17159287
u can guess what happened next!

plesk went further thru the install process, downloaded all the rpms and of course couldnt install them!

i reinstalled rpm from the backup.

and then sussed the problem.

the problems were all due to my botched upgrade of fedora

i edited /etc/redhat-release and changed the FC4 to FC3.

The plesk install then worked fine!

Thanks for your help and persistance.

Altho it was a very simple fix in the end, your help has taught me a lot about rpms.
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Introduction We as admins face situation where we need to redirect websites to another. This may be required as a part of an upgrade keeping the old URL but website should be served from new URL. This document would brief you on different ways ca…
If you don't know how to downgrade, my instructions below should be helpful.
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now