yum update or yum install fails with package conflict between 64 bit and 32 bit package architectures ?

Environment

Problems

Transaction Check Error:
file /usr/share/man/man1/ca.1ssl.gz from install of openssl-0.9.8e-27.el5_10.3.x86_64 conflicts with file from package openssl-0.9.8e-27.el5_10.1.i686
file /usr/share/man/man1/req.1ssl.gz from install of openssl-0.9.8e-27.el5_10.3.x86_64 conflicts with file from package openssl-0.9.8e-27.el5_10.1.i686
file /usr/share/man/man1/x509.1ssl.gz from install of openssl-0.9.8e-27.el5_10.3.x86_64 conflicts with file from package openssl-0.9.8e-27.el5_10.1.i686

Resolution

You can configure the yum client to update only a package of the exact architecture installed on the system.

Perform the following steps to remove duplicate packages(i.e. 32-bit and 64-bit packages installed on server which is causing the dependency issues).

  1. Install the yum-utils package:
    # yum install yum-utils
  2. The package-cleanup --dupes lists all duplicate packages:
    # package-cleanup --dupes
  3. The package-cleanup --cleandupes removes the duplicates (it asks for a confirmation to remove all duplicates unless the -y switch is given):
    # package-cleanup --cleandupes   
  4. Edit /etc/yum.confset the following line:
    exactarch=1

    caveats to this: add multilib policy update in the configuration file

multilib_policy=all

  1. Run yum command:
    # yum clean all
    # yum update
    
    
    
    
    
    
    
    

    Root Cause

    When encountering library specific rpm dependencies, architecture of the packages must be considered. As the error here was from a 32bit rpm failing, logically it would follow the the package to resolve that dependency must also be 32bit. A 64bit library version can’t be utilized by a 32bit tool

Leave a Reply

Your email address will not be published. Required fields are marked *