Both x11-drivers/ati-drivers and x11-drivers/nvidia-drivers have multilib useflag which calls in dependency of emul-linux-x86-compat. However multilib useflag is masked in profile linux-default/amd64/2007.0 and thus cannot call in dependency even when set in make.conf or at command line Reproducible: Always Steps to Reproduce: From clean system build with xorg-server emerged (VIDEO_CARDS=fglrx) 1.Run "USE=amd64 multilib" emerge -pv ati-drivers Actual Results: The mulitlib useflag is ignored entirely by portage and the emul-linux-x86-compat dependency implied by the multilib useflag (see below) is not pulled in. Expected Results: The ebuild for ati-drivers contains: RDEPEND="x11-base/xorg-server !x11-apps/ati-drivers-extra >=app-admin/eselect-1.0.9 app-admin/eselect-opengl =virtual/libstdc++-3.3* amd64? ( multilib? ( app-emulation/emul-linux-x86-compat ) ) acpi? ( x11-apps/xauth sys-power/acpid ) >=sys-apps/portage-2.1.1-r1" Hence expect that on ARCH amd64 with USE=multilib, ebuild should pull in emul-linux-x86-compat as a dependency. Likewise for nvidia drivers: COMMON="x11-base/xorg-server multilib? ( app-emulation/emul-linux-x86-xlibs ) kernel_FreeBSD? ( !media-video/nvidia-freebsd ) !app-emulation/emul-linux-x86-nvidia !x11-drivers/nvidia-legacy-drivers" Thus on ARCH * with USE=multilib, emul-linux-x86-compat should be pulled in as a dependency. Since multilib has been deprecated as a useflag (see comment by Genone on http://forums.gentoo.org/viewtopic.php?p=4466561), would it be sensible to remove it entirely from portage and where it is still being used as a useflag (for instance the ati-drivers and nvidia-drivers), an alternative solution be used? It is not honoured by portage as a useflag, as the attached emerge --info shows (multilib is set in my make.conf, but is ignored by portage). One option suggested by i92guboj (see forums post above) is to append the following to multilib using ebuilds. The example works in the ati-drivers-8.39.4 ebuild when appended after RDEPEND: if [ ! "${MULTILIB_ABIS/amd64/}" == "${MULTILIB_ABIS}" ] then RDEPEND="${RDEPEND} app-emulation/emul-linux-x86-compat" fi I've not been able to test this on a non-multilib profile, but have done on a default-linux/amd64/2007.0 profile. Also I have been unable to test this for the nvidia-drivers ebuilds.
Created attachment 135368 [details] emerge --info emerge --info. Note multilib flag does not appear in useflags, even though it is set in make.conf
*** This bug has been marked as a duplicate of bug 187683 ***