I've just installed Fedora 9 on a machine, and am doing the post-install yum updates. The first one ran fine and loaded a few packages. Now I'm into the serious update -- over 500 updates -- and it's failing because of some missing dependencies involving Perl. I could post the entire yum output, but the problem is due to its wanting to load one version of perl -- ---> Package perl-version.i386 3:0.74-38.fc9 set to be updated while a bunch of Perl packages are demanding an earlier version, and ultimately dying like so: --> Finished Dependency Resolution 1:perl-Pod-Escapes-1.04-20.fc9.i386 from installed has depsolving problems --> Missing Dependency: perl = 4:5.10.0-20.fc9 is needed by package 1:perl-Pod-Escapes-1.04-20.fc9.i386 (installed) Error: Missing Dependency: perl = 4:5.10.0-20.fc9 is needed by package 1:perl-Pod-Escapes-1.04-20.fc9.i386 (installed) Any advice out there? I've tried other common suggestions for past occurrences of this sort of thing, like yum clean all, --skip-broken, --exclude=perl (I may not have these exactly right here, but you probably know what I mean), and none have worked. I've also tried removing perl-Pod-Escapes via yum, but that seems to want to take out most of my Fedora installation along with it. yum update *perl* produces the same error. Thoughts?
Okay, this one is weird. perl-Pod-Escapes is a subpackage of the main perl package. It's definitely built and in the fedora 9 updates repository. Can you try: yum clean all yum update perl perl-Pod-Escapes and let me know what it says?
The result: [root@linux4 jmiller]# yum clean all Loaded plugins: refresh-packagekit Cleaning up Everything [root@linux4 jmiller]# yum update perl perl-Pod-Escapes Loaded plugins: refresh-packagekit updates-newkey | 2.3 kB 00:00 primary.sqlite.bz2 | 3.2 MB 00:11 fedora | 2.4 kB 00:00 primary.sqlite.bz2 | 6.1 MB 00:20 updates | 2.6 kB 00:00 primary.sqlite.bz2 | 9.1 kB 00:00 Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package perl.i386 4:5.10.0-38.fc9 set to be updated --> Processing Dependency: perl-libs = 4:5.10.0-38.fc9 for package: perl --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-ExtUtils-ParseXS --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-version --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-IO-Compress-Base --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-devel --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-Pod-Simple --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-IO-Compress-Zlib --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-ExtUtils-MakeMaker --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-Test-Harness --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-Compress-Raw-Zlib --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-Module-Pluggable --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-IO-Zlib --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-Archive-Tar --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-Pod-Escapes --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-Compress-Zlib --> Running transaction check ---> Package perl-version.i386 3:0.74-38.fc9 set to be updated ---> Package perl-Compress-Raw-Zlib.i386 0:2.008-38.fc9 set to be updated ---> Package perl-IO-Compress-Zlib.i386 0:2.008-38.fc9 set to be updated ---> Package perl-IO-Compress-Base.i386 0:2.008-38.fc9 set to be updated ---> Package perl-Module-Pluggable.i386 1:3.60-38.fc9 set to be updated --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-Pod-Escapes ---> Package perl-IO-Zlib.i386 1:1.07-38.fc9 set to be updated ---> Package perl-Test-Harness.i386 0:2.64-38.fc9 set to be updated ---> Package perl-Compress-Zlib.i386 0:2.008-38.fc9 set to be updated ---> Package perl-ExtUtils-ParseXS.i386 1:2.18-38.fc9 set to be updated ---> Package perl-devel.i386 4:5.10.0-38.fc9 set to be updated ---> Package perl-Pod-Simple.i386 1:3.07-38.fc9 set to be updated ---> Package perl-libs.i386 4:5.10.0-38.fc9 set to be updated ---> Package perl-ExtUtils-MakeMaker.i386 0:6.36-38.fc9 set to be updated ---> Package perl-Archive-Tar.i386 0:1.38-38.fc9 set to be updated --> Finished Dependency Resolution 1:perl-Pod-Escapes-1.04-20.fc9.i386 from installed has depsolving problems --> Missing Dependency: perl = 4:5.10.0-20.fc9 is needed by package 1:perl-Pod-Escapes-1.04-20.fc9.i386 (installed) Error: Missing Dependency: perl = 4:5.10.0-20.fc9 is needed by package 1:perl-Pod-Escapes-1.04-20.fc9.i386 (installed) [root@linux4 jmiller]#
I'm going to do a fresh install of Fedora 9 i386 today to try to reproduce this.
I cannot reproduce this on a fresh Fedora 9 i386 install. I did the install (not an upgrade from any previous Fedora release), ran yum update once to get moved to the new key (and the new repo for updates-newkey), then ran: yum update perl perl-Pod-Escapes [root@f9-i386 ~]# yum update perl perl-Pod-Escapes Loaded plugins: refresh-packagekit Existing lock /var/run/yum.pid: another copy is running as pid 2691. Another app is currently holding the yum lock; waiting for it to exit... Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package perl.i386 4:5.10.0-38.fc9 set to be updated --> Processing Dependency: perl-libs = 4:5.10.0-38.fc9 for package: perl --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-Pod-Simple --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-version --> Processing Dependency: perl = 4:5.10.0-20.fc9 for package: perl-Module-Pluggable ---> Package perl-Pod-Escapes.i386 1:1.04-38.fc9 set to be updated --> Running transaction check ---> Package perl-Module-Pluggable.i386 1:3.60-38.fc9 set to be updated ---> Package perl-libs.i386 4:5.10.0-38.fc9 set to be updated ---> Package perl-version.i386 3:0.74-38.fc9 set to be updated ---> Package perl-Pod-Simple.i386 1:3.07-38.fc9 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Updating: perl i386 4:5.10.0-38.fc9 updates-newkey 14 M perl-Module-Pluggable i386 1:3.60-38.fc9 updates-newkey 25 k perl-Pod-Escapes i386 1:1.04-38.fc9 updates-newkey 18 k perl-Pod-Simple i386 1:3.07-38.fc9 updates-newkey 184 k perl-libs i386 4:5.10.0-38.fc9 updates-newkey 900 k perl-version i386 3:0.74-38.fc9 updates-newkey 28 k Transaction Summary ================================================================================ Install 0 Package(s) Update 6 Package(s) Remove 0 Package(s) Total download size: 15 M Is this ok [y/N]: So, the question is, what is different between your system and mine? Did you upgrade from an older Fedora release when you did the install? Do you have the latest yum installed (yum update yum)?
Dunno. I had done this install onto a completely empty disk. I had done a 'yum update yum' after the initial install, but I just did it again; it had no effect -- [root@linux4 ~]# yum update yum Loaded plugins: refresh-packagekit updates-newkey | 2.3 kB 00:00 fedora | 2.4 kB 00:00 updates | 2.6 kB 00:00 Setting up Update Process No Packages marked for Update -- and the attempt to update perl and perl-Pod-Escapes failed again, as before. I don't recall doing anything out of the ordinary during the install; I did some picking and choosing of packages during the configuration process -- the same as on two other F9 installations that ran without problems -- but didn't do anything special about perl. I guess I can wipe the disk and try again, but, is there any way I can hack my way around this to get a working installation As noted before, I've tried removing perl-Pod-Escapes, but that wanted to remove a huge hunk of my Fedora installation. Thoughts? Thanks much, Jim
Well, rpm -e perl-Pod-Escapes --nodeps should get it out, then yum install perl-Pod-Escapes should trigger the perl update at the same time...
Hmm... [root@linux4 ~]# rpm -e perl-Pod-Escapes --nodeps error: "perl-Pod-Escapes" specifies multiple packages Are we getting somewhere?? For what it's worth... [root@linux4 ~]# rpm -ql perl-Pod-Escapes /usr/lib/perl5/5.10.0/Pod/Escapes.pm /usr/share/man/man3/Pod::Escapes.3pm.gz /usr/lib/perl5/5.10.0/Pod/Escapes.pm /usr/share/man/man3/Pod::Escapes.3pm.gz
Okay, this is interesting. rpm -q perl-Pod-Escapes ? After that, just run: rpm -e perl-Pod-Escapes --allmatches --nodeps to get rid of them all.
Btw, my best guess is that you had a yum transaction fail before cleaning up.... thus, you got a newer perl-Pod-Escapes but the old one wasn't removed.
Victory! All is stable here. I don't know if this has helped the Big Picture to any extent, but thanks very much for your help in getting my installation working! Best regards, Jim
Well, since I can't reproduce this at all, I'm going to close this out. Again, my best guess is that a yum transaction failed in midstream for you, which is why you had multiple perl-Pod-Escapes packages installed at the same time.
It could be rpm problem as you mentioned. I've asked rpm guys to look at it, if they are interested.
(In reply to comment #12) > It could be rpm problem as you mentioned. I've asked rpm guys to look at it, if > they are interested. I really don't think it is an rpm problem. rpm will permit you to have two versions of the same package installed at the same time, which is what happens during a yum update: yum update stages: 1. download new packages 2. check dependencies 3. test run 4. install new packages 5. remove old packages Now, if the yum transaction dies or goes away between 4 and 5, you can end up with multiple versions of the same package installed. There is a "yum-complete-transaction" tool that should resolve such failures, but it isn't inherently a bug in rpm.