has unmet requirements

Wer mit Gentoo arbeitet, hat evtl. mit Meldungen zu unmet required (unerfüllte Anforderungen) in  USE-Flags zu tun.

localhost /home/fridolin # emerge -avuND world
These are the packages that would be merged, in order:

Calculating dependencies |

!!! Problem resolving dependencies for net-misc/networkmanager from @selected
... done!

!!! The ebuild selected to satisfy "net-misc/networkmanager" has unmet requirements.
- net-misc/networkmanager-1.8.4::gentoo USE="consolekit dhclient introspection modemmanager ncurses nss policykit ppp systemd wext wifi -audit -bluetooth -connection-sharing -dhcpcd (-elogind) -gnutls -json -ofono -resolvconf (-selinux) -teamd -test -vala" ABI_X86="(64) -32 (-x32)"

The following REQUIRED_USE flag constraints are unsatisfied:
at-most-one-of ( consolekit elogind systemd )
Portage 2.3.13 (python 3.5.4-final-0, default/linux/amd64/17.0/desktop, gcc-6.4.0, glibc-2.25-r9, 4.14.8-gentoo-r1 x86_64)

Die Fehlermeldung weist darauf hin, dass von den 3 Paketen Konsolenkit elogind systemd nur eines als USE-Flag ausgewählt werden darf. Es gibt die Mögichkeit die Datei /etc/make.conf anzupassen. Oder durch USE=“gewünschtes USE-Flag“ emerge -av „Paket“ einmalig eine Installation mit gewünschtem USE-Flag durchzuführen. Das USE-Flag consolekit sollte deaktiviert werden. Temporäre Ausführung:

localhost /home/fridolin # USE=-consolekit emerge -av networkmanager
* IMPORTANT: 16 news items need reading for repository 'gentoo'.
* Use eselect news read to view new items.

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

Calculating dependencies... done!
[ebuild R ] net-misc/networkmanager-1.8.4::gentoo USE="dhclient introspection modemmanager ncurses nss policykit* ppp systemd wext wifi -audit -bluetooth -connection-sharing -consolekit -dhcpcd (-elogind) -gnutls -json -ofono -resolvconf (-selinux) -teamd {-test} -vala" ABI_X86="(64) -32 (-x32)" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No]

Durch Speichern in der Datei /etc/portage/package.use/iputils wird die Einstellung gespeichert.

localhost # nano -w /etc/portage/package.use/iputils
>=net-misc/networkmanager-1.8.4 -consolekit

 

 

Ein weiteres Beispiel:

localhost /home/fridolin # emerge -auvND world

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

Calculating dependencies... done!

!!! The ebuild selected to satisfy "media-libs/libmediaart:2.0[introspection]" has unmet requirements.
- media-libs/libmediaart-1.9.4::gentoo USE="gtk introspection qt5 -test -vala" ABI_X86="(64)"

The following REQUIRED_USE flag constraints are unsatisfied:
at-most-one-of ( gtk qt5 )

The above constraints are a subset of the following complete expression:
at-most-one-of ( gtk qt5 ) vala? ( introspection )

(dependency required by "media-sound/gnome-music-3.22.2-r1::gentoo" [installed])
(dependency required by "gnome-base/gnome-extra-apps-3.22.2::gentoo[tracker]" [installed])
(dependency required by "gnome-base/gnome-3.22.2::gentoo[extras]" [ebuild])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

GTK und QT sind verschiedene Bibliotheken, die für ein Paket eingestellt werden können. Qt ist eine sehr umfangreiche C++ Klassenbibliothek für die Entwicklung von Anwendungen.  Die Benutzeroberfläche KDE verwendet seit jeher Qt GTK+ (GIMP Toolkit +) ist eine freie Komponentenbibliothek, mit der grafische Benutzeroberflächen (GUIs) geschrieben werden können. GNOME hängt stark mit GTK+ zusammen. Es sind in diesem Fall beide angegeben. Es ist vom Paket aber eine direkte Angabe von einer Bibliothek gewünscht. Durch ein USE=-qt5 kann die Kompilierung für ein gtk – Bibliothek angepasst werden. Es wird dann ohne die Bibliothek QT kompiliert. In der Datei /etc/portage/package.use kann die Festlegung stetig gespeichert werden.

localhost /home/fridolin # USE=-qt5 emerge -av media-libs/libmediaart
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] media-libs/libmediaart-1.9.4:2.0::gentoo USE="gtk* introspection -qt5 {-test} -vala" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No]

Die ständige Komilierung ohne der QT-Bibliothek kann in /etc/portage/make.conf durch das Eintragen von -qt5 in den USE-Flags hinterlegt werden. Ein Beispiel:

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C
USE="X, alsa, cups, -kde, -python2, gnome, gtk, -qt5, -games"
LINGUAS="DE_de"
L10N="de"
GENTOO_MIRRORS="https://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ http://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/ rsync://mirror.eu.oneandone.net/gentoo/ rsync://mirror.netcologne.de/gentoo/"
GRUB_PLATFORMS="efi-64"
/etc/portage/make.conf lines 1-23/23 (END)