Bug 182348

Summary: yum installs wrong architecture AND duplicate packages
Product: [Fedora] Fedora Reporter: Dimitris <centos>
Component: yumAssignee: Jeremy Katz <katzj>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4CC: katzj
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-22 04:25:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dimitris 2006-02-21 22:55:23 UTC
Description of problem:

There are occasions were yum will install duplicate packages of different
architectures.

For example, on my system (Athlon 64 3500+) running Fedora Core 4 x86_64, when i
execute "yum install mysql" then yum will install BOTH x86_64 and i386 mysql
versions.

During the installation process it will die because it will try to install
e2fsprogs i386 ontop of the x86_64 version.


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

yum-2.4.1-1.fc4


How reproducible:

always


Steps to Reproduce:
1. yum install mysql
2. watch it try to install i386 ontop of x86_64
3. and die...
  

Actual results:

Selects wrong architecture and duplicate packages.


Expected results:

Shouldn't do that.


Additional info:

Comment 1 Seth Vidal 2006-02-22 04:25:59 UTC
1. installing both archs when none is specified is the correct and intended result
2. if two packages are available in the x86_64 tree for i386 and x86_64 and they
are not able to be installed together then that is a packaging problem, not a
yum problem.

Comment 2 Dimitris 2006-02-22 08:21:45 UTC
Installing both archs is correct and intended!?

So why doesn't yum install x86_64 packages on my i386 system when i do "yum
update"? i never have to specify i386, it just installs i386 and ONLY i386.

Comment 3 Seth Vidal 2006-02-22 14:26:55 UTC
1. your i386 cannot run x86_64 binaries
2. x86_64 binaries are not available in the i386 tree - if you'll notice there
are a number if i386 binaries in the x86_64 tree.


Comment 4 Dimitris 2006-02-22 17:25:18 UTC
Excuse me, but those are pretty lame excuses to fill up an entire system with
duplicate packages... not to mention that people have to download the same thing
twice...

and why on earth would i want the i386 version of MySQL on my 64bit system when
there is a perfectly valid x86_64 version???



Comment 5 Seth Vidal 2006-02-22 17:33:01 UTC
the other packages are there for i386 compatibility on x86_64. It's referred to
as 'multilib' it is so you can run i386 binaries on an x86_64 system correctly.

the mysql libs are available  and if you have a binary-only app that links to
the i386 mysql libs then you'd need those to run the program. This is sometimes
the case for various web applications - hence both of them are available.

more to the point - you didn't specify what you wanted and therefore yum
provided you with everything it COULD.


if you want just x86_64 packages and NEVER any i386 packages then you can put:
exclude=*.?86 in your yum.conf under [main]

or for any specific case you can just do:
yum install packagename.x86_64

and that will do just the x86_64 packages.

Comment 6 Dimitris 2006-02-22 17:43:09 UTC
Shouldn't that be a default for x86_64 installations?

Or there was a warning of some kind....

"Warning: Yum is about to download every single package twice by installing i386
packages on your perfectly valid 64bit system, to disable this do XYZ...."


Comment 7 Seth Vidal 2006-02-22 17:58:03 UTC
a lot of people like to have openoffice work and firefox capable of using things
like flash plugins. so, no, it should not be the default.


I'd appreciate it if you could try to keep your tone more civil. No one here is
out to get you but we've been through these issues before and this was the best
solution given the requirements.


Comment 8 Dimitris 2006-02-22 20:04:46 UTC
i'm starting to see your point of view, sorry for the sarcastic tone. If this is
done just for a few applications to have binary compatibility with i386, then
why force yum to download just about everything?

I looked around and found out that there is a config option "exactarch=1",
unfortunately, even thought its enabled, it still downloaded and updated
multiple architectures.

Comment 9 Seth Vidal 2006-02-23 16:06:00 UTC
yum is downloading exactly what it needs from the repo. The repo just has a fair
number of packages available as i386 and x86_64.

exactarch has to do with not moving b/t archs for packages when they're
upgraded. So you don't go from glibc.i686 to glibc.i386 accidentally.

Seriously - if you do not want multilib compatibility then you can do this:

yum remove *.?86

and in your /etc/yum.conf

under [main]
add:
exclude=*.?86

that will take care of it

Comment 10 Dimitris 2006-02-23 16:20:44 UTC
Thank you, much appriciated.