Erro ao carregar o libGL.so.1

47

Ao tentar executar vários softwares (notavelmente Steam e Yenka), me deparei com um erro semelhante a este: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

Estou executando um sistema de 64 bits, com uma placa NVidia Optimus (eu dual boot para alguns softwares somente do Windows que requerem uma placa gráfica dedicada). Eu tenho o bumblebee instalado, e estou usando o driver nvidia-current, em vez daquele baixado da NVidia, como recomendado.

A biblioteca (libGL.so.1) não está presente no diretório superior de /usr/lib , no entanto, está presente em /usr/lib32/nvidia-current , como um link para /usr/lib32/nvidia-current/libGL.so.304.64 .

Uma seção da saída do 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

Obviamente, uma biblioteca com esse nome está sendo carregada, mas eles estão localizados em /usr/lib/x86_64-linux-gnu , no entanto, o software instalado não parece capaz de "ver". Para o Steam, executá-lo com o optirun faz com que ele funcione, mas este não é o caso da Yenka. Eu suponho que o optirun faz com que a biblioteca armazenada em /usr/lib32/nvidia-current seja usada, o que permite que o Steam seja executado, então não consigo entender por que o Yenka não funciona.

Alguém pode explicar por que o software não consegue ver a biblioteca normal do table e por que o Yenka se recusa a executar com a biblioteca nvidia-current?

    
por p0llard 18.02.2013 / 20:52

8 respostas

39

Com os drivers nvidia instalados, o skype está procurando por um i386 lib fornecido pelo pacote nvidia. Como isso não existe, não há problema em usar o i386 libGL.so.1 fornecido pela mesa.

Testado em (ubuntu-gnome raring, usando nvidia-325) e (ubuntu-gnome saucy, usando nvidia-319), conseguimos consertar isso da seguinte forma:

update-alternatives --display i386-linux-gnu_gl_conf

Isso mostrará a você quais são as opções disponíveis.

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'

então, faça o seguinte:

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

selecione a melhor alternativa (selecionei i386-linux-gnu / mesa / ld.so.conf): Na saída abaixo há duas opções para a alternativa i386-linux-gnu_gl_conf (fornecendo /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

Depois de ter concluído isso, tente executar:

sudo ldconfig

e depois você está pronto.

    
por eurythmia 20.07.2013 / 22:10
51
  

Estou tendo o mesmo problema depois de instalar o skype ... para que você possa fazer qualquer coisa para corrigir esse erro ...

1o é executado o aplicativo seguindo o comando ... por exemplo estou executando skype ..

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

S O U R C E

2º, o que eu fiz

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

e adicione a seguinte linha nele

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

salvar & amp; sair

e por último, execute

sudo ldconfig -v

Espero que isso corrija o seu erro libGL.so.1 como foi meu

Você também pode encontrar libGL.so.1

   find / -name libGL.so.1
    
por Qasim 21.03.2013 / 05:17
12

As correções aqui funcionarão, mas há uma mais simples.

Se skype não funcionar mas optirun skype funcionar, você poderá corrigi-lo com:

sudo apt-get install bumblebee-nvidia --reinstall

(Pessoas usando o Bumblebee com placas AMD podem precisar fazer a reinstalação equivalente).

O Bumblebee causa e corrige esse problema, mas a correção que se aplica acontece na instalação, quando ele disponibiliza as bibliotecas libGL para a placa integrada, bem como a placa mais poderosa. Isso não acontecerá se essas bibliotecas já não estiverem instaladas quando você instalou o Bumblebee, necessitando, portanto, de uma reinstalação. Isso também não deve afetar sua configuração de bumblebee, embora seja obviamente valido a verificação depois de fazer isso.

    
por Jon Hanna 27.04.2014 / 14:41
1

Não tenho certeza se isso ajudará a esclarecer ou não, mas tive o mesmo problema com skype e libGL.so.1. Também executando o 13.04 com um cartão otimus e um bumblebee.

Eu tenho o problema executando o Skype sem optirun, mas funcionou bem com ele. Acabei de mudar o arquivo da área de trabalho para executar com optirun cada vez e voila. fixo!

    
por user191532 10.09.2013 / 00:54
1

Eu tive um problema semelhante e resolvi isso instalando bibliotecas de 32 bits no meu sistema de 64 bits: apt-get install ia32-libs

    
por Matt 21.12.2013 / 04:53
1

Edite a entrada na área de trabalho:

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

Altere o Exec para:

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

Isso é executado:

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

antes de executar o Skype quando você o inicia com a entrada do iniciador / desktop.

Ele deve funcionar bem depois disso, contanto que você o inicie usando o inicializador de aplicativos.

    
por hazmat 17.12.2014 / 19:20
0

Faça o download da versão mais recente da página oficial do Steam, em vez de permitir o download do que ele precisa do terminal (se necessário). do que adicionar bumblebee ppa se você não tiver já.

sudo add-apt-repository ppa:bumblebee/stable

atualize-o com este comando:

sudo apt-get update

e instale o virtualgl (que resolveu o problema do libgl.so.1 para mim no Steam)

sudo apt-get install virtualgl
    
por Addae Dans 28.04.2014 / 21:20
0

Tente:

sudo apt-get install libgl1-mesa-glx-lts-utopic:i386
    
por Donkey 11.05.2015 / 02:27