Domanda Errore durante il caricamento di libGL.so.1


Durante il tentativo di eseguire vari software (in particolare Steam e Yenka), ho riscontrato un errore simile a questo: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

Sto utilizzando un sistema a 64 bit, con una scheda NVidia Optimus (I dual boot per alcuni software Windows solo che richiedono una scheda grafica dedicata). Ho installato bumblebee e sto usando il driver nvidia-current, piuttosto quello scaricato da NVidia, come raccomandato.

La libreria (libGL.so.1) non è presente nella directory principale di /usr/lib, tuttavia è presente in /usr/lib32/nvidia-current, come link a /usr/lib32/nvidia-current/libGL.so.304.64.

Una sezione dell'output di 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

Ovviamente una libreria con quel nome è in fase di caricamento, ma si trovano in /usr/lib/x86_64-linux-gnu, tuttavia, il software installato non sembra in grado di "vederlo". Per Steam, eseguirlo con optirun fa sì che funzioni, ma questo non è il caso di Yenka. Suppongo che optirun causi la memorizzazione della libreria in /usr/lib32/nvidia-current da utilizzare, che consente a Steam di funzionare, quindi non riesco a capire perché Yenka non funzionerà.

Qualcuno può spiegare perché il software non può vedere la normale libreria di mesa, e perché Yenka si rifiuta di girare con la libreria di nvidia-current?


47
2018-02-18 19:52


origine




risposte:


Con i driver nvidia installati, skype sta cercando una lib i386 fornita dal pacchetto nvidia. Dal momento che non esiste, va bene usare l'i386 libGL.so.1 fornito da mesa.

Testato su (ubuntu-gnome raring, usando nvidia-325) e (ubuntu-gnome saucy, usando nvidia-319) siamo stati in grado di risolvere questo problema nel modo seguente:

update-alternatives --display i386-linux-gnu_gl_conf

Questo ti mostrerà quali sono le opzioni disponibili.

i386-linux-gnu_gl_conf - auto mode
  link currently points to /usr/lib/nvidia-325/alt_ld.so.conf
/usr/lib/i386-linux-gnu/mesa/ld.so.conf - priority 500
  slave i386-linux-gnu_xorg_extra_modules: /usr/lib/i386-linux-gnu/xorg/x11-extra-modules
/usr/lib/nvidia-325/alt_ld.so.conf - priority 8602
Current 'best' version is '/usr/lib/nvidia-325/alt_ld.so.conf'

quindi, fai quanto segue:

sudo update-alternatives --config i386-linux-gnu_gl_conf

quindi seleziona l'alternativa migliore (ho selezionato i386-linux-gnu / mesa / ld.so.conf): Nell'output seguente ci sono due alternative per l'alternativa i386-linux-gnu_gl_conf (che fornisce /etc/ld.so.conf.d/i386-linux-gnu_GL.conf).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
* 0            /usr/lib/nvidia-325/alt_ld.so.conf        8602      auto mode
  1            /usr/lib/i386-linux-gnu/mesa/ld.so.conf   500       manual mode
  2            /usr/lib/nvidia-325/alt_ld.so.conf        8602      manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/i386-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode

Dopo averlo completato, prova a eseguire:

sudo ldconfig

e poi hai finito.


39
2017-07-20 20:10



Ho avuto la stessa identica e questo ha funzionato perfettamente, grazie mille (Ubuntu 13.10) - Xtremesupremacy3
fastidioso - Ho solo l'opzione ld.so.conf, quindi ottieni "C'è una sola alternativa nel gruppo di collegamento i386-linux-gnu_gl_conf (che fornisce /etc/ld.so.conf.d/i386-linux-gnu_GL.conf) : /usr/lib/i386-linux-gnu/mesa/ld.so.conf. Niente da configurare. " - dez93_2000
quali pacchetti nvidia hai installato? Hai installato libgl1-mesa-glx? Su fidato libgl1-mesa-glx: i386 fornisce /usr/lib/i386-linux-gnu/mesa/ld.so.conf (e le librerie libGL.so.1 * associate. - eurythmia
Bella risposta. Stavo ricevendo errori durante l'esecuzione di un programma Qt dopo il passaggio al driver Nvidia - QOpenGLShaderProgram::uniformLocation( matrix ): shader program is not linked e [xcb] This is most likely caused by a broken X extension library - e in seguito lo ha chiarito. - Matthew Read
Grazie. Funziona anche il 14.04. Questo non influenzerà nessun altro programma. Sara? Come riparare una cosa rompe altre 10. - Sudhir Khanger


Sto avendo lo stesso problema dopo aver installato skype ... quindi puoi fare entrambe le cose per risolvere questo errore ..

Il primo è eseguire l'applicazione seguendo il comando ... per esempio sto eseguendo skype ..

LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype

FONTE

2 ° quello che ho fatto

sudo nano /etc/ld.so.conf.d/skype.conf

e aggiungere la seguente riga in esso

/usr/lib/i386-linux-gnu/mesa/

salva e esci

e infine corri

sudo ldconfig -v

spero che questo risolverà il tuo libGL.so.1 errore come ha fatto mio

Puoi anche trovare libGL.so.1

   find / -name libGL.so.1

51
2018-03-21 04:17



Sono riuscito a sistemarlo alla fine. Sfortunatamente, non ricordo come, ma ricordo che consisteva nella creazione di collegamenti simbolici casuali nella libreria, nell'esecuzione di ldconfig molto e quindi nella rimozione dei collegamenti simbolici sopra menzionati. Adesso funziona tutto bene. - p0llard
Questo ha funzionato bene! Finalmente! Inoltre, ricordo di aver fatto ciò che ha detto @ jdp407 prima di questi passaggi. - Gundars Mēness
Mentre questa soluzione è buona, gestisce sempre e solo le applicazioni una alla volta. Se hai altre applicazioni a 32 bit che richiedono un libGL.so, dovrai ripetere il processo per quelle applicazioni. È meglio impostare questa preferenza globalmente utilizzando alternative di aggiornamento - eurythmia
@eurythmia Puoi anche copiarlo in / lib ed eseguire sudo ldconfig e sarà un accesso globale - Qasim
purtroppo non funziona per me su xubuntu, "ERRORE: ld.so: oggetto '/usr/lib/i386-linux-gnu/mesa/libGL.so.1' da LD_PRELOAD non può essere precaricato (impossibile aprire il file oggetto condiviso) : ignorato "; skype.conf è in etc / dbus-1 / system.d not /ld.so.conf.d/ e sembra essere un file diverso ... - dez93_2000


Le correzioni qui funzioneranno, ma ce n'è una più semplice.

Se skype non funziona ma optirun skype funziona, quindi puoi risolvere il problema con:

sudo apt-get install bumblebee-nvidia --reinstall

(Le persone che utilizzano Bumblebee con le schede AMD potrebbero dover eseguire la reinstallazione equivalente).

Bumblebee causa entrambe e risolve questo problema, ma la correzione si applica al momento dell'installazione, quando rende disponibili le librerie libGL alla scheda integrata e la scheda più potente. Questo non succederà se queste librerie non fossero già installate quando hai installato Bumblebee, quindi necessiterai di una reinstallazione. Non dovrebbe influire sulla configurazione del calabrone, anche se ovviamente vale la pena controllare dopo averlo fatto.


12
2018-04-27 12:41



funziona bene per me ... grazie. Ubuntu gnome 14.04 - aditia
Sicuramente la soluzione più semplice! Sapevo che aveva qualcosa a che fare con l'ordine di installazione, come ho reinstallato il mio sistema due volte di recente (Ubuntu 14.04 64 bit + scheda grafica Nvidia Optimus). La prima volta che ho installato Skype e poi Bumblebee, nel qual caso non ho avuto problemi. La seconda volta ho installato Bumblebee e poi Skype e questo problema è sorto. La semplice reinstallazione di bumblebee-nvidia come mostrato in questa risposta ha risolto il problema! - Sicco
Sono propenso a convenire che questa sembra una soluzione migliore della mia. - eurythmia


Non sono sicuro se questo ti aiuterà a chiarire o no, ma ho avuto lo stesso problema con skype e libGL.so.1. Anche in esecuzione 13.04 con una carta optimus e calabrone.

Ho avuto il problema con Skype senza optirun, ma ha funzionato bene. Ho appena cambiato il file desktop per funzionare con optirun ogni volta e voilà. fisso!


1
2017-09-09 22:54



Non proprio corretto, dal momento che ora utilizzi la carta più ricca di energia per skype. Infatti, se stai usando il bridge VirtualGL piuttosto che primus, stai essenzialmente andando a bruciare tanta energia come se non avessi installato bumblebee e hai appena usato la scheda nvidia per tutto il tempo. - Jon Hanna


Ho avuto un problema simile e l'ho risolto installando lib di 32 bit sul mio sistema a 64 bit: apt-get install ia32-libs


1
2017-12-21 03:53





Modifica la voce desktop:

sudo nano /usr/share/applications/skype.desktop

Cambia l'Exec in:

Exec=env PULSE_LATENCY_MSEC=60 LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype %U

Questo esegue:

LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1

prima di eseguire skype quando lo si avvia con la voce di avvio / desktop.

Deve funzionare correttamente dopo che è stato avviato utilizzando l'avvio dell'applicazione.


1
2017-12-17 18:20



Il file libGL.so.1 potrebbe non essere in quel percorso (non era per me, su Debian 8 / Jessie). Per trovare il percorso che devi inserire LD_PRELOAD trova semplicemente il file i386 sul tuo sistema: sudo find / -name libGL.so.1 2>/dev/null. L'ho trovato /usr/lib/mesa-diverted/i386-linux-gnu/libGL.so.1 e ha funzionato bene usando questo come LD_PRELOAD. - f.ardelian


Scarica l'ultima versione dalla pagina ufficiale del vapore, poi lascia scaricare ciò di cui ha bisogno dal terminale (se necessario). di aggiungere bumblebee ppa se non l'hai già fatto.

sudo add-apt-repository ppa:bumblebee/stable

aggiornalo con questo comando:

sudo apt-get update

e installare virtualgl(che ha risolto il libgl.so.1 errore roba per me su Steam)

sudo apt-get install virtualgl

0
2018-04-28 19:20





Provare:

sudo apt-get install libgl1-mesa-glx-lts-utopic:i386

0
2018-05-11 00:27