Introduction
The error message as in the title of the article is actually exist upon installing a package. The following are the exact output of the error message on installing a package with the name of ‘gcc’ :
[root@localhost ~]# yum -y install gcc Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: xxxxxxxxxxxxxxxxxxxxxxxxxxxx * epel: xxxxxxxxxxxxxxxxxxxxxxxxxxxx * extras: xxxxxxxxxxxxxxxxxxxxxxxxxxxx * ius: xxxxxxxxxxxxxxxxxxxxxxxxxxxx * updates: xxxxxxxxxxxxxxxxxxxxxxxxxxxx Resolving Dependencies --> Running transaction check ... --> Finished Dependency Resolution Error: Multilib version problems found. This often means that the root cause is something else and multilib version checking is just pointing out that there is a problem. Eg.: 1. You have an upgrade for libgomp which is missing some dependency that another package requires. Yum is trying to solve this by installing an older version of libgomp of the different architecture. If you exclude the bad architecture yum will tell you what the root cause is (which package requires what). You can try redoing the upgrade with --exclude libgomp.otherarch ... this should give you an error message showing the root cause of the problem. 2. You have multiple architectures of libgomp installed, but yum can only see an upgrade for one of those architectures. If you don't want/need both architectures anymore then you can remove the one with the missing update and everything will work. 3. You have duplicate versions of libgomp installed already. You can use "yum check" to get yum show these errors. ...you can also use --setopt=protected_multilib=false to remove this checking, however this is almost never the correct thing to do as something else is very likely to go wrong (often causing much more problems). Protected multilib versions: libgomp-4.8.5-28.el7.i686 != libgomp-4.8.5-28.el7_5.1.x86_64 Error: Protected multilib versions: nss-softokn-freebl-3.34.0-2.el7.i686 != nss-softokn-freebl-3.36.0-5.el7_5.x86_64 [root@localhost ]#
Avoiding a possible destructive solution
Upon searching for the solution using google, there is a temporary to solve the problem. It is not a solution after all because it will create another bigger problem. DO NOT DO THE FOLLOWING COMMAND, TAKE IT AS YOUR OWN RISK. THE FOLLOWING IS THE EXECUTION OF THE COMMAND WHICH IS NOT HELPING FOR SOLVING THE PROBLEM :
[root@localhost ~]# rpm --erase --nodeps libgomp [root@localhost ~]# rpm --erase --nodeps nss-softokn-freebl [root@localhost ~]#
The above solution JUST MAKE THE PROBLEM WORSE. The possible best solution is to just downgrade the version of the package so there will be no duplicate version. Sadly, there is no chance for me to prove that the following solution works. It happens because I have already executed the above command and it damaged the system.
Downgrade the version by executing the following command for every multilib version’s package :
Pattern : yum downgrade package_name
For an example :
yum downgrade libgomp
yum downgrade nss-softokn-freebl
Finally, in order to check the solution has come to a correct result, do the following :
1. Just re-execute the above command. The command is installing a package with the name of ‘gcc’. So, the command is : ‘yum -y install gcc’.
2. Another method, just execute the following command to check for duplicate package :
Pattern : yum list -showduplicates package_name
For an example :
yum list --showduplicates libgomp
yum list --showduplicates nss-softokn-freebl
3 thoughts on “How to Solve Error: Multilib version problems found.”