Steam: errore durante il caricamento delle librerie condivise: libGL.so.1: classe ELF errata: ELFCLASS64


11

Dopo l'installazione del driver Nvidia quando provo a eseguire Steam, visualizzo questo errore:

steam: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS64

Ho trovato questa domanda e una delle risposte che suggeriscono l'installazione:

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

Ho già installato libgl1-mesa-glx:i386. Di quanto ho trovato questo . Suggerisce di creare un collegamento simbolico a libGL a 32 bit. Come può farlo? Hai altri suggerimenti?


Posso confermare che la reinstallazione della libreria libgl1 ha aiutato. Ubuntu 14.04 x86-64, desktop compiz, driver grafico Nvidia per GEForce GTS 450.
hariprasad

A sudo aptitude install libgl1-mesa-glx:i386mostra 305 pacchetti saranno rimossi e circa 100 saranno irrisolti. Poiché questo sembra riempire il mio sistema, sospetto che il miglior modo di agire sia quello di doppio avvio Ubuntu con 64 librerie e libreria a 32 bit, o meglio, un sistema primario per la maggior parte delle cose, un'installazione a 64 bit per i giochi e un'istanza a 32 bit su una propria partizione per i giochi a 32 bit.
Underverse l'

Risposte:


11

Questo problema su sistemi a 64-bit è causato da /usr/libessere in precedenza in LD_LIBRARY_PATHquanto /usr/lib32. Steam prova le librerie a 64 bit e si lamenta, senza cercare oltre.

Può essere risolto comunque da in ~/Steam/steam.shma quel file sembra ripristinato alla versione originale ogni volta che viene eseguito steam.

L'ho risolto creando uno script che fa questo:

#!/bin/bash
export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH
steam $*

Questo si antepone /usr/lib32al percorso della libreria, quindi avvia steam (con gli argomenti originali dello script). Ora /usr/lib32si trova prima nel percorso /usr/libe Steam utilizzerà correttamente le librerie a 32 bit.

Potresti anche voler aggiungere la linea

export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

a /usr/bin/steam, avrà lo stesso effetto, purché lo aggiungi prima dell'ultima riga. Devi modificare sudo per modificarlo /usr/lib/steam.

  • Questo ha l'ulteriore vantaggio di essere una soluzione migliore, poiché tutto ciò che avvia Steam (la voce del menu dell'applicazione, le associazioni dei tipi di file, le associazioni URI) funzionerà correttamente.
  • Lo svantaggio è che /usr/bin/steamprobabilmente verrà sovrascritto quando si aggiorna il vapore.

Uso quest'ultimo metodo, mantenendo lo script come backup. In questo modo, se /usr/bin/steamviene sovrascritto, posso semplicemente copiare e incollare nuovamente la riga dallo script per risolverlo.


7

Risolto il problema nella raring ringtail (xubuntu 13.04) con i driver nVidia 319.17 aggiungendo /usr/lib32a un nuovo file:

$ sudo nano /etc/ld.so.conf.d/lib32.conf

quindi in esecuzione:

$ sudo ldconfig 

Poiché il file /etc/ld.so.confcontiene include /etc/ld.so.conf.d/*.conf, .confviene analizzato qualsiasi file in quella directory con l'estensione .


Questo è probabilmente migliore di qualsiasi altra risposta.
Tek,


2

Risolto il problema per Mint 14 con i più recenti driver Nvidia a 64 bit 310.32 con il supporto per driver a 32 bit installato

/emul/ia32-linux/usr/lib 

aggiungendo

export LD_LIBRARY_PATH=/emul/ia32-linux/usr/lib:$LD_LIBRARY_PATH 

Dopo il primo "export"all'inizio del /usr/bin/steamfile.


L'uso di "Mint" come base non è suggerito, dal momento che Mint è offtopico qui, anche se è un derivato di Ubuntu
Thomas Ward

2

Ho riscontrato lo stesso problema, ma con skype . Tutte le soluzioni sopra (creazione di collegamenti simbolici, configurazione di LD_LIBRARY_PATH) non hanno funzionato per me.

Ho finalmente trovato aiuto nel post già menzionato sopra, ma con una soluzione diversa.

Sembra che il programma di aggiornamento di NVIDIA (quando si richiede l'autorizzazione per installare librerie di compatibilità OpenGL a 32 bit) abbia incasinato, rimosso /usr/lib/i386-linux-gnu/mesa/libGL.so.1e rimosso /usr/lib/i386-linux-gnu/mesa/libGL.so.

La reinstallazione della libreria libgl1 ha aiutato:

sudo apt-get install --reinstall libgl1-mesa-glx:i386


1

Se stai usando la versione beta limitata di Steam per Linux, la pubblicherei sui forum di Steam per Linux . Dovrebbero avere un aiuto migliore e, se si tratta di un problema con il software stesso, gli sviluppatori saranno in grado di risolverlo. Inoltre, se stai usando un sistema operativo a 64 bit, ci sono molte persone che probabilmente hanno attraversato i problemi che hai e, quindi, sanno esattamente cosa fare.


0

Ho avuto esattamente lo stesso problema su Linux Mint Debian Edition 2 64-bit.

L'ho risolto reinstallando i driver NVIDIA con le librerie GL a 32 bit (dopo aver installato le librerie Steam richieste).

Suppongo che l'installazione di quelle altre librerie grafiche a 32 bit abbia interrotto alcuni collegamenti e la reinstallazione dei driver NVIDIA con quelle librerie reali a 32 bit risolve il problema del collegamento.


0

Ho avuto questo problema con Skype. L'ho risolto installando nuovamente il driver Nvidia ufficiale e installando la libreria di compatibilità a 32 bit durante l'installazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.