Resolving package conflicts

Imagine this situation when you try to emerge a package:

emerge xfree

Calculating dependencies …done!

!!! Error: the x11-libs/xft package conflicts with another package.
!!! both can’t be installed on the same system together.
!!! Please use ‘emerge –pretend’ to determine blockers.


Okay, here is the problem: we can’t emerge xfree because there is a conflict with the xft (installed) package. Let’s try to resolve the conflict.

emerge -p xfree

These are the packages that I would merge, in order:

Calculating dependencies …done!
[blocks B ] x11-libs/xft (from pkg x11-base/xfree-4.3.0-r3)
[ebuild N ] x11-base/xfree-4.3.0-r3
[ebuild U ] x11-libs/xft-2.0.1-r2 [2.0.1]

As you can see xft is blocking xfree as [blocks B ] points.

From emerge man pages:

Blockers are defined when two packages will clobber each others files, or otherwise cause some form of breakage in your system. However, blockers usually do not need to be simultaneously emerged because they usually provide the same functionality.

So to resolve the conflict proceed as follows:

emerge unmerge xft

And there should be no blocking package now…

emerge -p xfree

These are the packages that I would merge, in order:

Calculating dependencies …done!
[ebuild N ] x11-base/xfree-4.3.0-r3

Now proceed as usual…

emerge xfree

Note that I’ve simplified the emerge usage as possible, but I guess you’ve got the clue.

Leave a Reply

You must be logged in to post a comment.