Gentoo Emerge Slot Conflict
Welcome to LinuxQuestions.org, a friendly and active Linux Community. You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Multiple package instances within a single package slot have been pulled!!! Into the dependency graph, resulting in a slot conflict: dev-libs/openssl:0 (dev-libs/openssl-1.0.1g::gentoo, ebuild scheduled for merge) pulled in by =dev-libs/openssl-1.0.0:0-bindist required by (net-dns/bind-9.9.4p2::gentoo, ebuild scheduled for merge) dev-libs. I'm trying to install git on my Gentoo webserver. The command 'emerge dev-vcs/git' returns the following result:. IMPORTANT: 12 news items need reading for repository 'gentoo'. Use eselect news read to view new items. IMPORTANT: 5 config files in '/etc/portage' need updating. These slot conflicts have multiple ways to satisfy them, but there is not enough information to go on. Gentoo 1.4 dependency conflict in emerge system: Rounan.
- Gentoo Emerge Slot Conflict Games
- Gentoo Emerge Slot Conflict Theorists
- Gentoo Emerge Slot Conflict Guide
Emerge - slot conflict - part 2. Not a member of Pastebin yet? Gentoo, ebuild scheduled for merge) ^ ^^^^^.
It's mostly a transcript of commands and output snippets. Let's take a look:# emerge -uDNa world
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-libs/icu:0
(dev-libs/icu-54.1-r1:0/54a::gentoo, ebuild scheduled for merge) pulled in by
(no parents that aren't satisfied by other packages in this slot)
(dev-libs/icu-53.1:0/53::gentoo, installed) pulled in by
>=dev-libs/icu-51.2-r1:0/53=[abi_x86_32(-)] required by (media-libs/harfbuzz-0.9.28:0/0.9.18::gentoo, installed)
^^^^^^
(and 3 more with the same problem)
dev-lang/perl:0
(dev-lang/perl-5.20.1-r4:0/5.20::gentoo, ebuild scheduled for merge) pulled in by
(no parents that aren't satisfied by other packages in this slot)
(dev-lang/perl-5.18.2-r2:0/5.18::gentoo, installed) pulled in by
dev-lang/perl:0/5.18=[-build(-)] required by (dev-perl/XML-Parser-2.410.0-r2:0/0::gentoo, installed)
^^^^^^^^
(and 6 more with the same problem)
x11-base/xorg-server:0
(x11-base/xorg-server-1.16.4:0/1.16.1::gentoo, ebuild scheduled for merge) pulled in by
(no parents that aren't satisfied by other packages in this slot)
(x11-base/xorg-server-1.15.0:0/1.15.0::gentoo, installed) pulled in by
x11-base/xorg-server:0/1.15.0= required by (x11-drivers/xf86-video-vesa-2.3.3:0/0::gentoo, installed)
^^^^^^^^^^
!!! The ebuild selected to satisfy '>=media-libs/gst-plugins-bad-1.4.5:1.0[abi_x86_32(-)?,abi_x86_64(-)?,abi_x86_x32(-)?,abi_mips_n32(-)?,abi_mips_n64(-)?,abi_mips_o32(-)?,abi_ppc_32(-)?,abi_ppc_64(-)?,abi_s390_32(-)?,abi_s390_64(-)?]' has unmet requirements.
- media-libs/gst-plugins-bad-1.4.5::gentoo USE='X gles2 introspection nls opengl orc -egl -vnc -wayland'
The following REQUIRED_USE flag constraints are unsatisfied:
gles2? ( !opengl )
The above constraints are a subset of the following complete expression:
egl? ( !gles2 ) gles2? ( !egl !opengl ) opengl? ( X ) wayland? ( egl )
(dependency required by 'media-plugins/gst-plugins-resindvd-1.4.5' [ebuild])
(dependency required by 'media-plugins/gst-plugins-meta-1.0-r2[dvd]' [installed])
(dependency required by '@selected' [set])
(dependency required by '@world' [argument])
This might look scary, and it's indeed harder when there are multiple conflicts at the same time. That's why it's easier to handle when updating the system more often. Anyway, we'll solve them one at a time:
# emerge -1av icu
This was actually quite easy. Now perl can be more complicated, so let's use a command suggested by perl-cleaner:
# emerge -uD1a $(qlist -IC 'virtual/perl-*')
[blocks B ] <sys-apps/openrc-0.13.8 ('<sys-apps/openrc-0.13.8' is blocking sys-apps/kmod-19)
[blocks B ] <sys-apps/openrc-0.13 ('<sys-apps/openrc-0.13' is blocking sys-fs/udev-init-scripts-27)
* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.
(sys-apps/kmod-19:0/0::gentoo, ebuild scheduled for merge) pulled in by
sys-apps/kmod required by (sys-apps/pciutils-3.2.0:0/0::gentoo, installed)
>=sys-apps/kmod-15:0= required by (sys-apps/systemd-216-r3:0/2::gentoo, ebuild scheduled for merge)
sys-apps/kmod[tools] required by (virtual/modutils-0:0/0::gentoo, installed)
(sys-apps/openrc-0.12.4:0/0::gentoo, installed) pulled in by
sys-apps/openrc required by @system
>=sys-apps/openrc-0.12 required by (net-misc/netifrc-0.2.2:0/0::gentoo, installed)
sys-apps/openrc required by (virtual/service-manager-0:0/0::gentoo, installed)
(sys-fs/udev-init-scripts-27:0/0::gentoo, ebuild scheduled for merge) pulled in by
>=sys-fs/udev-init-scripts-25 required by (sys-apps/systemd-216-r3:0/2::gentoo, ebuild scheduled for merge)
More blockers, and seemingly unrelated. Anyway, we have to resolve the blocker first, let's try:
Gentoo Emerge Slot Conflict Games
Gentoo Emerge Slot Conflict Theorists
Finally, after including procps explicitly, it works! Don't forget to update config files when portage prompts about that.
What were we doing before? Okay, back to perl, and looks like it's going to work this time...
# emerge -1av @preserved-rebuild
Next remaining piece was X. Trying to emerge it explicitly gives a more detailed message:
# emerge -1av xorg-server
WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:
x11-proto/fontsproto:0
(x11-proto/fontsproto-2.1.3:0/0::gentoo, ebuild scheduled for merge) conflicts with
<x11-proto/fontsproto-2.1.3 required by (x11-libs/libXfont-1.4.8:0/0::gentoo, installed)
^ ^^^^^
Finally, the USE flag constraints:
I hope you found this useful. Especially things like $(qlist -IC 'virtual/perl-*') could be hard to find otherwise I guess.
Gentoo Emerge Slot Conflict Guide
TL;DR version
- See a slot conflict error
- Have a good cry over it
- Find one 'Target' in the problem group:
- Work out what 'final slot' you want to have insalled
- Find all the packages installed that need to reinstalled to satisfy the above
Note: The
^
is significant, as is using the package inCAT/PN:SLOT/SUBSLOT
syntax. Retaining a package version will break things. - Plead with portage to consider just those packages for reinstallation
- Observe that the thing that needed upgrading can now be upgraded, the things that need to be rebuilt are scheduled to be rebuilt, and portage now provides a merge plan.
- Praise jebus?
Note: this strategy won't always work for all cases, but it gets portage past the stupid problems it should be quite capable of its own and thus reduces you to solving the RealProblems™
Caveats
- You need
>=app-portage/portage-utils-0.80_pre20190620
- Some packages my fail to do any upgrades without additional hand-holding, despite producing a merge plan: Just yell at portage some more: