Steam potrzebuje dużo 32-bitowych bibliotek z twojego systemu. Jeśli któregoś z nich brakuje, plik wykonywalny Steam ulegnie awarii.
W openSUSE możesz sprawdzić, który pakiet udostępnia określoną bibliotekę za pomocą polecenia zypper wp libpng12.so.0
.
Na Ubuntu nie ma tak łatwego sposobu, ale ta strona dość dobrze wyjaśnia powyższy proces.
Pełna lista wymagana do uruchomienia Steam:
libGL.so.1
libX11.so.6
libXau.so.6
libXext.so.6
libXi.so.6
libXrandr.so.2
libXrender.so.1
libappindicator.so.1
libasound.so.2
libc.so.6
libcairo.so.2
libdbus-1.so.3
libdl.so.2
libfontconfig.so.1
libfreetype.so.6
libgcc_s.so.1
libgdk-x11-2.0.so.0
libgdk_pixbuf-2.0.so.0
libglib-2.0.so.0
libgobject-2.0.so.0
libgtk-x11-2.0.so.0
libm.so.6
libnspr4.so
libnss3.so
libnssutil3.so
libpango-1.0.so.0
libpangocairo-1.0.so.0
libpangoft2-1.0.so.0
libplc4.so
libpng12.so.0
libpthread.so.0
librt.so.1
libsmime3.so
libstdc++.so.6
libsteam.so
libxcb.so.1
libz.so.1
Jeśli chcesz szybko dowiedzieć się, czego brakuje, uruchom następujące polecenie:
strace -E LD_LIBRARY_PATH=/home/USERNAME/Steam/ubuntu12_32/ -e trace=open /home/USERNAME/Steam/ubuntu12_32/steam
(zamień dwukrotnie USERNAME na nazwę swojego konta w systemie Linux)
To da ci wynik podobny do tego w jednym z ostatnich wierszy:
open("/home/user/Steam/ubuntu12_32/libspeex.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
Jeśli nie ma linii, po której nie wspomniano ENOENT, będziesz musiał przeszukać, który pakiet udostępnia bibliotekę współdzieloną (w tym przypadku libspeex.so.1) zgodnie z powyższym samouczkiem.
You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: ia32-libs : Depends: ia32-libs-multiarch libldap-2.4-2 : Breaks: libldap-2.4-2:i386 (!= 2.4.28-1.1ubuntu4.1) but 2.4.28-1.1ubuntu4.2 is to be installed libldap-2.4-2:i386 : Breaks: libldap-2.4-2 (!= 2.4.28-1.1ubuntu4.2) but 2.4.28-1.1ubuntu4.1 is to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).