Steam: erro ao carregar bibliotecas compartilhadas: libGL.so.1: classe ELF errada: ELFCLASS64

11

Após a instalação do driver Nvidia, quando tento executar o Steam, estou recebendo este erro:

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

Encontrei esta pergunta e uma das respostas que sugerem a instalação:

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

Eu já instalei libgl1-mesa-glx:i386. Do que eu achei isso . Sugere fazer um link simbólico para libbit de 32 bits. Como pode fazer isso? Você tem alguma outra sugestão?

Olcay Ertaş
fonte
Posso confirmar que a reinstalação da biblioteca libgl1 ajudou. Ubuntu 14.04 x86-64, compiz de desktop, driver gráfico Nvidia para GEForce GTS 450. #
hariprasad
A sudo aptitude install libgl1-mesa-glx:i386mostra 305 pacotes serão removidos e cerca de 100 não serão resolvidos. Como isso parece encher meu sistema, suspeito que o melhor curso de ação seja a inicialização dupla do Ubuntu com 64 bibliotecas e biblioteca de 32 bits, ou melhor, um sistema primário para a maioria das coisas, uma instalação de 64 bits para jogos e uma instância de 32 bits no sua própria partição para jogos de 32 bits.
Underverse

Respostas:

11

Esse problema nos sistemas de 64 bits é causado por /usr/libser mais cedo no LD_LIBRARY_PATHque /usr/lib32. O Steam tenta as bibliotecas de 64 bits e reclama, sem procurar mais.

No entanto, ele pode ser corrigido por in, ~/Steam/steam.shmas esse arquivo parece ser restaurado para a versão original toda vez que o vapor é executado.

Corrigi-o criando um script que faz isso:

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

Isso precede /usr/lib32o caminho da biblioteca e inicia o steam (com os argumentos originais do script). Agora /usr/lib32é encontrado no caminho anterior /usr/libe o steam usará com sucesso as bibliotecas de 32 bits.

Você também pode adicionar a linha

export LD_LIBRARY_PATH=/usr/lib32:$LD_LIBRARY_PATH

para /usr/bin/steam, terá o mesmo efeito, desde que você o adicione antes da última linha. Você precisará do sudo para editar /usr/lib/steam.

  • Isso tem o bônus adicional de que é uma correção melhor, pois tudo o que inicia o vapor (a entrada do menu do aplicativo, associações de tipo de arquivo, associações de URI) funcionará corretamente.
  • A desvantagem é que /usr/bin/steamprovavelmente será substituído quando o vapor for atualizado.

Eu uso o último método, mantendo o script como um backup. Dessa forma, se /usr/bin/steamfor substituído, eu posso simplesmente copiar e colar a linha novamente do script para corrigi-lo.

Terion
fonte
7

Corrigido isso no raring ringtail (xubuntu 13.04) com os drivers da nVidia 319.17 adicionando /usr/lib32a um novo arquivo:

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

então executando:

$ sudo ldconfig 

Como o arquivo /etc/ld.so.confcontém include /etc/ld.so.conf.d/*.conf, qualquer arquivo nesse diretório com a extensão .confé analisado.

scruff
fonte
Provavelmente, isso é melhor do que qualquer outra resposta.
Tek
2

Corrigido isso no Mint 14 com os drivers Nvidia de 64 bits mais recentes 310.32 com o suporte de driver de 32 bits instalado no

/emul/ia32-linux/usr/lib 

adicionando

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

Após o primeiro "export"no início do /usr/bin/steamarquivo.

terrigan
fonte
Usando "Mint" como base não é sugerido, já que Mint é offtopic aqui, mesmo que seja um derivado do Ubuntu
Thomas Ward
2

Corri para o mesmo problema, mas com o Skype . Todas as soluções acima (criando links simbólicos, configurando LD_LIBRARY_PATH) não funcionaram para mim.

Finalmente encontrei ajuda no post já mencionado acima - mas com uma solução diferente.

Parece que o atualizador nvidia (ao pedir permissão para instalar OpenGL bibliotecas de compatibilidade de 32 bits) desarrumada e removido /usr/lib/i386-linux-gnu/mesa/libGL.so.1e /usr/lib/i386-linux-gnu/mesa/libGL.so.

Reinstalar a biblioteca libgl1 ajudou:

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

b-studios
fonte
1

Se você estiver usando o beta limitado do Steam para Linux, eu o publicaria nos fóruns do Steam para Linux . Eles devem ter uma ajuda melhor e, se houver algum problema com o software, os desenvolvedores poderão corrigi-lo. Além disso, se você estiver usando um sistema operacional de 64 bits, existem muitas pessoas que provavelmente já enfrentaram os problemas que você tem e, portanto, sabem exatamente o que fazer.

especiaria
fonte
0

Eu tive exatamente o mesmo problema no Linux Mint Debian Edition 2 de 64 bits.

Eu o resolvi reinstalando os drivers da NVIDIA com as bibliotecas GL de 32 bits (depois de instalar as bibliotecas solicitadas pelo steam).

Suponho que a instalação dessas outras bibliotecas gráficas de 32 bits quebrou alguns vínculos e a reinstalação dos drivers NVIDIA com essas bibliotecas reais de 32 bits corrige o problema de vinculação.

SHOTbyGUN
fonte
0

Eu tive esse problema com o Skype. Corrigi-o instalando o driver oficial da Nvidia novamente e instale a biblioteca de compatibilidade de 32 bits durante a instalação.

Saeed Zarinfam
fonte