View previous topic :: View next topic |
Author |
Message |
cctsurf Tux's lil' helper


Joined: 12 Oct 2006 Posts: 126
|
Posted: Wed May 24, 2023 4:15 pm Post subject: Build Desktop with no-multilib? |
|
|
I have had a lot of suggested use: abi_x86_32 recently...
I was wondering why we are still running multilib systems. I know there is a lot of 32bit inertia here, but I was wondering if I could build a new install for my desktop that entirely avoided the 32bit binaries? (I use kde/plasma) Are there still lots of blockers for that idea? I suppose the only way to find out would be to try it in a VM or chroot...
Any Thoughts?
Thanks! |
|
Back to top |
|
 |
Hu Administrator

Joined: 06 Mar 2007 Posts: 23131
|
Posted: Wed May 24, 2023 4:28 pm Post subject: |
|
|
Multilib persists because switching from no-multilib to multilib is hard and officially unsupported, so anyone who expects to ever need multilib needs to start with it and stay with it. However, on a typical system that does not really need multilib, very few things will be built with it, and you should never get warnings about needing to adjust the abi_x86_32 settings.
The most common offender now is Windows games (including those sold through Steam to run on Linux through a Wine wrapper). Running a 32-bit Windows game requires a 32-bit Wine, which means multilib, or an x86 chroot. I think almost everything for which source is available, and for which anyone cares, has been ported to 64-bit by now. |
|
Back to top |
|
 |
cctsurf Tux's lil' helper


Joined: 12 Oct 2006 Posts: 126
|
Posted: Wed May 24, 2023 4:39 pm Post subject: |
|
|
That sounds REALLY encouraging.
I'm not running anything wine/Steam any more.
I think I'll see if I can build it in a chroot and how well it builds, then think about moving my system.
Thanks! |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 54921 Location: 56N 3W
|
Posted: Wed May 24, 2023 4:41 pm Post subject: |
|
|
cctsurf,
I've been no-multilib since Apr 2009 but I not a gamer. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
cctsurf Tux's lil' helper


Joined: 12 Oct 2006 Posts: 126
|
Posted: Wed May 24, 2023 5:07 pm Post subject: |
|
|
As I think about this, is there a easy way to compare the use flags, etc. that are set by the different profiles? I'm guessing that I'm going to have to add the plasma subset to my make.conf file. |
|
Back to top |
|
 |
NeddySeagoon Administrator


Joined: 05 Jul 2003 Posts: 54921 Location: 56N 3W
|
Posted: Wed May 24, 2023 5:19 pm Post subject: |
|
|
cctsurf,
Choose a random profile.
Runthat lists the global USE settings from your profile and make.conf.
Rinse and repeat for other profiles.
As long as you do not install anything, looking is harmless.
Its possible to save the output to a file and use on the files.
Reading Gentoos cascading profiles will only make your head hurt. _________________ Regards,
NeddySeagoon
Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail. |
|
Back to top |
|
 |
pietinger Moderator

Joined: 17 Oct 2006 Posts: 5431 Location: Bavaria
|
Posted: Wed May 24, 2023 5:49 pm Post subject: |
|
|
cctsurf wrote: | As I think about this, is there a easy way to compare the use flags, etc. that are set by the different profiles? I'm guessing that I'm going to have to add the plasma subset to my make.conf file. |
No, there is a better approach: https://forums.gentoo.org/viewtopic-p-8694188.html#8694188
(I have also a No-Multilib and Plasma system and have this solution.) |
|
Back to top |
|
 |
cctsurf Tux's lil' helper


Joined: 12 Oct 2006 Posts: 126
|
Posted: Wed May 24, 2023 6:04 pm Post subject: |
|
|
pietinger wrote: | cctsurf wrote: | As I think about this, is there a easy way to compare the use flags, etc. that are set by the different profiles? I'm guessing that I'm going to have to add the plasma subset to my make.conf file. |
No, there is a better approach: https://forums.gentoo.org/viewtopic-p-8694188.html#8694188
(I have also a No-Multilib and Plasma system and have this solution.) |
Very Nice! Appreciated!
If Quote: | switching from no-multilib to multilib is hard and officially unsupported | ... what about switching from multilib to no-multilib?
Thanks! |
|
Back to top |
|
 |
Hu Administrator

Joined: 06 Mar 2007 Posts: 23131
|
Posted: Wed May 24, 2023 6:54 pm Post subject: |
|
|
That is comparatively easy. The switch from multilib->no-multilib is dropping the 32-bit pieces. The reverse is building those pieces, but you need them before you can build them, which is why enabling multilib is hard. |
|
Back to top |
|
 |
stefan11111 l33t

Joined: 29 Jan 2023 Posts: 954 Location: Romania
|
Posted: Wed May 24, 2023 10:23 pm Post subject: |
|
|
Hu wrote: |
The most common offender now is Windows games (including those sold through Steam to run on Linux through a Wine wrapper). Running a 32-bit Windows game requires a 32-bit Wine, which means multilib, or an x86 chroot. I think almost everything for which source is available, and for which anyone cares, has been ported to 64-bit by now. |
Steam is the only thing keeping me from using no-multilib.
Sad they don't have a 64-bit linux client, especially when they have one for apple. _________________ My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev" |
|
Back to top |
|
 |
stefan11111 l33t

Joined: 29 Jan 2023 Posts: 954 Location: Romania
|
Posted: Wed May 24, 2023 10:24 pm Post subject: |
|
|
NeddySeagoon wrote: |
Reading Gentoos cascading profiles will only make your head hurt. |
Or...
USE="-*" _________________ My overlay: https://github.com/stefan11111/stefan_overlay
INSTALL_MASK="/etc/systemd /lib/systemd /usr/lib/systemd /usr/lib/modules-load.d *udev* /usr/lib/tmpfiles.d *tmpfiles* /var/lib/dbus /usr/bin/gdbus /lib/udev" |
|
Back to top |
|
 |
asturm Developer

Joined: 05 Apr 2007 Posts: 9341
|
Posted: Thu May 25, 2023 5:21 am Post subject: |
|
|
Dont. |
|
Back to top |
|
 |
Zucca Moderator


Joined: 14 Jun 2007 Posts: 3959 Location: Rasi, Finland
|
Posted: Thu May 25, 2023 7:16 am Post subject: |
|
|
cctsurf,
There's very little risk going with no-multilib. Unless you specifically use Steam.
NeddySeagoon wrote: | I've been no-multilib since Apr 2009 but I not a gamer. | Like Neddy, I've been no-multilib user for a long time. I occasionally play games bought from gog. So far only one game has been 32-bit only so I had to skip it.
So: If you use Steam or you may dig up that old binary from somewhere... go with multilib. It's a "safe bet", but you probably will rarely actually need it. _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
 |
Anon-E-moose Watchman


Joined: 23 May 2008 Posts: 6234 Location: Dallas area
|
Posted: Thu May 25, 2023 10:49 am Post subject: |
|
|
If you leave the profile multilib, you can always set MULTILIB_ABI to just build 64bit stuff.
It leaves you with a minimal multilib system (basically glibc and gcc 32 bit stuff ... IIRC) _________________ UM780, 6.12 zen kernel, gcc 13, openrc, wayland |
|
Back to top |
|
 |
cctsurf Tux's lil' helper


Joined: 12 Oct 2006 Posts: 126
|
Posted: Fri May 26, 2023 10:41 pm Post subject: |
|
|
Went to no-multilib, kinda wish I had seen some of the notes about keeping multilib, but with a minimum multilib, but I had already begun the recompile...
One problem I am running into:
On one system (I moved 2 to no-multilib), I am getting suggested rebuilds for a number of packages @preserved-rebuild stuff, but when I run emerge @preserved-rebuild, it doesn't rebuild anything.
I thought, "since I just made a fairly major move, maybe I should rebuild my entire system and that will get rid of it... nope. Still have the suggestion and no action when I attempt to rebuild.
Any Suggestions?
Code: | * GNU info directory index is up-to-date.
!!! existing preserved libs:
>>> package: app-arch/bzip2-1.0.8-r4
* - /usr/lib/libbz2.so.1
* - /usr/lib/libbz2.so.1.0.8
* used by /usr/lib/libfreetype.so.6 (preserved)
* used by /usr/lib/libfreetype.so.6.19.0 (preserved)
>>> package: dev-libs/glib-2.76.3
* - /usr/lib/libglib-2.0.so.0
* - /usr/lib/libglib-2.0.so.0.7600.2
* used by /usr/lib/libharfbuzz.so.0 (preserved)
* used by /usr/lib/libharfbuzz.so.0.60730.0 (preserved)
>>> package: dev-libs/libpcre2-10.42-r1
* - /usr/lib/libpcre2-8.so.0
* - /usr/lib/libpcre2-8.so.0.11.2
* used by /usr/lib/libglib-2.0.so.0 (preserved)
* used by /usr/lib/libglib-2.0.so.0.7600.2 (preserved)
>>> package: media-gfx/graphite2-1.3.14_p20210810-r3
* - /usr/lib/libgraphite2.so.3
* - /usr/lib/libgraphite2.so.3.2.1
* used by /usr/lib/libharfbuzz.so.0 (preserved)
* used by /usr/lib/libharfbuzz.so.0.60730.0 (preserved)
>>> package: media-libs/freetype-2.13.0
* - /usr/lib/libfreetype.so.6
* - /usr/lib/libfreetype.so.6.19.0
* used by /usr/lib/libharfbuzz.so.0 (preserved)
* used by /usr/lib/libharfbuzz.so.0.60730.0 (preserved)
>>> package: media-libs/harfbuzz-7.3.0
* - /usr/lib/libharfbuzz.so.0
* - /usr/lib/libharfbuzz.so.0.60730.0
* used by /usr/lib/libfreetype.so.6 (preserved)
* used by /usr/lib/libfreetype.so.6.19.0 (preserved)
>>> package: media-libs/libpng-1.6.39
* - /usr/lib/libpng16.so.16
* - /usr/lib/libpng16.so.16.39.0
* used by /usr/lib/libfreetype.so.6 (preserved)
* used by /usr/lib/libfreetype.so.6.19.0 (preserved)
>>> package: sys-libs/glibc-2.37-r3
* - /lib/ld-linux.so.2
* - /lib/libc.so.6
* used by /usr/lib/libbz2.so.1 (preserved)
* used by /usr/lib/libbz2.so.1.0.8 (preserved)
* used by /usr/lib/libfreetype.so.6 (preserved)
* used by /usr/lib/libfreetype.so.6.19.0 (preserved)
* used by /usr/lib/libglib-2.0.so.0 (preserved)
* used by /usr/lib/libglib-2.0.so.0.7600.2 (preserved)
* used by /usr/lib/libgraphite2.so.3 (preserved)
* used by /usr/lib/libgraphite2.so.3.2.1 (preserved)
* used by /usr/lib/libharfbuzz.so.0 (preserved)
* used by /usr/lib/libharfbuzz.so.0.60730.0 (preserved)
* used by /usr/lib/libpcre2-8.so.0 (preserved)
* used by /usr/lib/libpcre2-8.so.0.11.2 (preserved)
* used by /usr/lib/libpng16.so.16 (preserved)
* used by /usr/lib/libpng16.so.16.39.0 (preserved)
* used by /usr/lib/libz.so.1 (preserved)
* used by /usr/lib/libz.so.1.2.13 (preserved)
* - /lib/libm.so.6
* used by /usr/lib/libharfbuzz.so.0 (preserved)
* used by /usr/lib/libharfbuzz.so.0.60730.0 (preserved)
* used by /usr/lib/libpng16.so.16 (preserved)
* used by /usr/lib/libpng16.so.16.39.0 (preserved)
>>> package: sys-libs/zlib-1.2.13-r1
* - /usr/lib/libz.so.1
* - /usr/lib/libz.so.1.2.13
* used by /usr/lib/libfreetype.so.6 (preserved)
* used by /usr/lib/libfreetype.so.6.19.0 (preserved)
* used by /usr/lib/libpng16.so.16 (preserved)
* used by /usr/lib/libpng16.so.16.39.0 (preserved)
Use emerge @preserved-rebuild to rebuild packages using these libraries |
|
|
Back to top |
|
 |
pietinger Moderator

Joined: 17 Oct 2006 Posts: 5431 Location: Bavaria
|
|
Back to top |
|
 |
cctsurf Tux's lil' helper


Joined: 12 Oct 2006 Posts: 126
|
Posted: Fri May 26, 2023 11:12 pm Post subject: |
|
|
So far, I'm failing at getting them to work. I attempted to follow the "sledgehammer" suggestion after trying the other previous options (it seems that that version of pango is no longer in the tree)... Still no dice.
Code: | USE="-* truetype harfbuzz" emerge --verbose --oneshot media-libs/freetype |
fails for me, saying that there are a bunch of unmet dependencies from other packages.
Help! |
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2757
|
Posted: Sat May 27, 2023 5:43 am Post subject: |
|
|
cctsurf wrote: | I have had a lot of suggested use: abi_x86_32 recently... |
That means you have emerged things that require it. By default you should not get any such suggestions /I believe you're running emerge with --autounmask-write or similar/. Find out what pulls it in and clean it up.
cctsurf wrote: | So far, I'm failing at getting them to work. I attempted to follow the "sledgehammer" suggestion after trying the other previous options (it seems that that version of pango is no longer in the tree)... Still no dice.
Code: | USE="-* truetype harfbuzz" emerge --verbose --oneshot media-libs/freetype |
fails for me, saying that there are a bunch of unmet dependencies from other packages.
Help! |
Why did you resort to the sledgehammer approach? Output please.
Best Regards,
Georgi |
|
Back to top |
|
 |
cctsurf Tux's lil' helper


Joined: 12 Oct 2006 Posts: 126
|
Posted: Sat May 27, 2023 4:37 pm Post subject: |
|
|
I went nuclear (or rather sledgehammer) because the earlier options in the above way (https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies) of resolving the circular dependency didn't solve the situation.
I couldn't do: Code: | USE="-harfbuzz" emerge --oneshot media-libs/freetype media-libs/harfbuzz =x11-libs/pango-1.48.10-r1 | because pango-1.48.10-r1 is no longer in the portage tree.
I tried Code: | USE="-harfbuzz" emerge --oneshot media-libs/freetype | but it didn't resolve the dependencies.
So, it said, Sledgehammer...
"the following works although is a little bit convoluted"
but it didnt.
I could do everything, up to Code: | USE="-* truetype harfbuzz" emerge --verbose --oneshot media-libs/freetype | , but it failed, as I said previously. it stated that I needed to have harfbuzz use flag enabled to build freetype... I forget the error exactly.
In the end, I finally figured it out. As a side note, I had messed around with freetype and harfbuzz so much that there were problems when emerge attempted to merge in the new builds.
What finally worked for me was to:
Code: | emerge -Cv media-libs/harfbuzz
emerge -1av media-libs/harfbuzz
emerge -Cv freetype
USE=-harfbuzz emerge -1av media-libs/freetype
emerge -1av media-libs/harfbuzz
emerge -1av media-libs/freetype |
I then reemerged all of the dependencies that were previously complaining of being involved in the circular dependency mess.
Code: | emerge -1av =app-arch/bzip2-1.0.8-r4 =dev-libs/glib-2.76.3 =dev-libs/libpcre2-10.42-r1 =media-gfx/graphite2-1.3.14_p20210810-r3 =media-libs/freetype-2.13.0 =media-libs/harfbuzz-7.3.0 =media-libs/libpng-1.6.39 =sys-libs/glibc-2.37-r3 =sys-libs/zlib-1.2.13-r1 |
Thanks for all the help! |
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2757
|
Posted: Sat May 27, 2023 4:52 pm Post subject: |
|
|
cctsurf wrote: | I went nuclear (or rather sledgehammer) because the earlier options in the above way (https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies) of resolving the circular dependency didn't solve the situation.
I couldn't do: Code: | USE="-harfbuzz" emerge --oneshot media-libs/freetype media-libs/harfbuzz =x11-libs/pango-1.48.10-r1 | because pango-1.48.10-r1 is no longer in the portage tree.
|
Just remove pango from the command and in case of problems, post output.
Best Regards,
Georgi |
|
Back to top |
|
 |
krumpf Apprentice

Joined: 15 Jul 2018 Posts: 199
|
Posted: Sat May 27, 2023 10:02 pm Post subject: |
|
|
Hu wrote: | The most common offender now is Windows games (including those sold through Steam to run on Linux through a Wine wrapper). Running a 32-bit Windows game requires a 32-bit Wine, which means multilib, or an x86 chroot. I think almost everything for which source is available, and for which anyone cares, has been ported to 64-bit by now. |
The Wine team is working to remove dependencies to 32 bit libraries, but it's a long term process, so I guess it'll be ready for wine 10.0 (or maybe 9.0 with lots of luck).
quote from wine 8.0 changelog
Quote: | - WoW64 thunks are implemented for essentially all Unix libraries, enabling a
32-bit PE module to call a 64-bit Unix library. Once the remaining direct
PE/Unix calls have been removed, this will make it fully possible to run
32-bit Windows applications without any 32-bit Unix library. |
|
|
Back to top |
|
 |
logrusx Advocate


Joined: 22 Feb 2018 Posts: 2757
|
Posted: Tue May 30, 2023 7:14 am Post subject: |
|
|
krumpf wrote: | Hu wrote: | The most common offender now is Windows games (including those sold through Steam to run on Linux through a Wine wrapper). Running a 32-bit Windows game requires a 32-bit Wine, which means multilib, or an x86 chroot. I think almost everything for which source is available, and for which anyone cares, has been ported to 64-bit by now. |
The Wine team is working to remove dependencies to 32 bit libraries, but it's a long term process, so I guess it'll be ready for wine 10.0 (or maybe 9.0 with lots of luck).
quote from wine 8.0 changelog
Quote: | - WoW64 thunks are implemented for essentially all Unix libraries, enabling a
32-bit PE module to call a 64-bit Unix library. Once the remaining direct
PE/Unix calls have been removed, this will make it fully possible to run
32-bit Windows applications without any 32-bit Unix library. |
|
Maybe you haven't noticed the above section:
Quote: | After 4 years of work, the PE conversion is finally complete: all modules can
be built in PE format. This is an important milestone on the road to supporting
various features such as copy protection, 32-bit applications on 64-bit hosts,
Windows debuggers, x86 applications on ARM, etc.
However, some modules still perform direct calls between the PE and the Unix
part, instead of going through the NT system call interface. The remaining
direct calls will be removed during the Wine 8.x development phase. |
If things go well, 9.0 will have it. If we still need it.
Best Regards,
Georgi |
|
Back to top |
|
 |
|