View previous topic :: View next topic |
Author |
Message |
cz0 Guru
Joined: 13 Jun 2005 Posts: 312 Location: /earth/russia/moscow
|
Posted: Fri Nov 08, 2024 11:24 am Post subject: nomultilib Desktop - any brave folks out there? |
|
|
Hi, folks.
Recently I managed to get 64-bit version of legacy PCB CAD software to run on my computer giving me a chance to make an attempt to get rid of multilib.
I checked my /opt directory and it seems that there are no ELF32 binaries left on my system except libraries.
But I was slightly frighten by various discussions mentioning that it will be not easy to get multilib back if I ever need it.
My decade old Lenovo X230 seems to be to weak for any of this modern Steam or whatever games and, what is worth - I never seem to have time for this. Instead, I may occasionally run 64-bit WinXP VM in Virtual Box.
On the other hand, my system will benefit from 64-bit only set by reducing compilation time on aging hardware.
I wonder if there are any brave enough folks running pure 64-bit desktop and if there are any disadvantages for every-day use scenario in case system is used primitively for Internet surfing, programming and engineering using in-place compiled software.
Thank you. |
|
Back to top |
|
|
pietinger Moderator
Joined: 17 Oct 2006 Posts: 5110 Location: Bavaria
|
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2432
|
Posted: Fri Nov 08, 2024 12:15 pm Post subject: |
|
|
pietinger wrote: |
Yes, the way back is very hard ... |
I'm not sure if it's even worth it, given that with the binhost one can bring up a new and complete installation in a matter of hours. I say hours because last I did emerge --emptytree it took me like I think 6 hours to reemerge ~1600 packages (during 17.1->23.0 migration).
So I don't think it's that scary.
On the other hand the set of packages built for both 32 and 64 bit can be quite limited, so I don't see much of a benefit, even for older hardware. Especially with the above-mentioned binhost available...
Best Regards,
Georgi
p.s. actually, is going back that hard with the binhost available?
Last edited by logrusx on Fri Nov 08, 2024 3:17 pm; edited 2 times in total |
|
Back to top |
|
|
Perfect Gentleman Veteran
Joined: 18 May 2014 Posts: 1255
|
Posted: Fri Nov 08, 2024 1:35 pm Post subject: |
|
|
Me! Me! Me! |
|
Back to top |
|
|
Banana Moderator
Joined: 21 May 2004 Posts: 1734 Location: Germany
|
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3703 Location: Rasi, Finland
|
Posted: Fri Nov 08, 2024 4:24 pm Post subject: |
|
|
I use no-multilib everywhere except on boxes where I might install some binary distributed games (gog.com). On those same machines I make sure I use glibc as the system libc. _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2432
|
Posted: Fri Nov 08, 2024 6:08 pm Post subject: |
|
|
I think having -abi_x86_32 in make.conf will bring the 32bit enabled packages to minimum. For me it's 3 packages.
However I'm not sure how good of a practice that is. Before that it was 9 packages. Without it, portage wants to enable 32 bit abi on those six again. What I was able to find out it the profile enabled 32 bit abi on libomp and it brought it in for clang-runtime, compiler-rt and compiler-rt-sanitizers. The other two are virtual/libcrypt and libxcrypt.
I let it install the binary packages and everything seems to be fine.
However I don't think those will significantly decrease compilation time. Also there's the binhost.
Best Regards,
Georgi |
|
Back to top |
|
|
pietinger Moderator
Joined: 17 Oct 2006 Posts: 5110 Location: Bavaria
|
Posted: Fri Nov 08, 2024 6:49 pm Post subject: |
|
|
logrusx,
the main reason for a no-multilib system is: You can now disable 32bit in the kernel ... and this is increasing kernel security!
See also KSPP: https://kspp.github.io/Recommended_Settings ->
Code: | # Remove additional (32-bit) attack surface, unless you really need them.
# CONFIG_COMPAT is not set
# CONFIG_IA32_EMULATION is not set
# CONFIG_X86_X32 is not set
# CONFIG_X86_X32_ABI is not set
# CONFIG_MODIFY_LDT_SYSCALL is not set |
_________________ https://wiki.gentoo.org/wiki/User:Pietinger |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2432
|
Posted: Fri Nov 08, 2024 7:25 pm Post subject: |
|
|
pietinger wrote: |
the main reason for a no-multilib system is: You can now disable 32bit in the kernel ... and this is increasing kernel security! |
I didn't know that, thanks for mentioning it!
pietinger wrote: | See also KSPP |
I remember some time ago I actually looked at it, but didn't like some of the settings and it might actually have been exactly because I needed 32bit support back then.
However OP's main concern seems to be compilation time, which I argue will not be decreased in any noticeable way by going no-multilib. Sure there are other good reasons to do so.
On another note I remember not having 32bit support for wine for a very long time (for compilation time reasons) and that's the only thing I can think of needs it. So I guess 32bit support is something niche nowadays. I still hesitate going full no-multilib though.
Best Regards,
Georgi |
|
Back to top |
|
|
dmpogo Advocate
Joined: 02 Sep 2004 Posts: 3425 Location: Canada
|
Posted: Fri Nov 08, 2024 7:55 pm Post subject: |
|
|
And I use some legacy code for which I need to have gcc-3.3.6 tar ball (well libstdc++-v3 ) |
|
Back to top |
|
|
bstaletic Guru
Joined: 05 Apr 2014 Posts: 372
|
Posted: Fri Nov 08, 2024 8:51 pm Post subject: |
|
|
Last time I tried the no-multilib profile, I was fine for a while.
Then I realized that cross-arm-linux-gnueabihf toolchain couldn't be bootstrapped, because no-multilib lacks gnu/stubs-32.h
So, even though I only needed that toolchain for building some RPi projects, I had to go back to the multilib profile.
I don't know what that means for the kernel config. I'm playing safe and keeping 32bit support enabled. |
|
Back to top |
|
|
cz0 Guru
Joined: 13 Jun 2005 Posts: 312 Location: /earth/russia/moscow
|
Posted: Sat Nov 09, 2024 8:52 am Post subject: |
|
|
bstaletic wrote: |
Then I realized that cross-arm-linux-gnueabihf toolchain couldn't be bootstrapped, because no-multilib lacks gnu/stubs-32.h
So, even though I only needed that toolchain for building some RPi projects, I had to go back to the multilib profile.
I don't know what that means for the kernel config. I'm playing safe and keeping 32bit support enabled. |
Thank you for pointing this out, I'm using arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi and need to check if no-multilib can brake it. Most likely not, but I should go through the binaries and check. |
|
Back to top |
|
|
mega_flow Tux's lil' helper
Joined: 26 Jun 2016 Posts: 95 Location: Belgium
|
Posted: Sat Nov 09, 2024 9:25 am Post subject: |
|
|
running nomultilib for 2 year now
my parent file
gentoo:default/linux/amd64/23.0/no-multilib/systemd
gentoo:targets/desktop/gnome/systemd
LarryTheCow:extra
my build server is 64-bit only . and with flatpak i no longer need to build 32 bit
ps it is not hard to switch back u need 3 progs for this glibc gcc and sys-apps/sandbox and you can fetch this from the binhost _________________ default/linux/amd64/23.0/no-multilib/gnome/systemd gnome:46 |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2432
|
Posted: Sat Nov 09, 2024 10:46 am Post subject: |
|
|
mega_flow wrote: |
ps it is not hard to switch back u need 3 progs for this glibc gcc and sys-apps/sandbox and you can fetch this from the binhost |
I had that suspicion, thanks for confirming. It looks like binhost solves more problems than intended for :)
Best Regards,
Georgi |
|
Back to top |
|
|
cz0 Guru
Joined: 13 Jun 2005 Posts: 312 Location: /earth/russia/moscow
|
Posted: Sat Nov 09, 2024 12:35 pm Post subject: |
|
|
Code: |
# find / -mount -name 'stubs-32.h'
/usr/include/gnu/stubs-32.h
# equery belongs /usr/include/gnu/stubs-32.h
* Searching for /usr/include/gnu/stubs-32.h ...
sys-libs/glibc-2.40-r5 (/usr/include/gnu/stubs-32.h)
[ebuild R ] sys-libs/glibc-2.40-r5:2.2::gentoo USE="caps cet multiarch (multilib) ssp stack-realign (static-libs) -audit -compile-locales (-custom-cflags) -doc -gd -hash-sysv-compat -headers-only -multilib-bootstrap -nscd -perl -profile (-selinux) -suid -systemd -systemtap -test (-vanilla)" 0 KiB
|
Looks like a also mey need this for arm-gnu-toolchain-13.3.rel1-x86_64-arm-none-eabi. Probably need to investigate feather. |
|
Back to top |
|
|
cz0 Guru
Joined: 13 Jun 2005 Posts: 312 Location: /earth/russia/moscow
|
Posted: Sat Nov 09, 2024 4:21 pm Post subject: |
|
|
I also had ABI_X86="64 32" in my make.conf forcing 32-bit binaries for 242 libs in my system. Just commented this out and rebuilding all this stuff. |
|
Back to top |
|
|
Goverp Advocate
Joined: 07 Mar 2007 Posts: 2179
|
Posted: Sat Nov 09, 2024 4:33 pm Post subject: |
|
|
logrusx wrote: | I think having -abi_x86_32 in make.conf will bring the 32bit enabled packages to minimum. For me it's 3 packages. ... |
Of course it depends on what packages you have. I have Steam, and I presume that is why I have 93 packages with abi_x86_32!
There might be obsolete entries in that - I've not tried cleaning the list up, and it started several years ago. _________________ Greybeard |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2432
|
Posted: Sat Nov 09, 2024 4:38 pm Post subject: |
|
|
Goverp wrote: | logrusx wrote: | I think having -abi_x86_32 in make.conf will bring the 32bit enabled packages to minimum. For me it's 3 packages. ... |
Of course it depends on what packages you have. I have Steam, and I presume that is why I have 93 packages with abi_x86_32!
There might be obsolete entries in that - I've not tried cleaning the list up, and it started several years ago. |
Steam and Wine are stories on their own. As we say in my country, that's another beer. However OP explicitly stated their laptop is too old for steam and games.
Best Regards,
Georgi |
|
Back to top |
|
|
cz0 Guru
Joined: 13 Jun 2005 Posts: 312 Location: /earth/russia/moscow
|
Posted: Sat Nov 09, 2024 8:02 pm Post subject: |
|
|
That's true. This is 2013 i5-3230M with 12" screen. I never played any game on this laptop (as well as on any of my other systems) since purchase and not going. Therefore Steam or GoG are not in scope. Wine is, probably, either - I have WM for Windows software that I don't run that often (and probably can refuse). The only thing that I still use occasionally is Cadsoft Eagle PCB design tool. But since version 7.3 they released native 64-bit executable freeing me from keeping 32-bit libraries. Moreover, since acquisition by Autodesk years ago, they changes licensing model to subscription - this is strongly "no-way" for me and I keep this CAD only for my old projects with new designs started only in KiCAD. |
|
Back to top |
|
|
cz0 Guru
Joined: 13 Jun 2005 Posts: 312 Location: /earth/russia/moscow
|
Posted: Sun Nov 10, 2024 11:16 am Post subject: |
|
|
I started my fight against multilib by commenting out ABI_X86="64 32" in my make.conf (have no clue how it sneaked there) resulting in many 32-bit libraries drainage:
Code: |
ldd eagle
linux-gate.so.1 (0xf7f28000)
libXrender.so.1 => not found
libXrandr.so.2 => not found
libXcursor.so.1 => not found
libfreetype.so.6 => not found
libfontconfig.so.1 => not found
libXext.so.6 => not found
libX11.so.6 => not found
libdl.so.2 => /lib/libdl.so.2 (0xf7efa000)
libXi.so.6 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0xf7ef3000)
librt.so.1 => /lib/librt.so.1 (0xf7eee000)
libssl.so.1.0.0 => not found
libcrypto.so.1.0.0 => not found
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/32/libstdc++.so.6 (0xf7c7b000)
libm.so.6 => /lib/libm.so.6 (0xf7ba6000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/13/32/libgcc_s.so.1 (0xf7b7d000)
libc.so.6 => /lib/libc.so.6 (0xf7958000)
/lib/ld-linux.so.2 (0xf7f2a000)
libz.so.1 => /usr/lib/libz.so.1 (0xf793e000)
|
But it came out that net-print/cndrvcups-capt-2.71 that I keep for my old Japanese Canon LBP-810 needs some 32bit stuff that still forces me to enable abi_x86_32 for some libs:
Code: |
cat /etc/portage/package.use/abi_x86_32
net-libs/libtirpc abi_x86_32
# Needed by capt
dev-libs/icu abi_x86_32
dev-libs/libxml2 abi_x86_32
dev-libs/popt abi_x86_32
sys-libs/zlib abi_x86_32
virtual/libintl abi_x86_32
|
This cndrvcups-capt is an long deprecated driver that I keep on board patching/fixing it once a couple of years to get my old printer working. It has both 32 and 64 bit drivers and I may be able to get rid of 32bit stuff later. |
|
Back to top |
|
|
cz0 Guru
Joined: 13 Jun 2005 Posts: 312 Location: /earth/russia/moscow
|
Posted: Sat Nov 16, 2024 8:04 am Post subject: |
|
|
I had a look at:
net-print/cndrvcups-common-2.71-r1
net-print/cndrvcups-capt-2.71
That keep my old printer running both has precompiled 32-bit binaries and there is no way to get rid of this.
Anyone knows actual driver for Canon LBP-810 without 32-bit stuff?
P.S. I just can't drop this thing. Even it is old, it build like a tank and keeps on running regardless its age. And no this cartridge sh*t. |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2432
|
Posted: Sat Nov 16, 2024 8:43 am Post subject: |
|
|
Just keep your 32bit packages, they are not that many.
Best Regards,
Georgi |
|
Back to top |
|
|
pa4wdh l33t
Joined: 16 Dec 2005 Posts: 883
|
Posted: Sat Nov 16, 2024 4:50 pm Post subject: |
|
|
I've done only nomultilib installs since 2012 or so. 32 bit simply nowhere near my use-cases to i don't miss it. Often i'm surprised that even 22 years after the arrival of 64bit, 32bit is still a thing.
Most of the times that is a sign of how proprietary software holds back development. _________________ The gentoo way of bringing peace to the world:
USE="-war" emerge --newuse @world
My shared code repository: https://code.pa4wdh.nl.eu.org
Music, Free as in Freedom: https://www.jamendo.com |
|
Back to top |
|
|
CaptainBlood Advocate
Joined: 24 Jan 2010 Posts: 3863
|
Posted: Sat Nov 16, 2024 6:24 pm Post subject: |
|
|
I mainly remained under multilib because expecting wine issue doing otherwise...
Finally not using wine here.
However how does multilib remain required in this respect?
Cornercase constraints could help to decide to make the jump...
Thks 4 ur attention, interest & support. _________________ USE="-* ..." in /etc/portage/make.conf here, i.e. a countermeasure to portage implicit braces, belt & diaper paradigm
LT: "I've been doing a passable imitation of the Fontana di Trevi, except my medium is mucus. Sooo much mucus. " |
|
Back to top |
|
|
logrusx Advocate
Joined: 22 Feb 2018 Posts: 2432
|
Posted: Sat Nov 16, 2024 7:09 pm Post subject: |
|
|
CaptainBlood wrote: |
Finally not using wine here. |
Same here. Luckily, only 9 packages have 32-bit abi:
Code: | $ eix --installed-with-use abi_x86_32 --format '<installedversions:NAMEVERSION>'
dev-libs/boehm-gc-8.2.8
dev-libs/libatomic_ops-7.8.2
sys-apps/sandbox-2.39
sys-devel/clang-runtime-18.1.8
sys-libs/compiler-rt-18.1.8-r1
sys-libs/compiler-rt-sanitizers-18.1.8-r1
sys-libs/libomp-18.1.8
sys-libs/libxcrypt-4.4.36-r3
virtual/libcrypt-2-r1
Found 9 matches
|
This is with desktop/gnome/systemd profile. I don't think anything else pulls in those.
So I'm not that concerned about that. Plus, I was concerned back when I had very outdated hardware. Now I can even afford to maintain Wine installation, however I better wait for it to be nedded, rather than constantly wasting resources updating it.
Best Regards,
Georgi |
|
Back to top |
|
|
|