Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

In trying to do a 'yum update' I've started to hit the following error on a number of my systems:

--> Running transaction check
--> Processing Dependency: freetype = 2.2.1-28.el5_5 for package: freetype-devel
---> Package freetype.i386 0:2.2.1-28.el5_5.1 set to be updated
--> Finished Dependency Resolution
freetype-devel-2.2.1-28.el5_5.i386 from installed has depsolving problems
  --> Missing Dependency: freetype = 2.2.1-28.el5_5 is needed by package freetype-devel-2.2.1-28.el5_5.i386 (installed)
Error: Missing Dependency: freetype = 2.2.1-28.el5_5 is needed by package freetype-devel-2.2.1-28.el5_5.i386 (installed)

This doesn't make any sense to me, as when I try to install the "missing" package, I'm told it's already there.

Setting up Install Process
Package freetype-2.2.1-28.el5_5.i386 already installed and latest version
Nothing to do

I've already attempted a 'yum clean all' with no change, as well as the package-cleanup commands that yum suggests.

Can anyone help me further diagnose or solve this?

share|improve this question

2 Answers 2

up vote 3 down vote accepted

It's telling you that:

  1. It wants to upgrade freetype version 2.2.1-28.el5_5.1 — note the .1.
  2. freetype-devel 2.2.1-28.el5_5 (older version) is installed, and
  3. freetype-devel 2.2.1-28.el5_5 (older version) requires freetype 2.2.1-28.el5_5 (older version)

Since step one will remove the older version of freetype, the old freetype-devel would be left broken. So it bails out.

The question is: why isn't it trying to update freetype-devel to the new version too?

There's both i386 and x86_64 packages for both freetype and freetype-devel, so that shouldn't be causing the conflict, but, eh, sometimes things go wonky there. If you're on x86_64 and don't need the i386 package, removing it may clear things up.

But easiest thing to get working again is probably to remove freetype-devel, unless you're compiling things that link against freetype right now. After the update successfully completes, you can try and install it separately, if there's trouble there that'll be a more straightforward problem to solve.

share|improve this answer
    
Thanks for explaining that, it made a lot more sense after I read your answer. I removed freetype-devel (and quite a few dependencies as a result) and the freetype update worked as expected. I'll give out local RHEL repo folks a call and see if they missed something as far as the .1 version of the devel package goes. Thanks! –  Jax Dec 3 '10 at 20:40

Are you on a 64 bit system? If so, you can run into odd behavior if you have both the i386 and x86_64 version of a package installed. You can try just removing the i386 freetype package, like this:

yum remove freetype.i386

This may remove additional i386 packages, but if you're on an x86_64 system this is fine. In fact, I often end up removing all the i386 packages like this:

yum remove $(rpm -qa --qf='%{NAME}-%{VERSION}.%{ARCH}\n' | grep '.i386$')

You can prevent the i386 packages from getting installed in the future by setting multilib_policy to best in /etc/yum.conf:

multilib_policy=best
share|improve this answer
    
I am running on an x64 architecture, but I think most of my packages are i386. I ran the rpm -qa command you show and grep for freetype, and I only see: freetype-2.2.1.i386 freetype-devel-2.2.1.i386 –  Jax Dec 3 '10 at 19:41
    
That's odd. You can probably just remove the freetype-devel package (since as a devel package there probably isn't anything that depends on it, anyway), and then reinstall it after the upgrade. –  larsks Dec 3 '10 at 19:49

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.