Podczas próby uruchomienia różnych programów (zwłaszcza Steam i Yenka) napotkałem błąd podobny do tego: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
Korzystam z 64-bitowego systemu z kartą NVidia Optimus (uruchamiam podwójnie dla niektórych programów tylko dla systemu Windows, które wymagają dedykowanej karty graficznej). Mam zainstalowanego trzmiela i używam sterownika nvidia-current, raczej tego pobranego z NVidii, zgodnie z zaleceniami.
Biblioteka (libGL.so.1) nie jest obecna w głównym katalogu /usr/lib
, jednak jest obecna /usr/lib32/nvidia-current
jako softlink do /usr/lib32/nvidia-current/libGL.so.304.64
.
Sekcja danych wyjściowych z ldconfig -p:
libGL.so.1 (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/libGL.so
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so
Oczywiście ładowana jest biblioteka o tej nazwie, ale są one zlokalizowane /usr/lib/x86_64-linux-gnu
, jednak zainstalowane oprogramowanie nie jest w stanie jej „zobaczyć”. W przypadku Steam uruchomienie go za pomocą optirun powoduje, że działa, ale w przypadku Yenki tak nie jest. Zakładam, że optirun powoduje użycie przechowywanej biblioteki /usr/lib32/nvidia-current
, co pozwala na uruchomienie Steam, więc nie mogę zrozumieć, dlaczego Yenka nie działa.
Czy ktoś może wyjaśnić, dlaczego oprogramowanie nie widzi normalnej biblioteki mesa i dlaczego Yenka odmawia działania z biblioteką nvidia-current?
QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked
i[xcb] This is most likely caused by a broken X extension library
- po tym rozwiązałem problem.1. uruchom aplikację, wykonując następujące polecenie ... na przykład uruchomiłem skype ..
ŹRÓDŁO
2. to, co zrobiłem
i dodaj w nim następujący wiersz
wyjście bezpieczeństwa
i na koniec biegnij
mam nadzieję, że to naprawi błąd libGL.so.1, tak jak mój
Możesz także znaleźć libGL.so.1
źródło
Poprawki tutaj będą działać, ale jest prostszy.
Jeśli
skype
nie działa, aleoptirun skype
działa, możesz to naprawić za pomocą:(Osoby używające Bumblebee z kartami AMD mogą potrzebować wykonać równoważną ponowną instalację).
Trzmiel powoduje i rozwiązuje ten problem, ale poprawka, którą stosuje, ma miejsce podczas instalacji, gdy udostępnia biblioteki libGL zarówno zintegrowanej karcie, jak i karcie o większej mocy. Nie stanie się tak, jeśli biblioteki te nie były jeszcze zainstalowane podczas instalacji Bumblebee, dlatego konieczna jest ponowna instalacja. Nie powinno to również wpływać na konfigurację trzmiela, chociaż oczywiście po sprawdzeniu warto to sprawdzić.
źródło
Edytuj wpis na pulpicie:
Zmień Exec na:
Działa to:
przed uruchomieniem skype po uruchomieniu go za pomocą wpisu programu uruchamiającego / pulpitu.
Po tym powinno działać poprawnie, o ile uruchomisz go za pomocą programu uruchamiającego.
źródło
libGL.so.1
może nie znajdować się w tej ścieżce (nie dla mnie na Debian 8 / Jessie). Aby znaleźć drogę, którą należy umieścić wLD_PRELOAD
łatwo znaleźć plik i386 w systemie:sudo find / -name libGL.so.1 2>/dev/null
. Znalazłem to/usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1
i działało dobrze, używając tego jakoLD_PRELOAD
.Nie jestem pewien, czy to pomoże wyjaśnić, czy nie, ale miałem ten sam problem ze skype i libGL.so.1. Również działa 13.04 z kartą Optimus i trzmielem.
Mam problem z uruchomieniem skype bez optirun, ale działało dobrze. Właśnie zmieniłem plik pulpitu, aby uruchamiał się za pomocą optirun za każdym razem i voila. naprawiony!
źródło
Miałem podobny problem i rozwiązałem go, instalując 32-bitowe biblioteki lib na moim 64-bitowym systemie:
apt-get install ia32-libs
źródło
Pobierz najnowszą wersję z oficjalnej strony Steam, niż pozwól jej pobrać to, czego potrzebuje z terminala (jeśli jest taka potrzeba). niż dodaj ppa trzmieli, jeśli jeszcze tego nie zrobiłeś.
zaktualizuj go za pomocą tego polecenia:
i zainstaluj
virtualgl
(to rozwiązało problemlibgl.so.1
błędów dla mnie w Steam)źródło
Próbować:
źródło