Bug 708428

Summary: multilib problems with python and iscsi-initiator-utils
Product: Red Hat Enterprise Linux 6 Reporter: Gary Gatling <gsgatlin>
Component: relengAssignee: Dennis Gregorovic <dgregor>
Status: CLOSED CANTFIX QA Contact: Release Test Team <release-test-team>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1CC: dmach, gasmith, jwest, mpoole, notting, sforsber
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-01-03 18:35:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 756082, 761078    

Description Gary Gatling 2011-05-27 15:50:02 UTC
Description of problem:

In RHEL 6 64 bit I have some desktop systems that have a bunch of 32 bit packages installed for some older software that does not support a 64 bit OS.

When trying to upgrade to RHEL 6.1, I get this error:

[root@fixme gsgatlin]# yum update

[snip]

--> Finished Dependency Resolution
Error: Protected multilib versions: python-libs-2.6.6-20.el6.x86_64 != python-libs-2.6.5-3.el6_0.2.i686
Error: Protected multilib versions: python-2.6.6-20.el6.x86_64 != python-2.6.5-3.el6_0.2.i686
Error: Protected multilib versions: iscsi-initiator-utils-6.2.0.872-21.el6.x86_64 != iscsi-initiator-utils-6.2.0.872-10.el6.i686
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
[root@fixme gsgatlin]# 

Someone on the RHEL 6 mailing list said:
(rhelv6-list)

"The reason behind this is that el6.0 provided both python.x86_64 and python.i686 while the el6.1 update only provided python.x86_64 (so does the DVD media too, btw). I opened SR 00478213 with RH about that issue."

I don't know how to open a "SR" with Red Hat. I don't think I am allowed to due
to being at an edu institution with our license. I am allowed to open a bugzilla however...

I tried doing an update on a 32 bit kvm guest running RHEL 6.0 to 6.1
and the python and python-libs rpms had newer versions. (2.6.6-20)

So... The packages were built for the 32 bit machines but just not the 64 bit
machines beginning with RHEL 6.1...

How can I update my system? If I had a lab full of machines in this state
should I:

rpm -e <any 32 bit packages that get dropped in a point release>

before running yum update if I have 32 bit packages installed on a 64
bit OS with RHEL 6? Or is this a bug? I'm mostly worried about this for RHEL 6.2 becauseby them we should have a lab full of RHEL 6 machines. (Right now they are RHEL 5 machines)


Version-Release number of selected component (if applicable):

python-libs-2.6.6-20.el6
python-2.6.6-20.el6
iscsi-initiator-utils-6.2.0.872-21.el6

How reproducible:


Steps to Reproduce:
1. install RHEL workstation 6.0 with 64 bit OS on 64 bit hardware. I think
I just selected a pretty basic environment. like development workstation.
2. rpm -qa | grep x86_64 | sed 's@x86_64@i686@' | xargs yum -y install 
3. yum update
  
Actual results:

--> Finished Dependency Resolution
Error: Protected multilib versions: python-libs-2.6.6-20.el6.x86_64 != python-libs-2.6.5-3.el6_0.2.i686
Error: Protected multilib versions: python-2.6.6-20.el6.x86_64 != python-2.6.5-3.el6_0.2.i686
Error: Protected multilib versions: iscsi-initiator-utils-6.2.0.872-21.el6.x86_64 != iscsi-initiator-utils-6.2.0.872-10.el6.i686
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


Expected results:
yum update
[snip]
Complete!

Additional info:

The reason we are still installing 32 bit packages is because some of our 
apps haven't been ported or re-compiled for a 64 bit OS. One that springs
to mind is the ip-manage client in Lucent's QIP application. I'm sure there
are others as well such as student's compiled code.

I guess what I asking for is the answer to the question "Is this a bug?" or
is this a "feature" that I will need to run rpm -e <any packages that get dropped> whenever a point release comes out. I know Red Hat is 
discouraging multilib starting with RHEL 6 by making it harder to set up but I'm not quite ready to give it up yet on my desktop systems due to some older apps we need to run.

thanks

Comment 2 Gary Gatling 2011-06-08 18:19:37 UTC
Sorry, I have a better description of how to reproduce this bug/issue.

install RHEL 6.0 workstation from the 64 bit dvd.

choose "Install or upgrade an existing system" from syslinux menu.
choose skip for media testing...
choose fresh installation.
choose replace existing Linux systems.
choose "software development workstation."
(after install finishes)
don't register machine in RHN. create a account at firstboot.
login to account.
I needed to edit /etc/sysconfig/network-scripts/ifcfg-eth0
and change ONBOOT="no" to ONBOOT="yes" to get networking working.
insert 64 bit install DVD.
cd /media/RHEL_6.0\ x86_64\ Disc\ 1/
cp media.repo /etc/yum.repos.d/

edit /etc/yum.repos.d/media.repo
change:
----------------------------------------
[InstallMedia]
name=Red Hat Enterprise Linux 6.0
mediaid=1285193686.718625
metadata_expire=-1
gpgcheck=0
cost=500
----------------------------------------
to
----------------------------------------
[InstallMedia]
name=Red Hat Enterprise Linux 6.0
baseurl=file:///media/RHEL_6.0%20x86_64%20Disc%201
mediaid=1285193686.718625
metadata_expire=-1
gpgcheck=0
cost=500
----------------------------------------

next install RHEL 6.0 32 bit packages from the DVD install media now that the installmedia repo is set up:

rpm -qa | grep x86_64 | sed 's@x86_64@i686@' | xargs yum -y install

Next, register machine in Red Hat network so that system can be
upgraded to 6.1...

delete installmedia repo file: 
 
\rm -rf /etc/yum.repos.d/media.repo
\rm -rf /etc/yum.repos.d/packagekit-media.repo

Next, do a yum update:

yum -y update

The first problem is:

--> Processing Conflict: python-devel-2.6.6-20.el6.x86_64 conflicts python < 2.6.6-20.el6
--> Finished Dependency Resolution
Error: python-devel conflicts with python
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest


doing a:

yum remove python-devel

followed by:

yum -y update 

generates:

Running Transaction Test


Transaction Check Error:
  file /usr/share/doc/iscsi-initiator-utils-6.2.0.872/README from install of iscsi-initiator-utils-6.2.0.872-21.el6.x86_64 conflicts with file from package iscsi-initiator-utils-6.2.0.872-10.el6.i686
  file /etc/rc.d/init.d/iscsi from install of iscsi-initiator-utils-6.2.0.872-21.el6.x86_64 conflicts with file from package iscsi-initiator-utils-6.2.0.872-10.el6.i686
  file /etc/rc.d/init.d/iscsid from install of iscsi-initiator-utils-6.2.0.872-21.el6.x86_64 conflicts with file from package iscsi-initiator-utils-6.2.0.872-10.el6.i686
  file /usr/share/man/man8/brcm_iscsiuio.8.gz from install of iscsi-initiator-utils-6.2.0.872-21.el6.x86_64 conflicts with file from package iscsi-initiator-utils-6.2.0.872-10.el6.i686
  file /usr/share/man/man8/iscsiadm.8.gz from install of iscsi-initiator-utils-6.2.0.872-21.el6.x86_64 conflicts with file from package iscsi-initiator-utils-6.2.0.872-10.el6.i686

Error Summary
-------------

So the question is... How do I upgrade my systems from 6.0 to 6.1
with these errors?

Comment 3 Gary Gatling 2011-07-15 15:28:19 UTC
The latest problem we are seeing with this is that its much harder to install all the 32 bit packages we need in an automated fashion in a kickstart. This is affecting applications such as cadence virtuoso here at NCSU. Here is what we used to do in 6.0:

if [ "`uname -i`" = "x86_64" ]; then
        arch="x86_64"
    else
        arch="i686"
fi

if [ "$arch" = "x86_64" ]; then
rpm -qa | grep x86_64 | sed 's@x86_64@i686@' | xargs yum -y install
fi


now we have to do in 6.1:

if [ "`uname -i`" = "x86_64" ]; then
        arch="x86_64"
    else
        arch="i686"
fi

if [ "$arch" = "x86_64" ]; then
rpm -qa --qf "%{name}.i686\n" | grep -v python |  grep -v iscsi-initiator | grep -v kdeutils-libs |  grep -v rhythmbox | xargs yum -y install
fi

removing python, python-libs, iscsi-initiator, kdeutils-libs, and rythmbox seems very hackish and broken to me. This bug should be fixed in 6.2.

Comment 6 Gary Gatling 2011-09-09 13:57:35 UTC
Ok. I guess I should update this info...

I guess this isn't so much a bug. Because you guys might need to remove some 32 bit packages for some reason. So I can understand that.

The issue we are having is that we have to PXE boot into an old RHEL 6.0 boot.iso
and then the automated system we use yum updates before we get control. 
Which is why I needed the hacks above. But when we update to
a 6.2 boot.iso the problem would go away. So its not really Red Hat's fault. I hope this makes sense.

Comment 10 Dennis Gregorovic 2012-01-03 18:35:21 UTC
Unfortunately, there is no good fix for the issue when installing from RHEL 6.0 aside from the steps described at https://access.redhat.com/kb/docs/DOC-60896 or what was described in comment #3.  Closing the bug.