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! Commented 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 Commented 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. Commented Dec 3, 2010 at 19:49

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.