kirk
1 January 2021 17:36
1
I noticed that upon system update pacman -Syyu
there seems to be a lot of lib32
libraries being downloaded and installed. I’m a bit confused as to why is that happening since I’m on a 64bit system. Is that for backwards compatibility?
lib32-atk-2.36.0-1 lib32-brotli-1.0.9-1 lib32-cairo-1.17.4-3 lib32-colord-1.4.5-1 lib32-curl-7.74.0-1 lib32-dbus-1.12.20-1
lib32-dconf-0.38.0-1 lib32-fontconfig-2:2.13.91+48+gfcb0420-2 lib32-fribidi-1.0.10-1 lib32-gcc-libs-10.2.0-4 lib32-gdk-pixbuf2-2.42.2-1
lib32-glib-networking-2.66.0-1 lib32-glib2-2.66.4-1 lib32-gmp-6.2.0-1 lib32-gnutls-3.7.0-1 lib32-gstreamer-1.18.2-1 lib32-gtk3-3.24.24-1
lib32-json-glib-1.6.0-1 lib32-lcms2-2.11-1 lib32-libcups-2.3.3-1 lib32-libdatrie-0.2.12-1 lib32-libepoxy-1.5.4-1
lib32-libgpg-error-1.39-1 lib32-libgudev-234-1 lib32-libgusb-0.3.5-1 lib32-libldap-2.4.56-1 lib32-libproxy-0.4.16-1
lib32-librsvg-2.50.2-1 lib32-libsoup-2.72.0-1 lib32-libtasn1-4.16.0-1 lib32-libthai-0.1.28-1 lib32-libtiff-4.1.0-1 lib32-libtirpc-1.3.1-1
lib32-libusb-1.0.23-2 lib32-libxcomposite-0.4.5-1 lib32-libxft-2.3.3-1 lib32-libxinerama-1.1.4-1 lib32-libxkbcommon-1.0.3-1
lib32-libxrandr-1.5.2-1 lib32-libxtst-1.2.3-2 lib32-llvm-libs-11.0.0-2 lib32-mesa-20.3.1-1 lib32-nettle-3.6-1 lib32-openssl-1:1.1.1.i-1
lib32-p11-kit-0.23.22-1 lib32-pango-1:1.48.0-1 lib32-pixman-0.40.0-1 lib32-polkit-0.118-1 lib32-readline-8.1.0-2 lib32-rest-0.8.1-2
lib32-sqlite-3.33.0-1 lib32-systemd-247.1-1 libarchive-3.5.0-1 libblockdev-2.24-3 libbytesize-2.4-3
1 Like
Hi @kirk
In short: yes
It also depends on what apps you have installed.
1 Like
You can see the list where being required by using the command
LANG=C pacman -Qi $(pacman -Qsq lib32) | grep -i required
1 Like
kirk
1 January 2021 17:58
4
Thanks! It seems that the list is pretty large and don’t know if they are all needed in the first place?
Required By : lib32-alsa-oss lib32-alsa-plugins lib32-libcanberra lib32-libsndfile manjaro-alsa
Required By : manjaro-alsa
Required By : manjaro-alsa
Required By : None
Required By : lib32-freetype2 lib32-libelf
Required By : lib32-libelf
Required By : lib32-jack
Required By : lib32-krb5
Required By : lib32-wayland
Required By : lib32-libsndfile
Required By : lib32-harfbuzz
Required By : lib32-db lib32-flac lib32-icu lib32-libunwind lib32-llvm-libs lib32-pcre
Required By : lib32-gstreamer lib32-harfbuzz
Required By : lib32-alsa-lib lib32-alsa-oss lib32-alsa-plugins lib32-attr lib32-bzip2 lib32-expat lib32-gcc-libs lib32-jack lib32-keyutils lib32-libcap lib32-libffi lib32-libgpg-error lib32-libice lib32-libidn2 lib32-libjpeg-turbo lib32-libltdl lib32-libogg lib32-libpciaccess lib32-libpsl lib32-libsamplerate lib32-libunistring lib32-libxau lib32-libxcrypt lib32-libxdmcp lib32-libxshmfence lib32-lm_sensors lib32-lz4 lib32-ncurses lib32-openssl lib32-readline lib32-tdb lib32-util-linux lib32-wayland lib32-xz lib32-zlib
Required By : lib32-libcanberra-gstreamer
Required By : lib32-freetype2
Required By : lib32-libxml2
Required By : None
Required By : lib32-krb5
Required By : lib32-curl lib32-keyutils lib32-libtirpc
Required By : lib32-libcanberra-gstreamer
Required By : None
Required By : None
Required By : lib32-mesa
Required By : lib32-gstreamer lib32-mesa
Required By : lib32-glib2 lib32-llvm-libs lib32-wayland
Required By : None
Required By : lib32-mesa
Required By : lib32-libgcrypt
Required By : lib32-libsm
Required By : lib32-curl lib32-libpsl
Required By : None
Required By : lib32-krb5
Required By : lib32-libcanberra
Required By : lib32-pam
Required By : lib32-flac lib32-libvorbis
Required By : lib32-libdrm
Required By : lib32-freetype2
Required By : lib32-curl
Required By : None
Required By : lib32-libxt
Required By : None
Required By : lib32-curl
Required By : lib32-libnsl lib32-pam
Required By : lib32-libidn2 lib32-libpsl
Required By : lib32-gstreamer lib32-mesa
Required By : lib32-libcanberra lib32-libsndfile
Required By : lib32-libxext lib32-libxfixes lib32-libxrender lib32-libxt
Required By : lib32-libxcb
Required By : lib32-libx11
Required By : lib32-libldap lib32-pam lib32-util-linux
Required By : None
Required By : lib32-mesa
Required By : lib32-libxcb
Required By : lib32-libglvnd lib32-libxi lib32-libxxf86vm
Required By : lib32-libxcursor lib32-libxdamage lib32-libxi
Required By : None
Required By : lib32-gstreamer lib32-llvm-libs lib32-wayland
Required By : lib32-libxcursor
Required By : lib32-mesa
Required By : None
Required By : lib32-mesa
Required By : lib32-mesa
Required By : lib32-mesa
Required By : lib32-zstd
Required By : lib32-libglvnd
Required By : lib32-libxml2 lib32-llvm-libs lib32-readline
Required By : lib32-curl lib32-libldap lib32-libssh2
Required By : lib32-libcap
Required By : lib32-glib2
Required By : lib32-libxml2
Required By : lib32-libcanberra
Required By : lib32-e2fsprogs lib32-glib2 lib32-libsm
Required By : lib32-mesa
Required By : lib32-libelf lib32-libunwind lib32-libxml2 lib32-zstd
Required By : lib32-curl lib32-freetype2 lib32-glib2 lib32-libelf lib32-libpng lib32-libssh2 lib32-libxml2 lib32-llvm-libs lib32-zstd
Required By : lib32-curl lib32-mesa
If you want the full picture use:
LANG=C pacman -Qi $(pacman -Qsq lib32)
I only wanted to show you that these packages are highly integrated into your system, I have a similar result. In your case manjaro-alsa is one of the head packages requiring many lib32 packages as dependencies.
Great question. I wanted to know too
I used pacman -Fx lib32
and took a look. Grabbed an installed 32-bit library and used pactree -r X
, where X was that library (I did a couple), and found steam, wine and manjaro-pulse depend on 32-bit libraries.
The question was asked in November and confirms wine and steam.
On Linux Mint i just freed 500 MB by removing foreign architecture i386.
That lead to my question:
Do i need all these lib32-* on my 64bit Manjaro?
pacman -Ssq lib32
lib32-gcc-libs
lib32-glibc
… ~290 lines
Nvidia-hybrid-graphic seems to be the culpit?
Info from Manjaro-Log-Helper:
https://paste.ubuntu.com/p/fBFKtyFxZD/
The archived forum had a couple hits too:
https://archived.forum.manjaro.org/t/is-it-safe-to-remove-lib32-packages/115970
https://archived.forum.manjaro.org/t/are-packages-that-start-with-lib32-actual-for-x86-64-plt/19555
https://archived.forum.manjaro.org/t/does-we-need-all-the-lib32/120516
It’s not that I have an answer but I wonder, too. Tons of lib32 packages were installed on the update I ran today.
However, I do not have any app installed of which I am aware of that it is using 32 bit libraries, like Wine or Steam does.
Also, I am even more confused by their reverse dependencies: Their 64-bit equivalents depend on them:
$ LC_ALL=C pacman -Si lib32-gcc-libs | awk -F'[:<=>]' '/^Depends/ {print $2}' | xargs -n1 | sort -u
lib32-glibc
$ LC_ALL=C pacman -Si lib32-glibc | awk -F'[:<=>]' '/^Depends/ {print $2}' | xargs -n1 | sort -u
glibc
$ LC_ALL=C pacman -Si lib32-systemd | awk -F'[:<=>]' '/^Depends/ {print $2}' | xargs -n1 | sort -u
lib32-gcc-libs
lib32-libcap
lib32-libgcrypt
lib32-libxcrypt
lib32-xz
lib32-zstd
systemd
So, just because there is systemd (64bit) installed, the package lib32-systemd is pulled in. IMHO, this looks like a packaging mistake.
unlikely.
Face the fact that lib32 packages are integral part of Arch based Linux distros. If you would have installed a minimal Arch you probably have not many less lib32 packages. If you are looking for real orphanes use
pacman -Qdt
xabbu
2 January 2021 19:47
10
No, that is not what your little command shows. The package lib32-systemd depends on the systemd package. But the systemd package does not depend or require the lib32-systemd package.
In other words, you can only install lib32-systemd if systemd is already installed or systemd will be installed with lib32-systemd. But it does not mean systemd depends on lib32-systemd.
@xabbu , You are right, I should not write such answers when I am in hurry.
Is there a recipe to avoid multilib packages? Especially, these were quite a lot new ones upon the last update.
$ grep '^\[2021-01-02T.*lib32' /var/log/pacman.log
[2021-01-02T18:17:37+0100] [ALPM] removed lib32-attr (2.4.48-1)
[2021-01-02T18:30:47+0100] [ALPM] upgraded lib32-openssl (1:1.1.1.h-1 -> 1:1.1.1.i-1)
[2021-01-02T18:30:47+0100] [ALPM] upgraded lib32-libldap (2.4.54-1 -> 2.4.56-1)
[2021-01-02T18:30:47+0100] [ALPM] upgraded lib32-curl (7.73.0-1 -> 7.74.0-1)
[2021-01-02T18:30:48+0100] [ALPM] upgraded lib32-gcc-libs (10.2.0-3 -> 10.2.0-4)
[2021-01-02T18:30:48+0100] [ALPM] upgraded lib32-glib2 (2.66.2-1 -> 2.66.4-1)
[2021-01-02T18:30:48+0100] [ALPM] upgraded lib32-libtirpc (1.2.6-1 -> 1.3.1-1)
[2021-01-02T18:30:48+0100] [ALPM] upgraded lib32-libgpg-error (1.38-1 -> 1.39-1)
[2021-01-02T18:30:48+0100] [ALPM] upgraded lib32-systemd (246.6-1 -> 247.1-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-at-spi2-core (2.38.0-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-atk (2.36.0-1)
[2021-01-02T18:30:48+0100] [ALPM] upgraded lib32-readline (8.0.0-1 -> 8.1.0-2)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-at-spi2-atk (2.38.0-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-dconf (0.38.0-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-libgudev (234-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-libusb (1.0.23-2)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-libgusb (0.3.5-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-libjpeg-turbo (2.0.6-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-libtiff (4.1.0-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-lcms2 (2.11-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-polkit (0.118-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-sqlite (3.33.0-1)
[2021-01-02T18:30:48+0100] [ALPM] installed lib32-colord (1.4.5-1)
[2021-01-02T18:30:50+0100] [ALPM] upgraded lib32-llvm-libs (11.0.0-1 -> 11.0.0-2)
[2021-01-02T18:30:51+0100] [ALPM] upgraded lib32-mesa (20.2.3-1 -> 20.3.1-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-gdk-pixbuf2 (2.42.2-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-json-glib (1.6.0-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-gmp (6.2.0-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-nettle (3.6-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-libtasn1 (4.16.0-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-p11-kit (0.23.22-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-gnutls (3.7.0-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-libcups (2.3.3-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-libepoxy (1.5.4-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-libdatrie (0.2.12-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-libthai (0.1.28-1)
[2021-01-02T18:30:51+0100] [ALPM] installed lib32-fontconfig (2:2.13.91+48+gfcb0420-2)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-pixman (0.40.0-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-cairo (1.17.4-3)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-libxft (2.3.3-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-fribidi (1.0.10-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-pango (1:1.48.0-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-librsvg (2.50.2-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-libxcomposite (0.4.5-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-libxinerama (1.1.4-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-libxkbcommon (1.0.3-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-libxrandr (1.5.2-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-brotli (1.0.9-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-libproxy (0.4.16-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-glib-networking (2.66.0-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-libsoup (2.72.0-1)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-rest (0.8.1-2)
[2021-01-02T18:30:55+0100] [ALPM] installed lib32-gtk3 (3.24.24-1)
[2021-01-02T18:30:55+0100] [ALPM] upgraded lib32-gstreamer (1.16.2-1 -> 1.18.2-1)
[2021-01-02T18:30:56+0100] [ALPM] upgraded lib32-mesa-vdpau (20.2.3-1 -> 20.3.1-1)
[2021-01-02T18:30:56+0100] [ALPM] upgraded lib32-vulkan-intel (20.2.3-1 -> 20.3.1-1)
[2021-01-02T18:30:56+0100] [ALPM] upgraded lib32-vulkan-radeon (20.2.3-1 -> 20.3.1-1)
xabbu
3 January 2021 10:48
12
No problem.
If you think you don’t need them remove the packages. If you don’t want to run 32bit software you probably don’t need these packages.
You might want to use pacman -Rs ...
. It lists all packages that will be removed. Read the list carefully. If you see only lib32 stuff, go for it. You probably need to do it multiple times, I would start with lib32-systemd
or lib32-gstreamer
. You might get an dependency error, add this package to the list you want to remove.
And then remove multilib from the config?
When trying to untangle all this, it tracks down to the package manjaro-pulse
which pulls in lib32-libpulse
, and then the avalanche is running.
xabbu
5 January 2021 21:32
15
Sounds like a meta package. Try to find out what it does and what it provides. After that, you can decide if you want to keep it with all the lib32 or get rid of it.
kirk
6 January 2021 12:43
16
It seems that manjaro-alsa
is using the following files:
error: failed to prepare transaction (could not satisfy dependencies)
:: removing lib32-alsa-lib breaks dependency 'lib32-alsa-lib' required by manjaro-alsa
:: removing lib32-alsa-oss breaks dependency 'lib32-alsa-oss' required by manjaro-alsa
:: removing lib32-alsa-plugins breaks dependency 'lib32-alsa-plugins' required by manjaro-als
My question is if manjaro-alsa
is necessary for audio and are other alternatives that don’t require lib32
libraries?
kirk
6 January 2021 13:54
17
I’ll answer my own question, it seems that removing manjaro-alsa
& manjaro-pulse
and all lib32 libs, & disabling multilib
doesn’t affect audio, at least on my side
Thanks, @kirk for diving into this. I removed all the lib32-stuff too now, after removing manjaro-pulse
and manjaro-alsa
. The question remains especially to the package maintainer @Ste74 , if it is really intented or necessary to pull in tons of 32-bit libraries. Also, the intented purpose of these meta packages is not clear.
DAC324
21 January 2021 09:07
19
Thank you very much for bringing this up. On my system, manjaro-pulse
wasn’t even installed, and the sound, including volume control and mixer apps, still works.
Plus, it was possible to remove the lib32
packages using
sudo pacman -Rsc $(pacman -Qq | grep lib32-*)
and so far, I did not notice any unexpected behavior.
Looks like it might make sense to think about not installing those packages by default, at least not on computers with a 64-bit CPU.
1 Like
system
Closed
5 February 2021 09:07
20
This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.