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)