Why does yum return 'Error: "Protected multilib versions" transaction error for Red Hat Enterprise Linux 6'?
Environment
- Red Hat Enterprise Linux 6
- yum-3.2.29-17.el6.noarch
Issue
yum install
oryum update
returns the Error: "Protected multilib versions" transaction error-
The following error is received when installing or updating with
yum
[root@rhel6 ~]# yum install python.i686 Loaded plugins: rhnplugin Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package python.i686 0:2.6.5-3.el6_0.2 will be installed [ SNIP ] --> Finished Dependency Resolution Error: Protected multilib versions: python-2.6.5-3.el6_0.2.i686 != python-2.6.5-3.el6.x86_64 Error: Protected multilib versions: python-libs-2.6.5-3.el6.i686 != python-libs-2.6.5-3.el6_0.2.x86_6
-
yum update does not work with protected_multilib option on
Resolution
Before disabling this option make sure that you have cleared the yum cache with rm -rf /var/cache/yum/*
to make sure this issue is not due to an old cache, that you are using the right channel and that the content is being provided to the system without any issue. This solution should only ever be used when it is expected to have a discrepancy of versions in libraries available in different architectures ; if you don't know if you need it you probably do not and should instead investigate the cache and the repositories used to provide updates to your system
-
yum-3.2.29-17.el6
enables the protected_multilib mode by default. Looking theyum.conf
man page, we can highlight an exception rule which can be made:protected_multilib Either ‘1’ or ‘0’. This tells yum whether or not it should perform a check to make sure that multilib packages are the same version. For example, if this option is off (rpm behaviour) pkgA-1.x86_64 and pkgA-2.i386 can be installed at the same time. However this is very rarely desired. Install only packages, like the kernel, are exempt from this check. The default is ‘1’.
-
To make the system able to install multi-lib packages, follow the steps below:
-
Edit the /etc/yum.conf disabling the protected_multilib option
# vim /etc/yum.conf protected_multilib=0
-
-
Afterwards, try to install the package desired
[root@rhel6 ~]# yum install python.i686 Loaded plugins: rhnplugin Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package python.i686 0:2.6.5-3.el6_0.2 will be installed --> Processing Dependency: libdb-4.7.so for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libpython2.6.so.1.0 for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libffi.so.5 for package: python-2.6.5-3.el6_0.2.i686 { .... SNIP ...... } Installed: python.i686 0:2.6.5-3.el6_0.2 Dependency Installed: bzip2-libs.i686 0:1.0.5-7.el6_0 db4.i686 0:4.7.25-16.el6 expat.i686 0:2.0.1-9.1.el6 gdbm.i686 0:1.8.0-36.el6 glibc.i686 0:2.12-1.25.el6 keyutils-libs.i686 0:1.4-1.el6 krb5-libs.i686 0:1.9-9.el6 libcom_err.i686 0:1.41.12-7.el6 libffi.i686 0:3.0.5-3.2.el6 libselinux.i686 0:2.0.94-5.el6 ncurses-libs.i686 0:5.7-3.20090208.el6 nss-softokn-freebl.i686 0:3.12.9-3.el6 openssl.i686 0:1.0.0-10.el6 python-libs.i686 0:2.6.5-3.el6 readline.i686 0:6.0-3.el6 sqlite.i686 0:3.6.20-1.el6 zlib.i686 0:1.2.3-25.el6 Dependency Updated: bzip2-libs.x86_64 0:1.0.5-7.el6_0 glibc.x86_64 0:2.12-1.25.el6 glibc-common.x86_64 0:2.12-1.25.el6 krb5-libs.x86_64 0:1.9-9.el6 libcom_err.x86_64 0:1.41.12-7.el6 nss-softokn-freebl.x86_64 0:3.12.9-3.el6 openssl.x86_64 0:1.0.0-10.el6 python-libs.x86_64 0:2.6.5-3.el6_0.2 Complete!
Root Cause
- yum-3.2.29-17.el6 incorporates the protected_multilib by default. If multi-lib packages are wanted, an exception must be made.
Diagnostic Steps
- Check if yum version are equal or major than yum-3.2.29-17.el6
-
Use --setopt=protected_multilib=false --skip-broken at yum command line:
[root@rhel6 ~]# yum install --setopt=protected_multilib=false --skip-broken python.i686 Loaded plugins: rhnplugin Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package python.i686 0:2.6.5-3.el6_0.2 will be installed --> Processing Dependency: libdb-4.7.so for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libpython2.6.so.1.0 for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libffi.so.5 for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libreadline.so.6 for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libtinfo.so.5 for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libexpat.so.1 for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libc.so.6(GLIBC_2.7) for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libssl.so.10 for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libcrypto.so.10 for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libsqlite3.so.0 for package: python-2.6.5-3.el6_0.2.i686 --> Processing Dependency: libpanelw.so.5 for package: python-2.6.5-3.el6_0.2.i686 { SNIP } ---> Package libcom_err.x86_64 0:1.41.12-7.el6 will be an update ---> Package nss-softokn-freebl.x86_64 0:3.12.7-1.1.el6 will be updated ---> Package nss-softokn-freebl.i686 0:3.12.9-3.el6 will be installed ---> Package nss-softokn-freebl.x86_64 0:3.12.9-3.el6 will be an update --> Running transaction check ---> Package keyutils-libs.i686 0:1.4-1.el6 will be installed ---> Package libselinux.i686 0:2.0.94-5.el6 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================================================================== Package Arch Version Repository Size ========================================================================================================================== Installing: python i686 2.6.5-3.el6_0.2 rhel-x86_64-server-6 4.8 M Installing for dependencies: bzip2-libs i686 1.0.5-7.el6_0 rhel-x86_64-server-6 36 k db4 i686 4.7.25-16.el6 rhel-x86_64-server-6 580 k expat i686 2.0.1-9.1.el6 rhel-x86_64-server-6 78 k gdbm i686 1.8.0-36.el6 rhel-x86_64-server-6 29 k glibc i686 2.12-1.25.el6 rhel-x86_64-server-6 4.3 M keyutils-libs i686 1.4-1.el6 rhel-x86_64-server-6 20 k krb5-libs i686 1.9-9.el6 rhel-x86_64-server-6 713 k libcom_err i686 1.41.12-7.el6 rhel-x86_64-server-6 35 k libffi i686 3.0.5-3.2.el6 rhel-x86_64-server-6 23 k libselinux i686 2.0.94-5.el6 rhel-x86_64-server-6 107 k ncurses-libs i686 5.7-3.20090208.el6 rhel-x86_64-server-6 251 k nss-softokn-freebl i686 3.12.9-3.el6 rhel-x86_64-server-6 115 k openssl i686 1.0.0-10.el6 rhel-x86_64-server-6 1.4 M python-libs i686 2.6.5-3.el6 rhel-x86_64-server-6 600 k readline i686 6.0-3.el6 rhel-x86_64-server-6 176 k sqlite i686 3.6.20-1.el6 rhel-x86_64-server-6 307 k zlib i686 1.2.3-25.el6 rhel-x86_64-server-6 72 k Updating for dependencies: bzip2-libs x86_64 1.0.5-7.el6_0 rhel-x86_64-server-6 37 k glibc x86_64 2.12-1.25.el6 rhel-x86_64-server-6 3.8 M glibc-common x86_64 2.12-1.25.el6 rhel-x86_64-server-6 14 M krb5-libs x86_64 1.9-9.el6 rhel-x86_64-server-6 708 k libcom_err x86_64 1.41.12-7.el6 rhel-x86_64-server-6 35 k nss-softokn-freebl x86_64 3.12.9-3.el6 rhel-x86_64-server-6 122 k openssl x86_64 1.0.0-10.el6 rhel-x86_64-server-6 1.4 M python-libs x86_64 2.6.5-3.el6_0.2 rhel-x86_64-server-6 618 k Transaction Summary ========================================================================================================================== Install 18 Package(s) Upgrade 8 Package(s) Total download size: 34 M Is this ok [y/N]:
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Comments