Suggest remove lib32* from minimal

The 32 bit libraries can be removed from a fresh install of the KDE Plasma minimal edition with pamac remove --unneeded --orphans lib32*. I suggest that they should be removed from the minimal edition because they are not required by any installed programs, and pamac will install them as dependencies if the user installs something that needs 32 bit.

2 posts were split to a new topic: Use Octopi instead of Pamac in KDE Plasma

Which lib32- packages are we talking about here?

All the lib32 packages in the minimal Plasma edition. None of them are marked as installed as a dependency.
List from manjaro-kde-23.0-minimal-230903-linux65.iso.pkgs:

lib32-alsa-lib
lib32-brotli
lib32-bzip2
lib32-cairo
lib32-curl
lib32-dbus
lib32-e2fsprogs
lib32-expat
lib32-flac
lib32-fontconfig
lib32-freeglut
lib32-freetype2
lib32-fribidi
lib32-gcc-libs
lib32-glew
lib32-glib2
lib32-glibc
lib32-glu
lib32-harfbuzz
lib32-icu
lib32-keyutils
lib32-krb5
lib32-libasyncns
lib32-libcanberra
lib32-libcap
lib32-libdatrie
lib32-libdecor
lib32-libdrm
lib32-libelf
lib32-libffi
lib32-libgcrypt
lib32-libglvnd
lib32-libgpg-error
lib32-libice
lib32-libidn2
lib32-libldap
lib32-libltdl
lib32-libogg
lib32-libpciaccess
lib32-libpng
lib32-libpsl
lib32-libpulse
lib32-libsm
lib32-libsndfile
lib32-libssh2
lib32-libthai
lib32-libtirpc
lib32-libunistring
lib32-libunwind
lib32-libva
lib32-libva-intel-driver
lib32-libva-mesa-driver
lib32-libva-vdpau-driver
lib32-libvdpau
lib32-libvorbis
lib32-libx11
lib32-libxau
lib32-libxcb
lib32-libxcrypt
lib32-libxdamage
lib32-libxdmcp
lib32-libxext
lib32-libxfixes
lib32-libxft
lib32-libxi
lib32-libxkbcommon
lib32-libxkbcommon-x11
lib32-libxml2
lib32-libxmu
lib32-libxrandr
lib32-libxrender
lib32-libxshmfence
lib32-libxt
lib32-libxtst
lib32-libxxf86vm
lib32-llvm-libs
lib32-lm_sensors
lib32-mesa
lib32-mesa-demos
lib32-ncurses
lib32-openssl
lib32-opus
lib32-pam
lib32-pango
lib32-pcre2
lib32-pixman
lib32-systemd
lib32-tdb
lib32-util-linux
lib32-vulkan-icd-loader
lib32-wayland
lib32-xz
lib32-zlib
lib32-zstd

Moderator edit: Formatting

I think this is because the iso-profile states as being multilib.

This causes the packages tagged as >multilib in the Packages-Desktop to be installed even if not needed.

Changing the default setting to `multilib=“false” will prevent lib32 being added if not a dependency of another package

multilib="false"

Is building an ISO with multilib=“false” something I should do, or is your answer directed at the team building ISOs?

I cannot log in to gitlab.manjaro.org with my github account, and when I log in to gitlab.com via github, gitlab.manjaro.org ignores it. I do not have any programming skills, so it is probably better for Manjaro that I stay away :wink:

He’s addressing anyone who wants to create their own ISO, and perhaps the people releasing the minimal ISOs.

You can purge the multilib stuff from your system, if you want. Both @linux-aarhus and I have done it. Just uninstall all lib32- packages and remove the [multilib] section from /etc/pacman.conf.

Do however note that some packages do still install 32-bit compatibility stuff, and that this cannot be removed because it’s included in the package itself. gcc is one of those things.

Removing the [multilib] repo is not advisable as it may create other issues.

One example is my printer - a Brother HL-L8260cdw - as the driver has a dependency on lib32-glibc.

Another example where the package requires lib32 packages is steam.

It should not be necessary to remove the multilib repo from /etc/pacman.conf , just set multilib=“false” in profile.conf for the minimal ISO. @Aragorn: Yes, I am addressing the people releasing the minimal ISOs.

Removing the lib32-packages from an installed minimal edition is easy, but when the packages are not required by anything, they needlessly take up space in the ISO and on disk.

Regarding gcc, lib32-gcc-libs is an optional dependency, and gcc works perfectly on my installation without lib32-gcc-libs.

@linux-aarhus: installing you printer driver or the steam package would install the required lib32-packages when the multilib repo is in /etc/pacman.conf, right?

Yes - that is why I keep the multilib repo enabled.

There is no separate profile for the minimal ISO - there is only one - the differentiaing is done with tags in the package lists.

My isos are bulid with multilib=“false”, nonfree_mhwd=“false”, mhwd_used=“false” and no Packages-Mhwd.

This gives me minimal ISOs with the least amount of storage.

I just installed manjaro-kde-23.0-230903-linux65.iso to a virtual machine and ran pamac remove --unneeded --orphans "lib32*" 2>&1 | tee removing.txt , and all lib32-packages were removed without complaints. I think that implies that nothing installed needs the lib32-packages, and that they could be removed from the ISOs by setting multilib=“false” in profile.conf for the Plasma ISO. I have not looked at the other desktops.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.

Please reduce the size of ISO files by removing all lib32 packages. Please keep multilib repo active for when users install something that requires lib32.

I installed manjaro-kde-23.0-230903-linux65.iso to a virtual machine and ran `pamac remove --unneeded --orphans “lib32*” , and all lib32-packages were removed without complaints. I think that implies that nothing installed needs the lib32-packages, and that they could be removed from the ISOs by setting multilib=“false” in profile.conf for the Plasma ISO. I have not looked at the other desktops.

I asked for the above in Suggest remove lib32* from minimal , but the package list https://github.com/manjaro/release-review/releases/download/202312122320/manjaro-kde-23.1-231212-linux66.iso.pkgs still contains lib32 packages even though they are not used by anything that is installed in the ISO.

If you are that keen to avoid lib32 - I suggest you build your own ISO.

It is fairly simple - Building a custom ISO image for X86

2 Likes

I have no problems with lib32, the first ting I do after a fresh installation is to run pamac remove --unneeded --orphans “lib32*”. Building my own ISO would not reduce the amount I and all other users would have to download.

My point with this request is that the lib32 packages are useless and bloat the ISO, resulting in unnecessary traffic for every download of the ISOs and unnecessary load on the build servers. The full KDE ISO is already too large for a “4 GB” USB stick (nominally 4GB, but in reality only 3868 MB). Removing the useless lib32 packages might bring the ISO size down, so that I can have Ventoy and the full KDE ISO on that USB stick.

Building a custom ISO with the only changes to profile.conf being
multilib=“false”
extra=“false”
and using the command buildiso -k linux66 -p kde made an ISO file of 2915028992 bytes = 2779 MB.
The multilib repository is active in /etc/pacman.conf , so the user can install 32 bit software witout having to edit anything.

The official minimal KDE ISO manjaro-kde-23.0.4-minimal-231015-linux65.iso is 3227287552 bytes = 3077 MB.

Setting multilib=“false” results in saving 298 MB. I think that saving justifies my suggestion to the ISO builders to set multilib=“false” before building the official distribution ISOs.

1 Like

The toolkit for building the ISO is created to automate the process.

There is no argument to buildiso so it is a manual change if the minimal should have multilib="false".

But you are correct - it cut down the ISO size - there is even more ways to cut down the size - but then the Manjaro touch with gpu setup go away - then it is no longer Manjaro.

What can be done is to make it possible to set include/exclude multilib on the command line.

I don’t know how much impact the lack of multilib will impact the gpu setup.

I think some Nvidia parts use lib32.

Which is why I would like the manjaro/kde/profile.conf · master · Profiles & Settings / iso-profiles · GitLab to have multilib="false".

If so, those lib32 are not installed as a dependency.

Would buildiso install the lib32 in Packages-Desktop marked with >multilib as a dependency if they are required by something? Does buildiso pull in required dependencies for the packages in Packages-Desktop ?

Understanding the build process by looking in the scripts that buildiso calls is beyond my capability - sorry. However, I am well versed in whining and griping :wink:

I can understand that changing a build process that works just to save some space will not be prioritized highly, and that the Manjaro team has plenty of work to do. Thank you for Manjaro.

I have created an issue on gitlab with a proposed patch to allow for disabling the use of multilib using a cli argument.