View previous topic :: View next topic |
Author |
Message |
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Thu Jul 05, 2018 2:16 pm Post subject: dropping ABI_X86="32" partially |
|
|
i'm bored by ABI_X86="64 32" and while i wish keep "some" 32, i don't want my system to keep building things in 32bits that i will just never use.
the problem is the masking:
* i can mask abi_x86_32 and unmask it per package (that's dangerous if i forget something important, but the easiest to do as i suppose the package list will be shorter)
* or leave abi_x86_32 and mask it per package (that's the top boring as the list of package will be huge and need update on any new package)
Anyone has done it? If so can you provide solution you have taken and the mask/unmask file.
edit: so i decide to take the masking per package safer path.
here's my way to get list of package to review : equery h abi_x86_32 | cut -d"]" -f2 | sed 's/-[0-9].*/ -abi_x86_32/' > /etc/portage/package.use/disable_abi_32 |
|
Back to top |
|
|
ali3nx l33t
Joined: 21 Sep 2003 Posts: 722 Location: Winnipeg, Canada
|
Posted: Thu Jul 05, 2018 2:47 pm Post subject: |
|
|
When the ABI flag was introduced i quickly discovered that using ABI_X86="64 32" on systems that required 32 bit libraries was far less effort than per package unmasking.
With that mentioned I have had to mask abi_x86_32 per package on a few rare occasions. It is entirely possible but doing this on many packages is i believe just as much effort as unmasking each package requiring abi_x86_32.
dev-lang/mono some months ago for example as a dependency for ~arch versions of wine-staging wouldn't build with abi_x86_32 so disabling it in package.use immediately fixed the issue at the time.
Code: | dev-lang/mono -abi_x86_32 |
I'm curious as well if there is a better way for multiple packages as well while still having all ABI_X86="64 32" available. I suspect portage is just coded to provide all, per package or nothing however but there's been no shortage of smart people around here for a decade or two that likely may know something I've missed the news update about _________________ Compiling Gentoo since version 1.4
Thousands of Gentoo Installs Completed
Emerged on every continent but Antarctica
Compile long and Prosper!
Last edited by ali3nx on Thu Jul 05, 2018 3:08 pm; edited 1 time in total |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30917 Location: here
|
Posted: Thu Jul 05, 2018 2:58 pm Post subject: |
|
|
I'm in a multilib profile and I never masked abi_x86_32 and system manage that very well. I don't have ABI_x86="64 32" variable in make.conf and the only packages compiled in 32bit is for nvidia-drivers and bublebee:
Code: | # eix --installed-with-use abi_x86_32 -c
[I] dev-libs/libpthread-stubs (0.4@05/05/2018): Pthread functions stubs for platforms missing them
[I] sys-apps/sandbox (2.13@03/25/2018): sandbox'd LD_PRELOAD hack
[I] sys-libs/zlib (1.2.11-r2@07/05/2018): Standard (de)compression library
[I] x11-base/xcb-proto (1.13@06/22/2018): X C-language Bindings protocol headers
[I] x11-drivers/nvidia-drivers (396.24-r1@07/05/2018): NVIDIA Accelerated Graphics Driver
[I] x11-libs/libX11 (1.6.5-r1@05/22/2018): X.Org X11 library
[I] x11-libs/libXau (1.0.8-r1@05/22/2018): X.Org X authorization library
[I] x11-libs/libXdmcp (1.1.2-r2@05/22/2018): X.Org X Display Manager Control Protocol library
[I] x11-libs/libXext (1.3.3-r1@05/22/2018): X.Org Xext library
[I] x11-libs/libvdpau (1.1.1@07/05/2018): VDPAU wrapper and trace libraries
[I] x11-libs/libxcb (1.13@04/22/2018): X C-language Bindings library
Found 11 matches |
_________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Thu Jul 05, 2018 2:58 pm Post subject: |
|
|
i did switch to amd64 not so far again only, so i have just use a multilib profile and let it go.
but it's boring to see 32bits version of some packages (seriously, who need 32 and 64bits version of sys-apps/file???)
i'm quickpkg my stuff before going into havoc, while waiting comments from someone that has taken the ABI="64" path. |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Thu Jul 05, 2018 3:03 pm Post subject: |
|
|
fedeliallalinea:
How you did, here's my result
Code: | eix --installed-with-use abi_x86_32 -c
Found 276 matches |
|
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
Cuong Nguyen Apprentice
Joined: 18 Jan 2018 Posts: 152
|
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30917 Location: here
|
Posted: Thu Jul 05, 2018 3:05 pm Post subject: |
|
|
I enable abi_x86_32 only when a package need it, I never added 32 in ABI_X86 varibale in make.conf _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Thu Jul 05, 2018 3:06 pm Post subject: |
|
|
Jaglover wrote: | You sure you still need 32 bit? I switched all my boxes over to no-multilib a year or more ago and never looked back. |
maybe i should had just goes no multilib, but i'm not willing to migrate that box (again). |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Thu Jul 05, 2018 3:09 pm Post subject: |
|
|
many thanks for the list!!!
i might goes this way then, i'm still thinking about it, but thank you, a real good base to work on.
some in the list are not my taste : qtcore, who need that in 32bits? |
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Thu Jul 05, 2018 3:21 pm Post subject: |
|
|
I've got a long list of 32-bit cruft installed (steam is the worst software I've used in 20 years...) but I enable it only when portage complains:
Code: | ~ $ eix --installed-with-use abi_x86_32 -c
Found 129 matches
~ $ eix --installed -c
Found 967 matches |
|
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
ali3nx l33t
Joined: 21 Sep 2003 Posts: 722 Location: Winnipeg, Canada
|
Posted: Thu Jul 05, 2018 3:27 pm Post subject: |
|
|
The per package unmasking is a wonderful thing but then you have to maintain all of those extra use flags.
I replied to someone on these forums last year that didn't know you could global unmask ABI_X86="64 32" in make.conf and that person's package.* files were one of the greatest examples of gentoo user tenacity i've witnessed in over ten years _________________ Compiling Gentoo since version 1.4
Thousands of Gentoo Installs Completed
Emerged on every continent but Antarctica
Compile long and Prosper! |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Thu Jul 05, 2018 4:12 pm Post subject: |
|
|
i have taken fedeliallalinea's path, ABI="64" set and i will reenable abi_x86_32 per package ; and oh well, let's see what happen
i'll tell you about the result later, right now i have 276 packages to rebuild |
|
Back to top |
|
|
Jaglover Watchman
Joined: 29 May 2005 Posts: 8291 Location: Saint Amant, Acadiana
|
|
Back to top |
|
|
Ant P. Watchman
Joined: 18 Apr 2009 Posts: 6920
|
Posted: Thu Jul 05, 2018 4:58 pm Post subject: |
|
|
I wish autounmask wasn't such a dumb implementation for that reason. If I want to install things like wine and steam-runtime that have about a hundred ABI_X86 things to tweak, it could recognise all of them are coming from one package and name the package.use/$file after that. And then add the file to the package's contents, so uninstalling it removes those deps. Or better yet, why should we have to specify the obvious at all? If I have app-emulation/wine ABI_X86: 64 32 there should be a make.conf setting to tell portage to figure out the rest and not bother me.
I'd say something similar ought to be done for all the dumb packages that USE_DEPEND on PYTHON_TARGETS=python2_7 but don't p.use.mask it that way - but tautologies like that should just be a repoman violation.
Last edited by Ant P. on Thu Jul 05, 2018 5:00 pm; edited 1 time in total |
|
Back to top |
|
|
Cuong Nguyen Apprentice
Joined: 18 Jan 2018 Posts: 152
|
Posted: Thu Jul 05, 2018 4:58 pm Post subject: |
|
|
Jaglover wrote: | It is like this: package A has abi_x86_32 because package B has it. And package B has it because package C has it. And the only reason package C has it is because package A has it. You go ahead and try to break this mess. |
There are some Gentoo distros use ABI_X86="64 32" in the make.conf and multilib toolchain: Sabayon Redcore Pentoo. I think no-multilib toolchain is only good for servers. If you are installing desktop, you might hit an application requires 32-bit libraries and no-multilib wont allow running gcc -m32. |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Thu Jul 05, 2018 9:42 pm Post subject: |
|
|
Cuong Nguyen wrote: | no-multilib wont allow running gcc -m32. |
it should, you just ask gcc to produce 32bits code, not running that code and your x86-64 cpu is able to produce that x86-32 code.
but i get what you mean ; that's just to bug you while my system is rebuilding |
|
Back to top |
|
|
Cuong Nguyen Apprentice
Joined: 18 Jan 2018 Posts: 152
|
Posted: Thu Jul 05, 2018 9:48 pm Post subject: |
|
|
krinn wrote: | Cuong Nguyen wrote: | no-multilib wont allow running gcc -m32. |
it should, you just ask gcc to produce 32bits code, not running that code and your x86-64 cpu is able to produce that x86-32 code.
|
Then tons of dependencies reported missed in linking, after running nearly hour compiling |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Thu Jul 05, 2018 11:06 pm Post subject: |
|
|
Here's my results:
Code: | eix --installed-with-use abi_x86_32 -c
[I] sys-apps/sandbox (2.13{tbz2}@05/07/2018): sandbox'd LD_PRELOAD hack
|
It's force by profile, and i'm more than ok with a 32bits sandbox
my only issue so far is broken 32bits nvidia-drivers, and worst, it do install them even i have disable it!
Code: | equery f nvidia-drivers | grep lib32 | wc -l
81
emerge -pv nvidia-drivers
...
[binary R ] x11-drivers/nvidia-drivers-396.24-r1:0/396::gentoo USE="X acpi driver kms multilib tools -compat -gtk3 -pax_kernel -static-libs -uvm -wayland" ABI_X86="(64) -32 (-x32)" 0 KiB
emerge -pv sandbox
[binary R ] sys-apps/sandbox-2.13::gentoo ABI_X86="(32) (64) (-x32)" 0 KiB |
and guess who is broken
Code: | [ 29% ] * broken /usr/lib32/libnvidia-fbc.so.396.24 (requires libX11.so.6
libXext.so.6)
* broken /usr/lib32/libnvidia-ifr.so.396.24 (requires libX11.so.6)
* broken /usr/lib32/libvdpau_nvidia.so.396.24 (requires libX11.so.6
libXext.so.6)
* broken /usr/lib32/opengl/nvidia/lib/libGLX.so.0 (requires libX11.so.6
libXext.so.6)
* broken /usr/lib32/opengl/nvidia/lib/libGLX_nvidia.so.396.24 (requires libX11.so.6
libXext.so.6)
|
|
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6098 Location: Dallas area
|
Posted: Fri Jul 06, 2018 10:04 am Post subject: |
|
|
I have about 60 some odd packages with abi_x86_32 in my package.use file (out of some 850~ packages) because I was running wine at one point.
I have a newer laptop that I started as 64 only and it works just fine.
Code: | app-arch/bzip2 abi_x86_32
dev-libs/elfutils abi_x86_32 static-libs
dev-libs/expat abi_x86_32
dev-libs/gmp abi_x86_32
dev-libs/libffi abi_x86_32
dev-libs/libgcrypt abi_x86_32
dev-libs/libgpg-error abi_x86_32
dev-libs/libpthread-stubs abi_x86_32
dev-libs/libxml2 abi_x86_32
dev-libs/libxslt abi_x86_32
dev-libs/nettle abi_x86_32
dev-libs/openssl abi_x86_32
media-libs/alsa-lib abi_x86_32
media-libs/libtxc_dxtn abi_x86_32
media-libs/fontconfig abi_x86_32
media-libs/freetype abi_x86_32 -cleartype_hinting
media-libs/glu abi_x86_32
media-libs/lcms abi_x86_32
media-libs/libjpeg-turbo abi_x86_32
media-libs/libpng abi_x86_32 apng
media-libs/mesa abi_x86_32 gles1 gles2 openvg xa xvmc video_cards_virgl -llvm -video_cards_radeon
media-libs/openal abi_x86_32
media-libs/tiff abi_x86_32
media-sound/gsm abi_x86_32
media-sound/mpg123 abi_x86_32
sys-apps/attr abi_x86_32
sys-devel/gettext abi_x86_32
sys-devel/llvm abi_x86_32
sys-fs/eudev -gudev -modutils kmod abi_x86_32
sys-libs/gpm abi_x86_32
sys-libs/ncurses abi_x86_32
sys-libs/zlib abi_x86_32
virtual/glu abi_x86_32
virtual/jpeg abi_x86_32
virtual/libffi abi_x86_32
virtual/libiconv abi_x86_32
virtual/libintl abi_x86_32
virtual/libudev abi_x86_32
virtual/opengl abi_x86_32
x11-libs/libdrm libkms abi_x86_32
x11-libs/libva abi_x86_32
x11-libs/libva-vdpau-driver abi_x86_32
x11-libs/libvdpau abi_x86_32
x11-libs/libX11 abi_x86_32
x11-libs/libXau abi_x86_32
x11-libs/libxcb abi_x86_32
x11-libs/libXcomposite abi_x86_32
x11-libs/libXcursor abi_x86_32
x11-libs/libXdamage abi_x86_32
x11-libs/libXdmcp abi_x86_32
x11-libs/libXext abi_x86_32
x11-libs/libXfixes abi_x86_32
x11-libs/libXi abi_x86_32
x11-libs/libXinerama abi_x86_32
x11-libs/libXrandr abi_x86_32
x11-libs/libXrender abi_x86_32
x11-libs/libxshmfence abi_x86_32
x11-libs/libXv abi_x86_32
x11-libs/libXvMC abi_x86_32
x11-libs/libXxf86dga abi_x86_32
x11-libs/libXxf86vm abi_x86_32
x11-base/xcb-proto abi_x86_32 |
I won't swear that all of the above are needed, as it used to require x11-proto/* files to be there and I cleaned those out just recently.
If not running wine (or some 32 bit binary) one is not likely to need 32 bit at all. _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
Posted: Fri Jul 06, 2018 11:44 am Post subject: |
|
|
yes, wine will make the list grow again for sure.
Code: | USE="abi_x86_32" emerge -pv1 wine
Total: 152 packages (152 reinstalls), Size of downloads: 0 KiB
|
|
|
Back to top |
|
|
Anon-E-moose Watchman
Joined: 23 May 2008 Posts: 6098 Location: Dallas area
|
Posted: Fri Jul 06, 2018 12:23 pm Post subject: |
|
|
Out of those 152, I would imagine fully half won't really need the abi 32 flag.
I chose the long way and just edited the package use file every time I got a block when installing wine.
And of course X needs some 32 bit flags, just because you might want to run 32 bit binaries.
I'm seriously considering just changing my multi-lib to 64 bit only since I quit running wine (in favor of qemu and some version of windows instead) _________________ PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland |
|
Back to top |
|
|
krinn Watchman
Joined: 02 May 2003 Posts: 7470
|
|
Back to top |
|
|
|