On Thursday 17 January 2008, Grant Edwards wrote:
> Why won't portage let me install kompare?
>
>    # emerge --pretend kompare
>
>    These are the packages that would be merged, in order:
>
>    Calculating dependencies... done!
>    [ebuild  N    ] kde-base/kompare-3.5.7  USE="arts -debug
> -kdeenablefinal -kdehiddenvisibility -xinerama" [blocks B     ]
> =kde-base/kompare-3.5* (is blocking kde-base/kdesdk-3.5.7) [blocks B 
>    ] =kde-base/kdesdk-3.5* (is blocking kde-base/kompare-3.5.7)
>
> How does one figure out where these "blocks" are coming from?
> There are no other versions of kompare installed.
> kde-base/kdesdk-3.5.7 _is_ installed.  There is no mention of
> kde<anything> in /etc/portage/*.

The solution is a little more complex than in Michael's reply and this 
may take a while :-)

. Normally with blockers one looks in the ebuild to see what you may and 
may not do, this is often enough info. The contents of /etc/portage/* 
is seldom useful here as blockers almost always mean you have specified 
two things that cannot co-exist.

In your case, you have run into monolithic and -meta kde ebuilds. Guess 
what - you already have the kompare binaries, despite the fact that 
kde-base/kompare is not installed. That's because they are actually 
part of kdesdk. There are two ways I would have gone about finding this 
out:

a. 'equery depends kompare' would have said that kdesdk-meta depends on 
it, if it were installed (which it isn't on your machine).

b. Looking into the ebuild for kdesdk-meta shows:

RDEPEND="
        ...
        $(deprange $PV $MAXKDEVER kde-base/kompare)
        ...
"

So the -meta package installs kompare, therefore the monolithic package 
will too.

Essentially you are trying to install one of the individual packages 
from a -meta package at the same time as a corresponding monolithic 
package,and portage is correctly refusing to let you do this.

How did I immediately know that this is the cause? School of hard 
knocks :-) From experience I have a good idea of the name of the 15 or 
so KDE monolithic packages, and the general rule I follow is that 
blockers related to kde are usually conflicts between -meta and 
monolithic ebuilds.

Roll on KDE4 when this monolithic nonsense will go away and there will 
only be -meta ebuilds.

alan


>
>    # emerge --search kompare
>    Searching...
>    [ Results for search key : kompare ]
>    [ Applications found : 1 ]
>
>    *  kde-base/kompare
>          Latest version available: 3.5.7
>          Latest version installed: [ Not Installed ]
>          Size of files: 5,078 kB
>          Homepage:      http://www.kde.org/
>          Description:   KDE: A program to view the differences
> between files and optionally generate a diff License:       GPL-2
>
>    # emerge --search '%^kdesdk$'
>    Searching...
>    [ Results for search key : ^kdesdk$ ]
>    [ Applications found : 1 ]
>
>    *  kde-base/kdesdk
>          Latest version available: 3.5.7
>          Latest version installed: 3.5.7
>          Size of files: 5,088 kB
>          Homepage:      http://www.kde.org/
>          Description:   KDE SDK: Cervisia, KBabel, KCachegrind,
> Kompare, Umbrello,... License:       GPL-2
>
>
> --
> Grant Edwards                   grante             Yow! Am I in
> Milwaukee? at
>                                visi.com



-- 
Alan McKinnon
alan dot mckinnon at gmail dot com
-- 
gentoo-user@lists.gentoo.org mailing list

Reply via email to