Portál AbcLinuxu, 10. května 2025 22:56

Dotaz: libGL.so.1: No such file or directory

4.11.2017 22:20 mica
libGL.so.1: No such file or directory
Přečteno: 921×
Odpovědět | Admin
Vyskytl se u mě velmi nepříjemný problém, a to že nemůžu spustit X server. Na začátku byla aktualizace distribučních ovladačů NVIDIA a dalších součástí grafického prostředí jako libglx-mesa0 nebo libgl1-mesa-glx (Debian testing). Po nejbližším restartu grafiky mě však čekala jen černá grafická konzole, z níž se nedalo nijak dostat (Ctrl-Alt-F* nezabralo). Xorg.0.log i syslog se v jednom shodují:
Couldn't open libGL.so.1: cannot open shared object file: No such file or directory.
Syslog taky píše:
wdm: Server for display :0 can't be started, session disabled.
Při pokusu spustit grafický server ručně dostanu oznámení
xinit: unable to connect to X server: Connection refused
Dotyčný soubor libGL.so.1 v souborovém systému mám (jednou reálně, čtyřikrát jako symbolický odkaz na jiné soubory), nicméně nějaká část grafického systému (nevím která) jej hledá na umístění, kde se nenachází. S tímto si už dál nevím rady, tak prosím o pomoc. Bude mi stačit jakékoli zprovoznění X serveru, i bez 3D grafiky.

Děkuji.

P.S. Pro jistotu, i když nevím, zda to na něco má vliv: mám kombinovanou laptopovou grafiku Intel-Nvidia.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.11.2017 22:38 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Odpovědět | | Sbalit | Link | Blokovat | Admin

Daj;

find -name "*GL" /lib

Zlinkuj presne na taky nazov, aky hlada chybajucu kniznifu na realnu.

5.11.2017 14:37 mica
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Tak jsem se zlinkoval, ale nepomohlo to.

Teď vážně: v celém souborovém systému mám dvakrát soubor libGL.so.1 - jednou v adresáři /usr/lib/x68_64-linux-gnu/primus/ a jednou v adresáři /usr/lib/x68_64-linux-gnu/nvidia/. V prvním případě jde o reálný soubor, v druhém případě je to symbolický odkaz na soubor /etc/alternatives/nvidia--libGL.so.1-x86_64-linux-gnu, což je také symbolický odkaz, a to na soubor /usr/lib/x68_64-linux-gnu/nvidia/current/libGL.so.1, což je opět symbolický odkaz, tentokrát na soubor libGL.so.1.0.0 ve stejném adresáři.

Jakého linkování se s tímto materiálem mám dopustit, nicméně nevím.
5.11.2017 14:46 V.
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Aktuální stav zjistíte přes "ldd <jmenoprogramu>", nastavení uděláte přes ldconfig. Man napoví.
5.11.2017 15:35 mica
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
No dobře. Když chci zjistit, proč se nespustí xserver, co mám dát za <jmenoprogramu>?
5.11.2017 15:47 V.
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Noo to bacha na to, pokud nestartuje xserver, tak to asi má důvod, víc byste našel asi v /var/log/Xorg.log.
A restart xserveru se dělá zpravidla přes service lightdm restart, pokud je Váš správce přihlášení lightdm.
5.11.2017 18:24 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
sprsvne je: ldd CEATA_K_PROGRAMU

Cestu k programu ziskas "which PRIKAZ"

takze v sume priklad: ldd ‘which echo‘

Chyba je v logoch X servera.

Ten problem som presne riesil.

Ako boot linux:

BIOS -> zavadzac -> kernel (CLI) -> start GUI

a realizovane:

BIOS -> GRUB/lilo -> kernel -> init/systemd -> a) getty pre CLI b) GUI prihlasovanie resp. xdm, kdm, gdm alebo ine -> XFCE, KDE, GNOME

Na grafiku je potrebne spustit X server (alebo Wayland alebo Mir). X server ma priamy pristup na graficku kartu. A podla toho, aky mas GUI aj ovladace. A tam to skape, lebo odmietne nacitat modul, lebo ten modul nema zdielanu C kniznicu, ktoru pptrebuje.
5.11.2017 21:55 mica
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Chyba je v logoch X servera.
Jasně, už jsem to psal v otázce. Nicméně pravda je, že pokud budu vyčerpávající, je tam přesně
Failed to load /usr/lib/xorg/modules/extensions/libglx.so: libGL.so.1: cannot open shared object file: No such file or directory
Tak jsem tedy zkusil
ldd /usr/lib/xorg/modules/extensions/libglx.so
Výsledek byl:
        linux-vdso.so.1 (0x00007fffff5d3000)
	libGL.so.1 => not found
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f505c8da000)
	libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007f505c6b1000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f505c3ad000)
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f505c198000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f505bf79000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f505bbdc000)
	/lib64/ld-linux-x86-64.so.2 (0x000055a5b42c0000)
	libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 (0x00007f505b9d7000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f505b7cf000)
Což mi nijak nepomohlo, jelikož že soubor libGL.so.1 chybí, vím už z logu X serveru i syslogu.
Ten problem som presne riesil.
A ako si ho vyriešil?
vencour avatar 5.11.2017 22:09 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Pokud chybí nějaký soubor, který byl nainstalovaný z repozitáře, lze to dohledat ... např. packages.ubuntu.com - search, mělo by být částí libgl1-mesa-glx.
Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
6.11.2017 11:11 mica
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Jak jsem napsal už včera ve 14:57, všiml jsem si, že online databáze Debianu v balíku libgl1-mesa-glx uvádí (mimo jiné) soubory /usr/lib/x86_64-linux-gnu/libGL.so.1 a /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0, které já ovšem ve svém souborovém systému nemám, ač balík mám nainstalovaný. Když jsem daný balík stáhl ručně a podíval se do jeho obsahu, uvedené soubory v něm nebyly (což znamená, že reinstalace by nepomohla). Tak jsem stáhl starší verzi téhož balíku, dotyčné soubory v něm tentokrát byly, takže jsem je do příslušného umístění nakopíroval ručně a tím se xserver zprovoznil. Podle mého je to tedy chyba Debianu, když z jednoho balíku odstranil soubory nezbytné pro běh xserveru, aniž by poskytl náhradu.

Je to tedy vyřešené, ovšem jen z toho hlediska, že mám běžící xserver.

Z poskytnutých rad taky vyvozuju, že v případě, že něco oznámí, že ke spuštění potřebuje soubor, který nemůže nalézt, nedá se místo, kde onen chybějící soubor má být, určit jinak než vyhledáním v online databázi distribuce, což je však velmi nepříjemné v situaci, kdy je počítač tak zablokovaný, že se z něj nelze dostat na internet (a spuštění v nouzovém režimu nepomůže, neboť v něm není síť dostupná z prinicipu). (Což neznamená, že opak by byl automatickou pomocí, v mé situaci by mi to stejně nepomohlo.)
6.11.2017 11:58 GeorgeWH | skóre: 42
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Když jsem daný balík stáhl ručně a podíval se do jeho obsahu, uvedené soubory v něm nebyly

ja ich tam vidim http://ftp.cz.debian.org/debian/pool/main/m/mesa/libgl1-mesa-glx_13.0.6-1+b2_amd64.deb
6.11.2017 14:33 mica
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Když jsem daný balík stáhl ručně a podíval se do jeho obsahu, uvedené soubory v něm nebyly

ja ich tam vidim http://ftp.cz.debian.org/debian/pool/main/m/mesa/libgl1-mesa-glx_13.0.6-1+b2_amd64.deb
To je balíček pro stable. V balíčku pro testing a unstable (verze 17.2.4-1) ty soubory nejsou (ačkoli online databáze Debianu je tam stále uvádí - https://packages.debian.org/buster/amd64/libgl1-mesa-glx/filelist). Mají v tom zřejmě nepořádek.
6.11.2017 18:27 MadCatX
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Seznam balíčků, které zkus přeinstalovat máš od k3dARa zde. Předtím odinstaluj ovladače nVidie. Jestli jsou distribuční, prostě odeber příslušný balíček. Tím určitě nic nerozbiješ a kdyby to i dál nefungovalo, aspoň budeme o něco chytřejší. Tohle filosofování nad tím, v jakém balíčku se co (ne)nachází není moc produktivní.
6.11.2017 20:30 mica
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Jak jsem napsal výše, už mám běžící xserver. Fakticky jsem problém vyřešil zkopírováním souborů ze starší verze balíku libgl1-mesa-glx (rozdíl mezi ní a aktuální verzí je právě v tom, že v aktuální verzi chybí onen soubor libGL.so.1, který je potřebný pro běh xserveru). V ovladačích Nvidia tedy problém nebyl a jakékoli přeinstalace by mně nepomohly, jelikož by se mně vždy nainstaloval balík bez potřebného souboru (problém jsem vyřešil tím, že jsem balíčkovací systém obešel).
7.11.2017 09:46 MadCatX
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Tohle je dost dřevorubecké řešení, které se ti při dalším updatu může zase rozbít. Pokusím se vysvětlit proč.

Z kontextu dedukuji, že máš notebook s dvěma grafikami spřaženými technologií nVidia Optimus. V tomto uspořádání má jen grafika Intel vyvedený videovýstup, pokud ta nefunguje, nic ne nemůže vykreslit. nVidia má určitým mechanismem přístup do videopaměti té intelky a je tedy možná na ní offloadovat nějaké vykreslování. Proprietární ovladače nVidie na Linuxu tento offloading oficiálně nepodporují, existují jen nějaké komunitní hacky.

Tak a teď jak to souvisí s libGL.so. libGL.so je knihovna, která slouží jen jako lepidlo mezi aplikací, která chce použít OpenGL a grafickým ovladačem. Vždycky ale musí v systému existovat, jinak by OpenGL vůbec nefungovalo. Tohle lepidlo je vždycky specifické pro konkrétní ovladač, mix libGL.so z ovladače A s OpenGL implementací ovladače B se velmi pravděpodobně rozbije. To je problém, protože libGL.so může být v systému jen jedna(*). Ovladače Intel na Linuxu používají OpenGL implementaci z Mesy, nVidia má svou vlastní a když ty ovladače nainstaluješ oboje, srazí se to. Komunitní hacky, které zpojízdňují Optimus na Linuxu to obchází tak, že nVidií ovladače nainstalují úplně jinam a pomocí LD_LIBRARY_PATH (myslím) podstrčí offloadované aplikaci nVidií verzi libGL.so

Tvoje řešení má značný potenciál se rozsypat zase při další aktualizaci ovladačů nVidie.
7.11.2017 12:30 mica
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Já to moc dobře vím. Ale asi už s tím nic nenadělám.

Už jsem strávil hodiny času pátráním nad tím, jak to původně, před problémovou aktualizací, s existencí souboru libGL.so.1 v mém systému bylo. Tento soubor distribuce testing poskytuje nebo poskytovala v několika balících, ale už nejsem schopen zjistit bez toho, aniž bych nad tím další hodiny strávil, jaký byl osud předmětného souboru v průběhu odinstalací, přeinstalací a zpětných instalací, které jsem mezitím provedl (zkusil jsem odinstalovat ovladače Nvidia (distribuční) ve snaze zjistit, zda problém není v nich). Můžu jen říct, že po celou dobu byl balíčkovací systém konzistentní a nikdy jsem násilím nepřeinstaloval žádné nevyřešené závislosti. Z toho soudím, že se balíčkovací systém měl postarat, aby soubor /usr/lib/x86_64-linux-gnu/libGL.so.1 (o který celou dobu šlo) byl v systému neustále přítomen, je-li nezbytný pro chod grafických aplikací, které jsem měl nainstalované nebo je znovu nainstaloval.

Jediný balík distribuce testing, který soubor /usr/lib/x86_64-linux-gnu/libGL.so.1 nyní poskytuje, je libgl1, který nainstalovaný nemám a nemůžu jej nainstalovat, aniž bych nepřišel o knihovny wine, které se mi v průběhu přeinstalací upgradovaly, a nechce se mi riskovat odinstalaci (a tedy nutnou opětnou instalaci) dalších balíků souvisejících s grafickým systémem, kterou jeho instalace požaduje, a která by mohla vyvolat další problémy. Takže to nechám, jak to je a budu vroucně doufat, že se v budocnu nevyskytnou problémy (jelikož balík libgl1 poskytuje jen ty dva soubory (v adresáři /usr/lib/x86_64-linux-gnu/), které jsem vyabstrahoval ze starší verze balíku libgl1-mesa-glx, nepředpokládám, že by to byla nějaká moc nebezpečná situace).

6.11.2017 12:28 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Na intrernet ss da dostal, lrn ju treba nskonfigurovat ... Xo v GUI sa lahsie konfiguruje. ... V CLI je wicd-curses ... abo konfiguracis textovo
vencour avatar 6.11.2017 13:14 vencour | skóre: 56 | blog: Tady je Vencourovo | Praha+západní Čechy
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Dobrý den, jelikož primárně používám gentoo, tak mi stačí napsat
$ equery b libGL.so.1
* Searching for libGL.so.1 ...
media-libs/mesa-17.0.6 (/usr/lib32/libGL.so.1 -> libGL.so.1.2.0)
media-libs/mesa-17.0.6 (/usr/lib64/libGL.so.1 -> libGL.so.1.2.0)


A proto musím hledat na internetu, abych měl konkrétní odpověď. Pro Vás by to nělo být v lokálním případě toto ...
You can use dpkg command to find out which package owns a file:
From man dpkg:
-S, --search filename-search-pattern...
Search for a filename from installed packages.
Example:
$ dpkg -S /bin/ls
coreutils: /bin/ls
You can either search with a full path or with just the filename.
If you wish to search for files not yet installed on your computer, you can use the Ubuntu Packages Search ...
Ty nejhlubší objevy nečekají nutně za příští hvězdou. Jsou uvnitř nás utkány do vláken, která nás spojují, nás všechny.
7.11.2017 00:10 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Uz 100% ako som to riesil. Bolo to davnejsie.
7.11.2017 02:07 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Uz som zabudol, ako sonm to 100℅ riesil.
5.11.2017 16:34 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory

Ako si instaloval ovladace?

Podla tohto? https://wiki.debian.org/NvidiaGraphicsDrivers

4.11.2017 22:43 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Odpovědět | | Sbalit | Link | Blokovat | Admin
To su tak blbo robene. ... Odinstaluj co si nainstaloval q instaluj iba tieto na GUI (abo ekvivalentne): xorg xdm xfce xfce4-terminal
5.11.2017 11:38 MadCatX
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jestli tomu rozumím, do stroje s Intel+NV grafikou jsi nainstaloval ovladače od nVidie instalačním skriptem, co jsi stáhl z webu nVidie? Tohle nemůže fungovat, protože ovladače nVidie naboří celou Mesu a intelí grafika pak nefunguje. Navrhuji úplně odinstalovat ovladače nVidie a přeinstalovat balíčky libgl1-mesa-glx a libglx-mesa0. Debian moc neznám takže nevím, zda to bude takhle stačit.
5.11.2017 14:57 mica
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Jestli tomu rozumím, do stroje s Intel+NV grafikou jsi nainstaloval ovladače od nVidie instalačním skriptem, co jsi stáhl z webu nVidie?
Ne, ovladače Nvidie jsou distribuční, což jsem ostatně napsal v otázce.

Jak jsem také uvedl v reakci na odpověď výše, co v systému najdu ohledně libGL.so.1, souvisí s Nvidií. Přitom bych však ovladače Nvidia nemusel mít nainstalované a grafika by měla běžet i bez nich, aspoň myslím. Takže kdyby se nepodařilo najít jiné řešení, mohl bych zkusit odinstalovat ovladače Nvidia. Nicméně mě napadá ještě jedna otázka: na stránce Debianu je uvedeno, že balík libgl1-mesa-glx je "transitional dummy package, it can be safely removed", což by mělo znamenat, že slouží jen k zajištění instalace jiného balíčku, nicméně tamtéž je uveden seznam souborů, které instaluje do systému souborů, a mezi nimi jsou i /usr/lib/x86_64-linux-gnu/libGL.so.1 a /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0, které já nemám, ačkoli balík mám nainstalovaný. Tak nevím.

Mimochodem, jak správně odinstaluju ovladače Nvidia, aby xserver běžel bez nich?

5.11.2017 17:30 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Hod vypis balickov nainstakovsnych v Tvojom systeme.
5.11.2017 21:28 mica
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Všech 2628?
5.11.2017 18:46 MadCatX
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Jak se správně na Debu odinstalují ovladače nVidie nevím, protože jsem je na Debianu nikdy neinstaloval. Mělo by stačit odinstalovat balíček s těmi ovladači a přeinstalovat Mesa balíčky.
5.11.2017 19:23 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Ja som presne tu chybu mal a riesil aj par hodin. A nakoniec som zostal na open sourcw ovladacoch, nakolko voci od vyrobcu som mal max do 10℅ . Pre lepsi komfort a jednoduchost a ne rapidne lepsi vykon tak som zostal pri open.
5.11.2017 19:56 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Vedel by si to prosím preložiť do nejakej zrozumiteľnej reči, napríklad do slovenčiny?
5.11.2017 21:00 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Ja, ked som instaloval ovladace pre svoju vtedy graficku kartu, tak som mal tiez tu istu chybu. Nakoniec poriesil som to. Co ma prekvapilo (napr. bez internetu) a zabralo zo vsetkym par hodin (i s testovanim). Po otestovani uzavetrych a otvorenych ovladacoch som nakoniec zostal pri open. Uzavrete mi pridali max. 10% vykonu voci close a volim som komport a pohodlnost open ovladacov.
5.11.2017 21:02 odpoved
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Riesil som to a spojazdnoval so (zrejme linkami) enable/disalble load module pri starte a instalovania a odinstalovanii balickov.

Sice, preinstaloval by to uz velakrat od vtedy co to riesi.
7.11.2017 10:36 Peter Golis | skóre: 64 | blog: Bežné záležitosti | Bratislava
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
Vedel by si to prosím preložiť do nejakej zrozumiteľnej reči, napríklad do slovenčiny?
k3dAR avatar 5.11.2017 22:10 k3dAR | skóre: 63
Rozbalit Rozbalit vše Re: libGL.so.1: No such file or directory
jak psal MadCatX, zkus preinstalovat libgl1-mesa-glx, resp. tim ze je to dummy balik, tak i to co je na tom zavisle
sudo apt-get --reinstall install libgl1-mesa-glx libgl1 libglx-mesa0

je ale mozne ze jde o bug, podobny sem mel pred casem s nvidia-375 na *buntu 16.04, ale slo o libEGL.so... kdyz ted par vterin googlil, na libGL.so not found prej pomuze nainstalovat: libglu1-mesa
porad nemam telo, ale uz mam hlavu... nobody

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.