erro causado pelo símbolo indefinido: glXGetProcAddress

1

Após meu último dist-upgrade do meu sistema debian de teste, o X se recusa a iniciar. Eu posso ver o seguinte erro (que aparece quando o gnome-session é iniciado):

symbol lookup error: /usr/lib/i386-linux-gnu/libcairo.so.2: undefined symbol: glXGetProcAddress

Além disso, até o texlive se recusa a atualizar, com o mesmo erro (causado pelo luatex).

Eu não sei como consertar este problema: é possível que uma biblioteca crucial esteja faltando? Se não, o que mais poderia causar esse problema?

    
por zar 05.10.2013 / 22:11

4 respostas

2

A resposta do peterph estava muito próxima do problema.

A placa de vídeo era uma Matrox G550 (mga), mas no passado havia uma nvidia instalada e algumas coisas glx permaneciam em /usr/lib/tls .

Eu não tenho experiência com o driver mga, mas meu entendimento é que não há uma implementação glx proprietária, então fomos em frente tentando fazer a mesa funcionar.

Depois de instalar libgl1-mesa-glx e glx-alternative-mesa , verificamos o libcairo com ldd e, em seguida, usamos dpkg -S com o caminho completo para saber de quais pacotes foram selecionados libGL e libGLcore resolvido por ldd , só para verificar que foi mesa, ambas as bibliotecas não estavam em nenhum pacote.

Transferiu essas bibliotecas e, desta vez, ldd mostrou as bibliotecas direitas da mesa, pedi que @zar checasse novamente e sua resposta foi que desta vez apt-get -f install foi finalizado corretamente e gdm3 foi executado sem erros .

Mesmo sendo um bug, acho que não podemos preencher nenhuma solicitação de bug, pois o driver nvidia não-debianizado quebrou o contrato .

A instalação de drivers proprietários ainda é mal , não entendo por que eles preferem a própria porcaria de supposed-to-install-everywhere.run em vez de procurar algum esforço de colaboração, pelo menos com grandes distribuições (que provavelmente viriam de graça / sem custo).

    
por 07.10.2013 / 03:34
1

O erro significa que sua instalação do Cairo está perdendo a dependência do link de tempo de execução - a julgar pelo nome do símbolo, é um pacote de implementação do OpenGL (talvez o Mesa) que está ausente / corrompido. A reinstalação do Cairo pode ajudar, desde que o gerenciador de pacotes corrija as dependências do pacote, que provavelmente são a causa do erro, e instale todos os pré-requisitos ausentes.

Você também pode executar ldd /usr/lib/i386-linux-gnu/libcairo.so.2 e verificar se há linhas contendo => not found - que informarão qual biblioteca está faltando em seu sistema, pesquisar qual pacote contém e (re) instalá-lo.

Esta também é uma síndrome típica para situações em que os pacotes dependentes são atualizados sem atualizar suas dependências (o que pode acontecer facilmente, por exemplo, com drivers proprietários - o que acabou sendo o caso aqui).

    
por 05.10.2013 / 23:01
0

Na nomenclatura RH: (eu não sei também o formato de empacotamento da Debian)

Eu tentei e encontrei o seguinte:

  1. # sudo **'yum whatprovides /usr/lib/libGL.so.1'** yields:

    *mesa-libGL-9.2.5-1.20131220.fc20.i686 : Mesa libGL runtime libraries and DRI drivers*
    

    ldd imprime dependências da biblioteca de objetos compartilhados , portanto, não é a ferramenta para o trabalho, A MENOS que haja um problema com a vinculação. Não encontrei nada.

Procurei REALMENTE DIFÍCIL e encontrei esta questão

2. O resto foi fácil:

    # nm -D /usr/lib/libGL.so.1 |grep 'glXGetProcAddress'
    00014310 T glXGetProcAddress
    00014310 T glXGetProcAddressARB

3. Eu tenho Adobe Reader para rodar depois disso.

    
por 06.03.2014 / 14:36
-1

Gnome são gravados de acordo com GTK+ library e dependem da biblioteca cairo , o cairo library ocorreu ao atualizar, por favor re-install , não do local, faça o download novamente.usar apt-cache e procure por cada cairo packages

    
por 05.10.2013 / 22:25