Por uma vez, defina a variável LD_LIBRARY_PATH
para uma lista de diretórios separada por dois pontos para pesquisar. Isso é análogo a PATH
para executáveis, exceto que os diretórios padrão do sistema são pesquisados adicionalmente após os especificados pelo ambiente.
LD_LIBRARY_PATH=/usr/local/lib64 ./cart5
Se você tem um programa que mantém as bibliotecas em um local fora do padrão e não consegue encontrá-las sozinho, é possível escrever um script de wrapper:
#!/bin/sh
if [ -n "$LD_LIBRARY_PATH" ]; then
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64
else
LD_LIBRARY_PATH=/usr/local/lib64
fi
export LD_LIBRARY_PATH
exec /path/to/cart5 "$@"
A lista de diretórios padrão do sistema é mantida em /etc/ld.so.conf
. Sistemas recentes permitem que este arquivo inclua outros arquivos; Se o seu contiver algo como include /etc/ld.so.conf.d/*.conf
, crie um novo arquivo chamado /etc/ld.so.conf.d/mala.conf
contendo os diretórios que você deseja adicionar. Depois de alterar /etc/ld.so.conf
ou um arquivo incluído, execute /sbin/ldconfig
para que suas alterações entrem em vigor (isso atualiza um cache).
( LD_LIBRARY_PATH
também se aplica a muitos outros unices, incluindo FreeBSD, NetBSD, OpenBSD, Solaris e Tru64. HP-UX tem SHLIB_PATH
e Mac OS X tem DYLD_LIBRARY_PATH
. /etc/ld.so.conf
tem análogos na maioria dos unices mas a localização e sintaxe difere mais amplamente.)