Hi, Updating x11-drivers/nvidia-drivers-357.26-r1 with 'abi_x86_32' and 'tools' on a 64-bit system now triggers a lot of packages x32 rebuilds: ------------------------------------------------------- alex@genty:~$ equery u nvidia-drivers [ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for x11-drivers/nvidia-drivers-375.26-r1: U I + + X : Install the X.org driver, OpenGL libraries, XvMC libraries, and VDPAU libraries + - abi_x86_32 : 32-bit (x86) libraries + - acpi : Add support for Advanced Configuration and Power Interface + - compat : Install non-GLVND libGL for backwards compatibility + - driver : Install the kernel driver module + - gtk3 : Install nvidia-settings with support for GTK+ 3 + - kms : Enable support for kernel mode setting (KMS) + + multilib : On 64bit systems, if you want to be able to compile 32bit and 64bit binaries - - pax_kernel : PaX patches from the PaX project - - static-libs : Build static versions of dynamic libraries as well + - tools : Install additional tools such as nvidia-settings + - uvm : Install the Unified Memory kernel module (nvidia-uvm) for sharing memory between CPU and GPU in CUDA programs - - wayland : Enable dev-libs/wayland backend -------------------------------------------------------- alex@genty:~$ emerge -vp nvidia-drivers These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] app-arch/bzip2-1.0.6-r7::gentoo USE="-static -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] app-arch/xz-utils-5.2.2::gentoo USE="threads -nls -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] media-libs/jbigkit-2.1:0/2.1::gentoo USE="-static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] dev-libs/lzo-2.08:2::gentoo USE="-examples -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] media-libs/libpng-1.6.27:0/16::gentoo USE="apng (-neon) -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] media-libs/libjpeg-turbo-1.5.0::gentoo USE="-java -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] sys-apps/util-linux-2.26.2::gentoo USE="cramfs ncurses suid unicode -build -caps -fdformat -nls -pam -python (-selinux) -slang -static-libs -systemd {-test} -tty-helpers -udev" ABI_X86="32* (64) (-x32)" PYTHON_SINGLE_TARGET="python3_4 -python2_7" PYTHON_TARGETS="python2_7 python3_4" 0 KiB [ebuild R ] virtual/jpeg-0-r2::gentoo USE="-static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] sys-libs/binutils-libs-2.25.1-r2:0/2.25.1::gentoo USE="zlib -64-bit-bfd -multitarget -nls -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] dev-util/pkgconfig-0.28-r2::gentoo USE="-hardened -internal-glib" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] virtual/pkgconfig-0-r1::gentoo ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/libXi-1.7.8::gentoo USE="-doc -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/libICE-1.0.9::gentoo USE="-doc -ipv6 -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-proto/renderproto-0.11.1-r1::gentoo ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] dev-libs/icu-58.1-r1:0/58.1::gentoo USE="-debug -doc -examples -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/pixman-0.34.0::gentoo USE="(-altivec) (-iwmmxt) (-loongson2f) (-neon) -static-libs" ABI_X86="32* (64) (-x32)" CPU_FLAGS_X86="mmxext sse2 ssse3" 0 KiB [ebuild R ] dev-libs/jansson-2.9::gentoo USE="-doc -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-proto/randrproto-1.5.0::gentoo ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] media-libs/tiff-4.0.7::gentoo USE="cxx jbig jpeg lzma zlib -static-libs {-test}" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] media-libs/jasper-1.900.6:0/1::gentoo USE="-jpeg -opengl -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-proto/recordproto-1.14.2-r1::gentoo USE="-doc" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-proto/compositeproto-0.4.2-r1::gentoo ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-proto/videoproto-2.3.3::gentoo ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/libXrender-0.9.10::gentoo USE="-static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] dev-libs/libxml2-2.9.4-r1:2::gentoo USE="icu python readline -debug -examples -ipv6 -lzma -static-libs {-test}" ABI_X86="32* (64) (-x32)" PYTHON_TARGETS="python2_7 python3_4 (-python3_5)" 0 KiB [ebuild R ] x11-libs/libSM-1.2.2-r1::gentoo USE="uuid -doc -ipv6 -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/libXcomposite-0.4.4-r1::gentoo USE="-doc -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/libXv-1.0.11::gentoo USE="-static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/libXtst-1.2.3::gentoo USE="-doc -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/libXrandr-1.5.1::gentoo USE="-static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/libXcursor-1.1.14::gentoo USE="-static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] sys-devel/gettext-0.19.7::gentoo USE="cxx ncurses openmp -acl -cvs -doc -emacs -git -java -nls -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/gdk-pixbuf-2.34.0:2::gentoo USE="X jpeg jpeg2k tiff -debug -introspection {-test}" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] dev-libs/atk-2.20.0::gentoo USE="-introspection -nls {-test}" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] dev-libs/libcroco-0.6.11:0.6::gentoo USE="{-test}" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] media-gfx/graphite2-1.3.8::gentoo USE="-perl {-test}" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] sys-apps/dbus-1.10.12::gentoo USE="X -debug -doc (-selinux) -static-libs -systemd {-test} -user-session" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] app-accessibility/at-spi2-core-2.20.2:2::gentoo USE="X -introspection" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] app-accessibility/at-spi2-atk-2.20.1:2::gentoo USE="{-test}" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] media-libs/freetype-2.6.3-r1:2::gentoo USE="X adobe-cff bzip2 infinality -bindist -debug -doc -fontforge -harfbuzz -png -static-libs -utils" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] media-libs/fontconfig-2.11.1-r2:1.0::gentoo USE="-doc -static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/cairo-1.14.6::gentoo USE="X glib svg (-aqua) -debug (-directfb) (-gles2) -opengl -static-libs -valgrind -xcb -xlib-xcb" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/libXft-2.3.2::gentoo USE="-static-libs" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] media-libs/harfbuzz-1.3.1:0/0.9.18::gentoo USE="cairo glib graphite icu truetype -fontconfig -introspection -static-libs {-test}" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/pango-1.40.3::gentoo USE="X -introspection {-test}" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] gnome-base/librsvg-2.40.16:2::gentoo USE="-introspection -tools -vala" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/gtk+-2.24.31:2::gentoo USE="(-aqua) -cups -debug -examples -introspection {-test} -vim-syntax -xinerama" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] media-libs/libepoxy-1.3.1::gentoo USE="{-test}" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild R ] x11-libs/gtk+-3.20.9:3::gentoo USE="X (-aqua) -broadway -cloudprint -colord -cups -examples -introspection {-test} -vim-syntax -wayland -xinerama" ABI_X86="32* (64) (-x32)" 0 KiB [ebuild U ~] x11-drivers/nvidia-drivers-375.26-r1:0/375::gentoo [375.26:0/375::gentoo] USE="X acpi compat driver gtk3 kms multilib tools uvm -pax_kernel -static-libs -wayland" ABI_X86="32%* (64%*) (-x32)" 0 KiB Total: 50 packages (1 upgrade, 49 reinstalls), Size of downloads: 0 KiB -------------------------------------------------------------------- Full update log 'update-log.txt' is attached. However, updating nvidia-drivers without 'tools' flag doesn't trigger anything like above: -------------------------------------------------------------------- alex@genty:~$ USE="-tools" emerge -vp nvidia-drivers These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ~] x11-drivers/nvidia-drivers-375.26-r1:0/375::gentoo [375.26:0/375::gentoo] USE="X acpi compat driver gtk3 kms multilib uvm -pax_kernel -static-libs -tools* -wayland" ABI_X86="32%* (64%*) (-x32)" 0 KiB Total: 1 package (1 upgrade), Size of downloads: 0 KiB --------------------------------------------------------------------- Is it possible to do something to make nvidia-drivers with 'tools' flag not to trigger so many x32 rebuilds? 'emerge --info' output is attached. Sorry for long copy-pastes. Regards, Alex
Created attachment 459984 [details] Full update log
Created attachment 459986 [details] emerge --info output
I think you mean abi_x86_32 rebuilds, ABI_X86=32 rebuilds, or 32-bit rebuilds; there are no x32 rebuilds in this output, and x32 is a 64-bit ABI.
Or in other words: Is it really necessary to build all the dependencies for the tools USE flag with [${MULTILIB_USEDEP}]? I guess that's what causes the rebuild of half of the system with abi_x86_32. A workaround for now to avoid all those rebuilds is to put this into package.use: x11-drivers/nvidia-drivers -abi_x86_32 But I guess that's not supposed to be done on a multilib profile and I don't know if 32 bit software will run with this.
(In reply to Heiko Baums from comment #4) > A workaround for now to avoid all those rebuilds is to put this into > package.use: > x11-drivers/nvidia-drivers -abi_x86_32 > > But I guess that's not supposed to be done on a multilib profile and I don't > know if 32 bit software will run with this. Yes, building nvidia-drivers with '-abi_x86_32' doesn't trigger all the above rebuilds. But I also don't know if 32-bit software will run with this, and I highly suspect it will not, and unfortunately I need nvidia-drivers exactly to run 32-bit software. And above all, all previous reliases up to 375.26 worked happily without these rebuilds. It's exactly 375.26-r1 where it all started. Regards, Alex
I mentioned this -abi_x86_32 workaround to at least be able to run a full system update until this issue is resolved.
Now new x11-drivers/nvidia-drivers-378.09 also triggers the same issue.
I guess the question here is whether the tools are actually multilib-enabled and would therefore require 32-bit libs. Glancing at src_install, it looks like they only get built/installed for a single ABI (the native ABI), so those ${MULTILIB_USEDEP} dependencies would be incorrect in that case.
New x11-drivers/nvidia-drivers-378.13 have the same issue.
Created attachment 463994 [details, diff] Remove MULTILIB_USEDEP from tools deps Here is a patch. This updates nvidia-drivers-378.13.ebuild, but the same change should be applied for all ebuilds.
(In reply to Mike Gilbert from comment #10) > Created attachment 463994 [details, diff] [details, diff] > Remove MULTILIB_USEDEP from tools deps Done. Thanks.
With . . . x11-drivers/nvidia-drivers:0/381 I _still_ have to add "-abi_x86_32". Re-Open? Which additional information can I provide to help?