4

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?

2 Answers 2

4

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.

1
  • 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, 2010 at 20:40
3

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
2
  • 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, 2010 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, 2010 at 19:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .