Background
From time to time I’ve run into an RPM that won’t install via yum. These usually pop up because I’ve mixed packages in from a 3rd party repository, and the 3rd party package has some overlapping files with an already installed RPM.
Problem
Here’s an example that happened to me recently on a Fedora 10 system where I was trying to install some pulseaudio related packages.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | % yum install xmms-pulse xine-lib-pulseaudio Package xmms-pulse-0.9.4-6.fc10.i386 already installed and latest version Resolving Dependencies --> Running transaction check ---> Package xine-lib-pulseaudio.i386 0:1.1.16.3-2.fc10 set to be updated --> Processing Dependency: xine-lib = 1.1.16.3-2.fc10 for package: xine-lib-pulseaudio-1.1.16.3-2.fc10.i386 --> Finished Dependency Resolution xine-lib-pulseaudio-1.1.16.3-2.fc10.i386 from updates has depsolving problems --> Missing Dependency: xine-lib = 1.1.16.3-2.fc10 is needed by package xine-lib-pulseaudio-1.1.16.3-2.fc10.i386 (updates) Error: Missing Dependency: xine-lib = 1.1.16.3-2.fc10 is needed by package xine-lib-pulseaudio-1.1.16.3-2.fc10.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 |
Solution
If you’re confident that this is a “false positive” type of error you can force your way around it like so. First download the RPM using the never mentioned command yumdownloader.
NOTE: yumdownloader is part of the yum-utils package.
1 | % yumdownloader xine-lib-pulseaudio |
Next try to install/upgrade the package.
1 2 3 | % rpm -Uvh --nodeps xine-lib-pulseaudio-1.1.16.3-2.fc10.i386.rpm Preparing... ########################################### [100%] file /usr/lib/xine/plugins/1.26/xineplug_ao_out_pulseaudio.so from install of xine-lib-pulseaudio-1.1.16.3-2.fc10.i386 conflicts with file from package xine-lib-1.1.16.3-18.fc10.i386 |
This is what I would consider a bogus error. For whatever reason, both RPMs share the same file, so let’s just install it already by doing a forced installation of the RPM.
1 2 3 | % rpm -Uvh --force --nodeps xine-lib-pulseaudio-1.1.16.3-2.fc10.i386.rpm Preparing... ########################################### [100%] 1:xine-lib-pulseaudio ########################################### [100%] |
NOTE: For further details regarding my one-liner blog posts, check out my one-liner style guide primer.
