Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 504308 - emerge being not very helpful with slot conflicts caused by new USE-flags
Summary: emerge being not very helpful with slot conflicts caused by new USE-flags
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-03-12 09:40 UTC by Kirill Elagin
Modified: 2014-03-12 16:39 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kirill Elagin 2014-03-12 09:40:33 UTC
I got a bunch of slot conflicts when trying to do `emerge -uDN @system`.
I've tracked this back to bzip2 and elfutils:

~~~~

kirNote ~ # emerge -uNa1 bzip2 elfutils

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

Calculating dependencies   ... done!
[ebuild   R    ] app-arch/bzip2-1.0.6-r3  USE="static-libs -static" 764 kB
[ebuild     U  ] dev-libs/elfutils-0.158 [0.149] USE="bzip2 nls utils%* zlib -lzma -static-libs% {-test%} (-threads)" ABI_X86="(64%*) (-32) (-x32)" 4,938 kB

Total: 2 packages (1 upgrade, 1 reinstall), Size of downloads: 5,702 kB

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

app-arch/bzip2:0

  (app-arch/bzip2-1.0.6-r3::gentoo, installed) pulled in by
    (no parents that aren't satisfied by other packages in this slot)

  (app-arch/bzip2-1.0.6-r3::gentoo, ebuild scheduled for merge) pulled in by
    app-arch/bzip2[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?] required by (dev-libs/elfutils-0.158::gentoo, ebuild scheduled for merge)

dev-libs/elfutils:0

  (dev-libs/elfutils-0.149::gentoo, installed) pulled in by
    >=dev-libs/elfutils-0.100[static-libs(+)] required by (sys-devel/prelink-20130503::gentoo, installed)

  (dev-libs/elfutils-0.158::gentoo, ebuild scheduled for merge) pulled in by
    (no parents that aren't satisfied by other packages in this slot)


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously. You may want to try a larger value of
the --backtrack option, such as --backtrack=30, in order to see if
that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.


~~~~


Then I've spent another half an hour trying to figure out what's actually going on,
and guys at #gentoo were not very helpful, yelling at me and suggesting some random and useless things.

Now it's clear that the issue is this new USE-flag:

~~~~

kirNote ~ # emerge -uNa1 elfutils

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

Calculating dependencies                           ... done! 

Total: 0 packages, Size of downloads: 0 kB

WARNING: One or more updates have been skipped due to a dependency conflict:

dev-libs/elfutils:0

  (dev-libs/elfutils-0.158::gentoo, ebuild scheduled for merge) conflicts with
    >=dev-libs/elfutils-0.100[static-libs(+)] required by (sys-devel/prelink-20130503::gentoo, installed)


Nothing to merge; quitting.

~~~~


So, It seems to me that emerge should be more straightforward,
because when you see something [like this](http://pastie.org/pastes/8910914/text) it's difficult
to tell, what's really going on, and which slot conflict to blame. Even guys at #gentoo
(one of them being a developer) coundn't do that.

emerge should have excplicitly told me that I have to add `static-libs` USE-flag to dev-libs/elfutils
as it does in case of normal installation.
Comment 1 Sebastian Luther (few) 2014-03-12 16:39:12 UTC
> So, It seems to me that emerge should be more straightforward,
> because when you see something [like
> this](http://pastie.org/pastes/8910914/text) it's difficult
> to tell, what's really going on, and which slot conflict to blame. Even guys
> at #gentoo
> (one of them being a developer) coundn't do that.

If all conflicts are of the "no parents that aren't satisfied by other packages in this slot" type and there are no blockers, then it most likely hit the backtrack limit. Increasing the --backtrack value as emerge suggest should help in this case.

Anyway, the result with the current portage-9999 should already be better.