você está aqui: Home → Arquivo de Mensagens
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