Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 430190

Summary: Slot conflict because of "no parents that aren't satisfied by other packages in this slot"
Product: Portage Development Reporter: Dennis Schridde <dschridde+gentoobugs>
Component: CoreAssignee: Portage team <dev-portage>
Status: RESOLVED DUPLICATE    
Severity: normal CC: piotr5
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Dennis Schridde 2012-08-06 15:22:46 UTC
Portage apparently thinks there is a slot conflict, even though no one actually requires a different package than the one that is installed. Further, portage wants to update said package to the version that is higher than the one less-than-required by an installed package.

Reproducible: Always




# emerge -uDN @world -p                                                                                                                                                                                                                

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] sys-libs/timezone-data-2012e [2012d]
[ebuild     U  ] app-text/libexttextcat-3.3.1 [3.2.0]
[ebuild     U  ] sys-apps/ethtool-3.5 [3.4.2]
[ebuild     U  ] sys-process/htop-1.0.1-r1 [1.0.1]
[ebuild     U  ] x11-libs/pixman-0.27.2 [0.26.2]
[ebuild     U  ] net-misc/curl-7.27.0-r2 [7.26.0] USE="-metalink% -rtmp%" 
[ebuild     U  ] sys-libs/e2fsprogs-libs-1.42.5 [1.42.4]
[ebuild     U  ] sys-devel/flex-2.5.37 [2.5.35_p10]
[ebuild     U  ] sys-devel/bison-2.6.2 [2.6.1]
[ebuild     U  ] sys-fs/e2fsprogs-1.42.5 [1.42.4]
[ebuild     U  ] sys-fs/udev-187-r1 [187]
[ebuild     U  ] sys-kernel/dracut-022-r4 [022-r3]
[ebuild     U  ] app-emulation/lxc-0.8.0_rc2-r1 [0.8.0_rc2]
[ebuild     U  ] sys-apps/pcsc-lite-1.8.5 [1.8.4]
[ebuild     U  ] sys-fs/udisks-1.0.4-r3 [1.0.4-r2]
[ebuild     U  ] sys-fs/udisks-1.99.0-r1 [1.99.0]
[ebuild     U  ] net-im/skype-4.0.0.8-r1 [4.0.0.8]
[ebuild     U  ] dev-python/pycups-1.9.62 [1.9.61-r1]
[ebuild     U  ] app-admin/system-config-printer-common-1.3.11 [1.3.9-r4]
[ebuild     U  ] sys-power/upower-0.9.17-r1 [0.9.17]
[ebuild     U  ] games-engines/scummvm-1.5.0 [1.4.1] USE="-freetype%" 
[ebuild     U  ] app-office/calligra-2.4.3-r1 [2.4.3]
[ebuild     U  ] media-sound/amarok-2.5.96 [2.5.90-r1]
[ebuild     U  ] kde-base/kmail-4.9.0-r1 [4.9.0]
[ebuild     U  ] dev-java/icedtea-web-1.2.1-r8 [1.2.1-r7]
[ebuild     U  ] app-office/libreoffice-bin-3.5.5.3 [3.5.4.2-r1]
[blocks B      ] >=sys-fs/udev-187 (">=sys-fs/udev-187" is blocking sys-kernel/dracut-022-r4)

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

net-misc/curl:0

  (net-misc/curl-7.26.0::gentoo, installed) pulled in by
    <net-misc/curl-7.27.0 required by (dev-cpp/libcmis-0.1.0::gentoo, installed)

  (net-misc/curl-7.27.0-r2::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)
Comment 1 Sebastian Luther (few) 2012-08-06 15:32:27 UTC
The slot conflict is irrelevant. That's what "no parents that aren't satisfied by other packages in this slot" tells you.

The reason it aborts, is:
> [blocks B      ] >=sys-fs/udev-187 (">=sys-fs/udev-187" is blocking sys-
> kernel/dracut-022-r4)

> [...]
> Further, portage wants to update said package to the version that is higher
> than the one less-than-required by an installed package.

That's because you asked for this (-u option). But's that's not the problem anyway.
Comment 2 Zac Medico gentoo-dev 2012-08-06 15:48:22 UTC
If you solve the udev / dracut blocker, then backtracking will solve the slot conflict automatically.
Comment 3 Dennis Schridde 2012-08-06 20:30:50 UTC
(In reply to comment #1)
> The slot conflict is irrelevant. That's what "no parents that aren't
> satisfied by other packages in this slot" tells you.
> 
> > [...]
> > Further, portage wants to update said package to the version that is higher
> > than the one less-than-required by an installed package.
> 
> That's because you asked for this (-u option). But's that's not the problem
> anyway.
So why is this reported as an issue? From reading the output (or scanning over it — I usually do not read the long blurbs of text at the end. There are manpages for that) it appears that the slot conflict is the issue. Maybe that message should be suppressed (and also shortened).

Also confusing is that net-misc/curl appears in the list of packages-that-would-be-merged, if you say that it would go away if I solve the (totally unrelated) blocker. Could maybe that list also be fixed to show the real packages-that-would-be-merged-if-we-ignore-the-blocker-for-now?
Comment 4 Sebastian Luther (few) 2012-08-07 14:41:13 UTC
(In reply to comment #3)
> (In reply to comment #1)
> > The slot conflict is irrelevant. That's what "no parents that aren't
> > satisfied by other packages in this slot" tells you.
> > 
> > > [...]
> > > Further, portage wants to update said package to the version that is higher
> > > than the one less-than-required by an installed package.
> > 
> > That's because you asked for this (-u option). But's that's not the problem
> > anyway.
> So why is this reported as an issue? From reading the output (or scanning
> over it — I usually do not read the long blurbs of text at the end. There
> are manpages for that) it appears that the slot conflict is the issue. Maybe
> that message should be suppressed (and also shortened).
> 
> Also confusing is that net-misc/curl appears in the list of
> packages-that-would-be-merged, if you say that it would go away if I solve
> the (totally unrelated) blocker. Could maybe that list also be fixed to show
> the real packages-that-would-be-merged-if-we-ignore-the-blocker-for-now?

We know that it will go away, but emerge doesn't know that at this point. The slot conflict is present in your merge list. That's why it prints it.
Comment 5 piotr5 2017-03-13 10:47:22 UTC
now I can definitely confirm this is a bug that should be fixed:

I got 2 such slot-configs, no other blocks. excluding these conflicts will allow emerge to proceed. increasing backtrack works too. (but consumes more time?) so I'd propose if emerge notices such conflicts for which it would print "no parents that aren't satisfied by other packages in this slot" it should cut the chase and build right away instead of requiring the increase of backtrack or explicit excludes! the way it is now, I need to specify the emerge command 2 times at every world update...

so the actual bug is that even though the uselessness of the conflict is known at the current backtrack level, higher backtrack level is required to proceed!

(observed in portage-2.3.3, is it fixed in 2.3.4?)
Comment 6 Zac Medico gentoo-dev 2017-03-13 16:54:26 UTC
(In reply to piotr5 from comment #5)
> I got 2 such slot-configs, no other blocks. excluding these conflicts will
> allow emerge to proceed. increasing backtrack works too. (but consumes more
> time?) so I'd propose if emerge notices such conflicts for which it would
> print "no parents that aren't satisfied by other packages in this slot" it
> should cut the chase and build right away instead of requiring the increase
> of backtrack or explicit excludes!

The slot conflict makes the calculation is invalid, so it would have to resolve that problem before it could continue.

Since this bug was filed, we did add support for solving some slot conflicts without backtracking:

https://gitweb.gentoo.org/proj/portage.git/commit/?id=a862cc5dd1a56114fa579c5fb01b518b243666d9

If you would like to file a new bug for your specific case, then we can investigate why it doesn't solve the conflict without extra backtracking.

*** This bug has been marked as a duplicate of bug 595224 ***