Hello @toydotgame, can you open a terminal and run something like
cd ~/.local/share/Steam/ubuntu12_32/
LD_LIBRARY_PATH="." ./steam-runtime/run.sh lddtree steamui.so
This should output a library dependency tree. What I'd like to know is which libraries are calling for libffi.so.7 and where are they located.
The line for libffi doesn't have a path in it.
libffi.so.7 => None
Full output:
steamui.so (interpreter => None)
libdl.so.2 => /usr/lib32/libdl.so.2
libstdc++.so.6 => /usr/lib32/libstdc++.so.6
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1
libpthread.so.0 => /usr/lib32/libpthread.so.0
librt.so.1 => /usr/lib32/librt.so.1
ld-linux.so.2 => /usr/lib32/ld-linux.so.2
libtier0_s.so => /home/user/.local/share/Steam/ubuntu12_32/libtier0_s.so
libvstdlib_s.so => /home/user/.local/share/Steam/ubuntu12_32/libvstdlib_s.so
libv8.so => /home/user/.local/share/Steam/ubuntu12_32/libv8.so
libicui18n.so => /home/user/.local/share/Steam/ubuntu12_32/libicui18n.so
libicuuc.so => /home/user/.local/share/Steam/ubuntu12_32/libicuuc.so
libavcodec.so.58 => /home/user/.local/share/Steam/ubuntu12_32/libavcodec.so.58
libvpx.so.6 => /home/user/.local/share/Steam/ubuntu12_32/libvpx.so.6
libavutil.so.56 => /home/user/.local/share/Steam/ubuntu12_32/libavutil.so.56
libva-drm.so.2 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libva-drm.so.2
libva-x11.so.2 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libva-x11.so.2
libvdpau.so.1 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libvdpau.so.1
libdrm.so.2 => /usr/lib32/libdrm.so.2
libvideo.so => /home/user/.local/share/Steam/ubuntu12_32/libvideo.so
libavformat.so.58 => /home/user/.local/share/Steam/ubuntu12_32/libavformat.so.58
libbz2.so.1.0 => /usr/lib32/libbz2.so.1.0
libz.so.1 => /usr/lib32/libz.so.1
libavresample.so.4 => /home/user/.local/share/Steam/ubuntu12_32/libavresample.so.4
libswscale.so.5 => /home/user/.local/share/Steam/ubuntu12_32/libswscale.so.5
libSDL2-2.0.so.0 => /home/user/.local/share/Steam/ubuntu12_32/libSDL2-2.0.so.0
libXtst.so.6 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libXtst.so.6
libXfixes.so.3 => /usr/lib32/libXfixes.so.3
libXrandr.so.2 => /usr/lib32/libXrandr.so.2
libXrender.so.1 => /usr/lib32/libXrender.so.1
libXext.so.6 => /usr/lib32/libXext.so.6
libX11.so.6 => /usr/lib32/libX11.so.6
libxcb.so.1 => /usr/lib32/libxcb.so.1
libXau.so.6 => /usr/lib32/libXau.so.6
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6
libXi.so.6 => /usr/lib32/libXi.so.6
libGL.so.1 => /usr/lib32/libGL.so.1
libGLdispatch.so.0 => /usr/lib32/libGLdispatch.so.0
libGLX.so.0 => /usr/lib32/libGLX.so.0
libgobject-2.0.so.0 => /usr/lib32/libgobject-2.0.so.0
libffi.so.7 => None
libglib-2.0.so.0 => /usr/lib32/libglib-2.0.so.0
libpcre.so.1 => /usr/lib32/libpcre.so.1
libgio-2.0.so.0 => /usr/lib32/libgio-2.0.so.0
libgmodule-2.0.so.0 => /usr/lib32/libgmodule-2.0.so.0
libmount.so.1 => /usr/lib32/libmount.so.1
libblkid.so.1 => /usr/lib32/libblkid.so.1
libresolv.so.2 => /usr/lib32/libresolv.so.2
libgtk-x11-2.0.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0
libgdk-x11-2.0.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0
libXinerama.so.1 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libXinerama.so.1
libXcursor.so.1 => /usr/lib32/libXcursor.so.1
libXcomposite.so.1 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libXcomposite.so.1
libXdamage.so.1 => /usr/lib32/libXdamage.so.1
libpangocairo-1.0.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpangocairo-1.0.so.0
libfreetype.so.6 => /usr/lib32/libfreetype.so.6
libpng16.so.16 => /usr/lib32/libpng16.so.16
libharfbuzz.so.0 => /usr/lib32/libharfbuzz.so.0
libfreetype.so.6 => !!! circular loop !!!
libbrotlidec.so.1 => /usr/lib32/libbrotlidec.so.1
libbrotlicommon.so.1 => /usr/lib32/libbrotlicommon.so.1
libatk-1.0.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libatk-1.0.so.0
libcairo.so.2 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libcairo.so.2
libpixman-1.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpixman-1.so.0
libpng12.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libpng12.so.0
libxcb-shm.so.0 => /usr/lib32/libxcb-shm.so.0
libxcb-render.so.0 => /usr/lib32/libxcb-render.so.0
libpangoft2-1.0.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpangoft2-1.0.so.0
libpango-1.0.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpango-1.0.so.0
libfontconfig.so.1 => /usr/lib32/libfontconfig.so.1
libexpat.so.1 => /usr/lib32/libexpat.so.1
libpipewire-0.3.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpipewire-0.3.so.0
libpulse.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpulse.so.0
libjson.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libjson.so.0
libpulsecommon-1.1.so => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libpulsecommon-1.1.so
libwrap.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu/libwrap.so.0
libnsl.so.1 => /usr/lib32/libnsl.so.1
libsndfile.so.1 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libsndfile.so.1
libFLAC.so.8 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libFLAC.so.8
libogg.so.0 => /home/user/.local/share/Steam/ubuntu12_32/libogg.so.0
libvorbisenc.so.2 => /home/user/.local/share/Steam/ubuntu12_32/libvorbisenc.so.2
libvorbis.so.0 => /home/user/.local/share/Steam/ubuntu12_32/libvorbis.so.0
libasyncns.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libasyncns.so.0
libdbus-1.so.3 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbus-1.so.3
libva.so.2 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libva.so.2
libgdk_pixbuf-2.0.so.0 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libgdk_pixbuf-2.0.so.0
libtiff.so.4 => /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu/libtiff.so.4
libjpeg.so.8 => /usr/lib32/libjpeg.so.8
libm.so.6 => /usr/lib32/libm.so.6
libc.so.6 => /usr/lib32/libc.so.6
Thanks, it's the line above libffi that matters: libgobject-2.0.so.0 => /usr/lib32/libgobject-2.0.so.0, which tells us that the system package lib32-glib2 is causing you this problem, not Steam. Report this issue to your distro's package maintainer for that package.
I went to check the version of lib32-glib2 and when I tried reinstalling with Pacman and it turns out that lib32-glib2 was being provided by the AUR package lib32-glib2-git.
Overwriting the AUR package and instead using the multilib version to provide that dependency seems to have fixed that problem. Running LD_LIBRARY_PATH="." ./run.sh lddtree steamui.so shows me that there is now a path associated with libffi.
libffi.so.8 => /usr/lib32/libffi.so.8
Launching Steam either way now works perfectly. Thank you for your time and for pointing this out. :)
Nothing extracted yet.
System Information
Description
Opening Steam fails due to a missing
libffi.so.7. I have installedlibffiandlib32-libffifrom the Arch Repositories, to no avail. I tried the solution that I saw a lot on the internet, which was to installlibffi7from the AUR - but that also didn't work. (I also tried downgradinglibffiby downloading and manually installing an older version (3.4.2-3) from the archive - also didn't work) Behaviour is the same if~/.local/share/Steam/and/or~/.steam/is removed.Steps for reproducing this issue:
Via DE
/usr/bin/steam-runtime %U)Pressing OK allows me to continue, but all I get next is an error from Steam like this:
Via the Terminal
steam.Full Log