Gentoo Emerge Slot Conflict

Posted on  by admin

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.

Slot conflicts can be annoying. It's worse when an attempt to fix them leads to an even bigger mess. I hope this post helps you with some cases - and that portage will keep getting smarter about resolving them automatically.

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
Emerge
(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 @systemGentoo emerge slot conflict theorists
>=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:
[blocks B ] <sys-process/procps-3.3.9-r2 ('<sys-process/procps-3.3.9-r2' is blocking sys-apps/openrc-0.13.11)
* Error: The above package list contains packages which cannot be

(sys-process/procps-3.3.9:0/0::gentoo, installed) pulled in by

Gentoo Emerge Slot Conflict Games

sys-process/procps required by (app-emulation/open-vm-tools-2013.09.16.1328054-r3:0/0::gentoo, installed)

Gentoo Emerge Slot Conflict Theorists

(sys-apps/openrc-0.13.11:0/0::gentoo, ebuild scheduled for merge) pulled in by
openrc
sys-apps/openrc required by (virtual/service-manager-0:0/0::gentoo, installed)
>=sys-apps/openrc-0.12 required by (net-misc/netifrc-0.2.2:0/0::gentoo, installed)

Finally, after including procps explicitly, it works! Don't forget to update config files when portage prompts about that.
# dispatch-conf

What were we doing before? Okay, back to perl, and looks like it's going to work this time...
# emerge -uD1a $(qlist -IC 'virtual/perl-*')
# 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)
^ ^^^^^
# emerge -1av libXfont

Finally, the USE flag constraints:
# euse -D gles2
I hope you found this useful. Especially things like $(qlist -IC 'virtual/perl-*') could be hard to find otherwise I guess.
< User:Kentnl

Gentoo Emerge Slot Conflict Guide

TL;DR version

  1. See a slot conflict error
  2. Have a good cry over it
  3. Find one 'Target' in the problem group:
  4. Work out what 'final slot' you want to have insalled
  5. Find all the packages installed that need to reinstalled to satisfy the above

    Note: The ^ is significant, as is using the package in CAT/PN:SLOT/SUBSLOT syntax. Retaining a package version will break things.

  6. Plead with portage to consider just those packages for reinstallation
  7. 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.
  8. 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

  1. You need >=app-portage/portage-utils-0.80_pre20190620
  2. Some packages my fail to do any upgrades without additional hand-holding, despite producing a merge plan: Just yell at portage some more:
Retrieved from 'https://wiki.gentoo.org/index.php?title=User:Kentnl/Tips/Fixing_slot_conflicts&oldid=829273'