Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 605664 - x11-drivers/nvidia-drivers-375.26-r1[tools] on amd64 system triggers a lot of abi_x86_32 rebuilds
Summary: x11-drivers/nvidia-drivers-375.26-r1[tools] on amd64 system triggers a lot of...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Jeroen Roovers (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-14 10:15 UTC by Alex
Modified: 2019-04-30 03:37 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Full update log (update-log.txt,20.56 KB, text/plain)
2017-01-14 10:16 UTC, Alex
Details
emerge --info output (emerge-info.txt,4.93 KB, text/plain)
2017-01-14 10:16 UTC, Alex
Details
Remove MULTILIB_USEDEP from tools deps (nvidia-drivers-multilib.patch,1.22 KB, patch)
2017-02-16 17:37 UTC, Mike Gilbert
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex 2017-01-14 10:15:30 UTC
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
Comment 1 Alex 2017-01-14 10:16:02 UTC
Created attachment 459984 [details]
Full update log
Comment 2 Alex 2017-01-14 10:16:25 UTC
Created attachment 459986 [details]
emerge --info output
Comment 3 Greg Kubaryk 2017-01-15 01:40:25 UTC
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.
Comment 4 Heiko Baums 2017-01-15 03:28:21 UTC
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.
Comment 5 Alex 2017-01-15 09:07:17 UTC
(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
Comment 6 Heiko Baums 2017-01-15 13:43:07 UTC
I mentioned this -abi_x86_32 workaround to at least be able to run a full system update until this issue is resolved.
Comment 7 Alex 2017-01-20 16:59:07 UTC
Now new x11-drivers/nvidia-drivers-378.09 also triggers the same issue.
Comment 8 Mike Gilbert gentoo-dev 2017-01-24 16:21:31 UTC
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.
Comment 9 Alex 2017-02-16 16:26:34 UTC
New x11-drivers/nvidia-drivers-378.13 have the same issue.
Comment 10 Mike Gilbert gentoo-dev 2017-02-16 17:37:23 UTC
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.
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2017-02-23 23:03:34 UTC
(In reply to Mike Gilbert from comment #10)
> Created attachment 463994 [details, diff] [details, diff]
> Remove MULTILIB_USEDEP from tools deps

Done. Thanks.
Comment 12 Manfred Knick 2017-04-26 10:55:08 UTC
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?