Linux – yum depsolving problems – package already installed

dependencieslinuxpackage-managementyum

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?

Best Answer

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.