De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

ldd

Colaboração: Antonio Figueiredo

Data de Publicação: 16 de Setembro de 1997

Esta é uma dica sobre como configurar adequadamente a variável de ambiente LD_LIBRARY_PATH para que determinada aplicação consiga carregar em tempo de execução todos os módulos de que necessita.

As vezes encaramos seguinte problema, rodamos ou acabamos de instalar um software qualquer (as vezes previamente compilado em outro ambiente) e quando o executamos, aparecem mensagens do tipo:

  ld.so.1: cantata: fatal: libxvl.so: can't open file: errno=2 Killed  
           ^^^
  	   ^
  	   |___ nome do programa

Uma alternativa para resolver problemas desta natureza seria descobrir que biblioteca a aplicação acima estaria reclamando. Isto pode ser resolvido incluindo-se na variável de ambiente LD_LIBRARY_PATH o caminho para a biblioteca que ocasionou o problema

O comando "ldd" gera uma lista de dependência dinâmica de arquivos executáveis ou objetos que são compartilhados.

Considerando o exemplo, digite:

  	% ldd ""which cantata""

Será listado algo como:

  	...
  	...
          libkdac.so =>    (not found)
          libkfmt.so =>    (not found)
          libkgen.so =>    (not found)
          libkcms.so =>    (not found)
          libkexpr.so =>   (not found)
          libklibdb.so =>  (not found)
          libklm.so =>     (not found)
          libku.so =>      (not found)
          libXmu.so.4 =>   /usr/openwin/lib/libXmu.so.4
          libXt.so.4 =>    /usr/lib/libXt.so.4
          libXext.so.0 =>  /usr/openwin/lib/libXext.so.0
  	...
  	

Desta forma são identificados todos os módulos que a aplicação necessita para funcionar. Para resolver o problema basta identificar a localização destas bibliotecas em seu sistema e definir a variável de ambiente LD_LIBRARY_PATH de forma a que sua aplicação consiga localizar tudo o que necessita em tempo de execução.

  
  -------------------------------
  Antonio Figueiredo, System Admin	        www.dca.fee.unicamp.br/~antonio=
  Computer Engineering & Ind. Automation 	             antonio@dca.fee.unicamp.br
  School of Electrical & Computer Engineering       	    afigueiredo@acm.org 
  State University of Campinas - Campinas, SP BRAZIL     +55 19 239-4313 ext. 238 

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Antonio Figueiredo