English

So I am trying to install some 32bit libraries on my 64bit fedora installation for development purposes, but some of the packages exists only as older versions in 32bit than my installed 64bit's. So I tried downgrading the installed 64bit packages to match the 32bit, but ran into other conflicts due to a lot of other packages needing those exact versions. I have not been using Fedora since FC4, so I am kind of rusty in the whole RPM department. Ubuntu's and Debians package system works a little differently, so if anyone could tell me how to get around this problem?

[root@spz-desktop daniel]# yum downgrade nss-softokn-freebl.x86_64
Resolving Dependencies
--> Running transaction check
---> Package nss-softokn-freebl.x86_64 0:3.15.2-2.fc20 will be a downgrade
---> Package nss-softokn-freebl.x86_64 0:3.15.4-1.fc20 will be erased
--> Finished Dependency Resolution
Error: Package: nss-softokn-3.15.4-1.fc20.x86_64 (installed)
Requires: nss-softokn-freebl(x86-64) >= 3.15.4
Installed: nss-softokn-freebl-3.15.2-2.fc20.x86_64 (@koji-override-0/$releasever) nss-softokn-freebl(x86-64) = 3.15.2-2.fc20 Removing: nss-softokn-freebl-3.15.4-1.fc20.x86_64 (installed) nss-softokn-freebl(x86-64) = 3.15.4-1.fc20 Downgraded By: nss-softokn-freebl-3.15.2-2.fc20.x86_64 (fedora) nss-softokn-freebl(x86-64) = 3.15.2-2.fc20 You could try using --skip-broken to work around the problem ** Found 212 pre-existing rpmdb problem(s), 'yum check' output follows: 1:NetworkManager-glib-0.9.9.0-31.git20131003.fc20.x86_64 is a duplicate with 1:NetworkManager-glib-0.9.9.0-20.git20131003.fc20.x86_64 ..... [TRIMMED DOWN BY AUTHOR] .....  edit retag close merge delete Comments please use fpaste ( 2014-02-28 02:26:22 +0000 )edit 2 answers Sort by » oldest newest most voted Since this is not the first time that I have had this problem with Fedora (Exept for the part of not being able to install something new), I made a small automated script based on @Ahmad Samir's answer above. Since the only other solution is to reinstall Fedora, I see no reason not to try this one first, even though it could break something. I meen, if you are going to reinstall anyway? It helped me to avoid having to make a fresh install. #!/bin/bash NEW_PKGS="" OLD_PKGS="" while read line; do if [ -n "$line" ]; then
NEW_PKGS="$NEW_PKGS$(echo $line | awk '{print$1}')"
OLD_PKGS="$OLD_PKGS$(echo $line | awk '{print$NF}')"
fi

done < <(yum check 2>/dev/null | grep 'duplicate with')

if [ -n "$OLD_PKGS" ]; then echo "The following duplicates will be removed..." for pkg in$OLD_PKGS; do
echo "  - $pkg" done echo "" echo -n "Do you want to continue? [Y/N] "; read answer if [ "$answer" = "Y" ] || [ "$answer" = "y" ]; then sudo rpm -e --nodeps$OLD_PKGS
sudo yum -y --skip-broken reinstall \$NEW_PKGS
fi

else
echo "Nothing to do here!"
fi

echo ""

more

rpm doesn't have a '--skip-broken' option. And as I said before, this is a dangerous process, and usually it's a one-off hickup, i.e. it doesn't happen that many times...

( 2014-02-28 17:13:14 +0000 )edit

No sorry, your right. It is the second command where I added that part.

( 2014-02-28 19:34:45 +0000 )edit

Hi: This line is interesting

** Found 212 pre-existing rpmdb problem(s), 'yum check' output follows:


I think more that a specific issue about nss-softokn-freebl (which is related to nss-softokn, so you should consider downgrading both) you've some level of corruption/mess on your yum configuration. What about running some

yum clean all; yum update


to check if consistency is OK before trying to play with nss-softokn

Kind regards

more

Okay, I tried running clean all and update (No updates) and it did not fix the output of "yum check". Also still can't install the 32bit libraries or downgrade the two mentioned once.

This is a completley fresh install. Only thing I have done so far is run "yum update", added rpmfusion repo, installed a few packages such as additonal gstreamer packages, flash, java and eclipse. Now I am stuck at trying to install these 32bit libraries.

Two days ago I did the same exact thing on my desktop (This is my laptop) without any problems. So whatever this is, is a restult of whatever package changes that has been added in the last two days.

( 2014-02-27 21:20:55 +0000 )edit

Okay, I tried deleting the old versions of the duplicate packages, but this just provides new errors

.......
Error: Depsolving loop limit reached.

( 2014-02-27 22:33:51 +0000 )edit

This is a bit risky, but I'd try removing the duplicates using 'rpm -e --nodes', and after finishing I'd yum reinstall the new packages to be sure no problems will arise in the future due to that duplicate-packages fiasco...

This is with a big try-it-at-your-own-risk banner; I've compiled a list for the commands to run, to remove the dupes:

http://fpaste.org/81163/

to reinstall using yum:

http://fpaste.org/81164/

The worst that can happen is completely messing up the system and having to perform a clean Fedora install...

( 2014-02-28 06:56:40 +0000 )edit

Thanks a lot, it worked by adding "--skip-broken" and it fixed most of these alerts, only one pacage left that cannot be deleted. But now I had no problems installing the 32bit libs, so all is good and I can now work on the laptop as well. They should add this method to the "package-cleanup" command, cause it's "--cleandupes" could not handle this issue. Again thanks.

( 2014-02-28 13:01:07 +0000 )edit

You had to use '--skip-broken' with the 'yum reinstall' command?

I don't think this method should be added to any official tool, as I said, it is risky; using 'rpm -e --nodeps' might mess up the system very badly...

( 2014-02-28 13:26:29 +0000 )edit

[hide preview]