Description of problem: I could not install perl-Test-Simple-0.62-38.fc8.x86_64 on my x86_64 box by usin g 'yum install perl-Test-Simple.x86_64' because yum added a dependency on perl.i386, which conflicted with the already installed perl.x86_64. However manually downloading the RPM and entering 'yum localinstall perl-Test-Simple-0.62-38.fc8.x86_64.rpm' did work. Version-Release number of selected component (if applicable): yum-3.2.8-2.fc8.noarch How reproducible: On my system, everytime. Steps to Reproduce/Actual results (copy and paste of session): perl-Test-Simple: yum install vs yum localinstall [stijn@pclin166] <~> uname -m x86_64 [stijn@pclin166] <~> sudo yum install perl-Test-Simple.x86_64 Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package perl-Test-Simple.x86_64 0:0.62-36.fc8 set to be updated --> Processing Dependency: perl = 4:5.8.8-36.fc8 for package: perl-Test-Simple --> Running transaction check ---> Package perl.i386 4:5.8.8-36.fc8 set to be updated --> Processing Dependency: libperl.so for package: perl --> Processing Dependency: libdb-4.6.so for package: perl --> Processing Dependency: libgdbm.so.2 for package: perl --> Processing Dependency: perl-libs = 4:5.8.8-36.fc8 for package: perl --> Running transaction check ---> Package gdbm.i386 0:1.8.0-27.fc7 set to be updated ---> Package perl-libs.i386 4:5.8.8-36.fc8 set to be updated ---> Package db4.i386 0:4.6.21-1.fc8 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: perl-Test-Simple x86_64 0.62-36.fc8 updates 110 k Installing for dependencies: db4 i386 4.6.21-1.fc8 fedora 586 k gdbm i386 1.8.0-27.fc7 fedora 27 k perl i386 4:5.8.8-36.fc8 updates 12 M perl-libs i386 4:5.8.8-36.fc8 updates 568 k Transaction Summary ============================================================================= Install 5 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 13 M Is this ok [y/N]: n Exiting on user Command Complete! [stijn@pclin166] <~> yumdownloader perl-Test-Simple perl-Test-Simple-0.62-38. 100% |=========================| 112 kB 00:00 [stijn@pclin166] <~> sudo yum localinstall perl-Test-Simple-0.62-38.fc8.x86_64.rpm Setting up Local Package Process Examining perl-Test-Simple-0.62-38.fc8.x86_64.rpm: perl-Test-Simple - 0.62-38.fc8.x86_64 Marking perl-Test-Simple-0.62-38.fc8.x86_64.rpm to be installed Resolving Dependencies --> Running transaction check ---> Package perl-Test-Simple.x86_64 0:0.62-38.fc8 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: perl-Test-Simple x86_64 0.62-38.fc8 perl-Test-Simple-0.62-38.fc8.x86_64.rpm 167 k Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 167 k Is this ok [y/N]: n Exiting on user Command Complete!
Created attachment 301622 [details] output of yum -d9 install perl-Test-Simple.x86_64 As requested by f13 on IRC, here's a complete yum -d9 log of the 'yum install perl-Test-Simple.x86_64' command. In particular yum seems to think that it needs to add both perl.x86_64 and perl.i386.
Did you notice that the perl-Test-Simple version from your two tests are different? Is it possible the dep-set changed in -38 from -36?
Err, no I did not see that, good catch. So for the perl-Test-Simple -36 package, yum really wants to find the exact corresponding perl version (4:5.8.8-36.fc8). This means that the currently installed perl version does not suffice (4:5.8.8-38.fc8), and in turn yum goes off to find another match -- which it finds in the i386 version, therefore it wants to install that one. 2 questions left for me: - why does yumdownloader find a newer version than yum ? - is it desired behaviour to install an i386 dependency for an x86_64 package ?
yumdownloader, if run as a user, grabs a new version of the metadata which often means a different mirror - sometimes one that is more current and it's not thast installing an i386 is 'desired' necessarily but it is sufficient and when it has no other choice that's what yum goes with.