Hide Forgot
Description of problem: All my 64 bit rhel6 servers could not cleanly upgrade from 6.1 to 6.2 because of: Error: Protected multilib versions: libselinux-2.0.94-5.el6.i686 != libselinux-2.0.94-5.2.el6.x86_64 Version-Release number of selected component (if applicable): How reproducible: Easily reproducible. Steps to Reproduce: 1. yum update 2. 3. Actual results: [root@~]# yum update Loaded plugins: product-id, rhnplugin, security, subscription-manager Updating certificate-based repositories. Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package libselinux.x86_64 0:2.0.94-5.el6 will be updated --> Processing Dependency: libselinux = 2.0.94-5.el6 for package: libselinux-ruby-2.0.94-5.el6.x86_64 ---> Package libselinux.x86_64 0:2.0.94-5.2.el6 will be an update ---> Package libselinux-utils.x86_64 0:2.0.94-5.el6 will be updated ---> Package libselinux-utils.x86_64 0:2.0.94-5.2.el6 will be an update --> Running transaction check ---> Package libselinux.i686 0:2.0.94-5.el6 will be installed ---> Package libselinux.x86_64 0:2.0.94-5.el6 will be updated --> Finished Dependency Resolution Error: Protected multilib versions: libselinux-2.0.94-5.el6.i686 != libselinux-2.0.94-5.2.el6.x86_64 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest Expected results: The box updates cleanly with no errors. Additional info: When I exclude the 32 bit version of libselinux in yum.conf from being installed, it looks like libselinux-ruby requires it. Resolving Dependencies --> Running transaction check ---> Package libselinux.x86_64 0:2.0.94-5.el6 will be updated --> Processing Dependency: libselinux = 2.0.94-5.el6 for package: libselinux-ruby-2.0.94-5.el6.x86_64 ---> Package libselinux.x86_64 0:2.0.94-5.2.el6 will be an update ---> Package libselinux-utils.x86_64 0:2.0.94-5.el6 will be updated ---> Package libselinux-utils.x86_64 0:2.0.94-5.2.el6 will be an update --> Finished Dependency Resolution Error: Package: libselinux-ruby-2.0.94-5.el6.x86_64 (@rhel-x86_64-server-optional-6) Requires: libselinux = 2.0.94-5.el6 Removing: libselinux-2.0.94-5.el6.x86_64 (@anaconda-RedHatEnterpriseLinux-201105101844.x86_64/6.1) libselinux = 2.0.94-5.el6 Updated By: libselinux-2.0.94-5.2.el6.x86_64 (rhel-x86_64-server-6) libselinux = 2.0.94-5.2.el6 Available: libselinux-2.0.94-2.el6.i686 (rhel-x86_64-server-6) libselinux = 2.0.94-2.el6
I don't see this problem on my x86_64 machine. Both downgrade (2.0.94-5.2.el6 ->2.0.94-5.el6) and upgrade (2.0.94-5.el6 ->2.0.94-5.2.el6 ) of all libselinux packages are successful. Which version of yum do you have?
Reporter, Is it possible that libselinux-2.0.94-5.2.el6.i686 (notice the ".2" part) is missing from your repo (or was missing at the time you attempted the transaction) ? What happens when you try 'yum update libselinux-2.0.94-5.2.el6.i686' ? Yum by default won't let you install .x86_64 and .i686 version of the same package in different versions and the error seems to be because a more recent version of x86_64 than of i686 was found.
(In reply to comment #3) > Reporter, > > Is it possible that libselinux-2.0.94-5.2.el6.i686 (notice the ".2" part) is > missing from your repo (or was missing at the time you attempted the > transaction) ? What happens when you try 'yum update > libselinux-2.0.94-5.2.el6.i686' ? The 32 bit version hasn't been and isn't installed on my 64 bit systems. It wasn't required. [root@ ~]# yum update libselinux-2.0.94-5.2.el6.i686 Package(s) libselinux-2.0.94-5.2.el6.i686 available, but not installed. > Yum by default won't let you install .x86_64 and .i686 version of the same > package in different versions and the error seems to be because a more recent > version of x86_64 than of i686 was found. And that's the issue. I can't remove 64 bit libselinux without breaking or removing a bunch of needed packages and I can't add the 32 bit version because the 64 bit version is installed. Joy :) ----------------------------------------------------------------------------- A snip from the "Additional Info:" section above: Error: Package: libselinux-ruby-2.0.94-5.el6.x86_64 (@rhel-x86_64-server-optional-6) Requires: libselinux = 2.0.94-5.el6 Removing: libselinux-2.0.94-5.el6.x86_64 It looks like libselinux-ruby from the server-optional software channel is requiring the 32 bit version of libselinux. This could be where the bug is....
(In reply to comment #2) > I don't see this problem on my x86_64 machine. Both downgrade (2.0.94-5.2.el6 > ->2.0.94-5.el6) and upgrade (2.0.94-5.el6 ->2.0.94-5.2.el6 ) of all libselinux > packages are successful. Do you have libselinux-ruby installed from the server-optional sofware channel? > Which version of yum do you have? [root@dropbox ~]# rpm -qa|grep yum yum-3.2.29-22.el6.noarch According to yum everything on my rhel6 64 bit systems are up to date, except for: libselinux-2.0.94-5.2.el6 libselinux-utils-2.0.94-5.2.el6 I think these should either be noarch or 64 bit packages. I'm not sure why libselinux-ruby 64 bit is requiring a 32 bit package, especially since the 32 and 64 bit packages can't exist on the same system.
I am not seeing this on my RHEL6 box. I just installed libselinux-ruby without installing libselinux.i386
Can you remove libseinux-ruby, do the upgrade and then reinstall it from the new package.
(In reply to comment #7) > Can you remove libseinux-ruby, do the upgrade and then reinstall it from the > new package. * I removed libselinux-ruby 64 bit. * Ran "yum update" and it installed the 64 bit versions of libselinux and libselinux-utils. * I was then able to successfully install libselinux-ruby 64 bit. Thanks for your help Daniel.
I guess we fixed some kind of requires problem in this update, but I am not sure what.