RDEP of genkernel-3.4.45: >=app-misc/pax-utils-0.2.1 !=app-misc/pax-utils-0.5 <app-misc/pax-utils-0.6 There is no version of pax-utils that can satisfy this.
pax-utils-{0.2.1,0.2.2,0.2.3,0.3.0,0.4} can all satisfy this dependency? Can you explain further how this can't be satisfied?
There is nothing to be explained unless Patrick has something non-default going on, let us instead explain why certain versions satisfy this; it is somewhat tedious to explain, but then we can link to it in the future if others wonder the same. 1. Check out the present versions on http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-misc/pax-utils/ or sync your tree and see which versions are not visible by default. 2. Versions that genkernel sees without conditions: 0.2.1, 0.2.2, 0.2.3, 0.3.0, 0.4, 0.5, 0.6, 0.7 3. Apply condition: >=app-misc/pax-utils-0.2.1: We want versions newer than and including 0.2.1. 4. Versions that genkernel still sees with 1 condition applied: 0.2.1, 0.2.2, 0.2.3, 0.3.0, 0.4, 0.5, 0.6, 0.7 5. Apply condition: !=app-misc/pax-utils-0.5: Don't give me version 0.5. 6. Versions that genkernel still sees with 2 conditions applied: 0.2.1, 0.2.2, 0.2.3, 0.3.0, 0.4, 0.6, 0.7 7. Apply condition: <app-misc/pax-utils-0.6 We want versions older than 0.6. 8. Versions that genkernel will see after all conditions are applied: 0.2.1, 0.2.2, 0.2.3, 0.3.0, 0.4 9. In order to eliminate the blocker, you mask >=app-misc/pax-utils-0.5. 10. More information can be obtained at http://wiki.gentoo.org/wiki/Known_Problems#app-misc.2Fpax-utils-0.5_is_blocking_sys-kernel.2Fgenkernel
Let me rephrase: Portage is unable to figure that out by itself: # emerge -pv genkernel These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild UD ] app-misc/pax-utils-0.5 [0.7] USE="-caps (-python%)" 0 kB [ebuild N ] sys-kernel/genkernel-3.4.45 USE="crypt -cryptsetup (-ibm) (-selinux)" 0 kB [blocks B ] =app-misc/pax-utils-0.5 ("=app-misc/pax-utils-0.5" is blocking sys-kernel/genkernel-3.4.45) Total: 2 packages (1 downgrade, 1 new), Size of downloads: 0 kB Conflict: 1 block (1 unsatisfied) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (sys-kernel/genkernel-3.4.45::gentoo, ebuild scheduled for merge) pulled in by genkernel (app-misc/pax-utils-0.5::gentoo, ebuild scheduled for merge) pulled in by >=app-misc/pax-utils-0.1.17 required by (sys-apps/portage-2.1.12::gentoo, installed) <app-misc/pax-utils-0.6 required by (sys-kernel/genkernel-3.4.45::gentoo, ebuild scheduled for merge) >=app-misc/pax-utils-0.2.1 required by (sys-kernel/genkernel-3.4.45::gentoo, ebuild scheduled for merge) So why not have a proper dependency on <pax-utils-0.5 so that portage has a chance?
+ 21 May 2013; Patrick Lauer <patrick@gentoo.org> genkernel-3.4.45.ebuild: + Collapse pax-utils blockers/dependencies to make portage able to resolve + dependencies #469648 Tadaah. Happy portage means happy users.
I see, but that's still a bug in Portage then, let's fix it there...
The issue is that portage simply ignores blockers for most dependency calculations, and then bails out at the end if necessary. It works fine for most simple cases, but not for some complex ones.
*** Bug 497160 has been marked as a duplicate of this bug. ***
*** Bug 587072 has been marked as a duplicate of this bug. ***