How to Solve Error: Multilib version problems found.

Posted on

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.

Leave a Reply