você está aqui: Home  → Arquivo de Mensagens Workshop Gratuito sobre Programação Shell Linux

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 


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