Sistemas Unix tendem a classificar diferentes tipos de arquivos em diferentes diretórios. Existem diretórios separados para executáveis (por exemplo, /usr/bin
), documentação (por exemplo, /usr/man
, /usr/info
,…), bibliotecas nativas (por exemplo, /usr/lib
), bibliotecas Perl (por exemplo, /usr/lib/perl5
) e assim por diante. Correspondentemente, existem diferentes variáveis de caminho, todas com a mesma sintaxe (lista de diretórios separados por dois pontos): PATH
para executáveis, MANPATH
para páginas man, LD_LIBRARY_PATH
para bibliotecas nativas, PERL5LIB
para bibliotecas Perl e assim por diante.
Para bibliotecas nativas, há bibliotecas padrão do sistema que estão no caminho de pesquisa, sejam elas mencionadas na variável de ambiente LD_LIBRARY_PATH
ou não. No Linux, esses diretórios são listados em /etc/ld.so.conf
(também, /lib
e /usr/lib
estão sempre no caminho de pesquisa).
Você tem várias possibilidades:
- Adicione
/home/mri/Software/BRAINS3/lib
a /etc/ld.so.conf
(específicas do Linux, outras variantes unix podem ter um arquivo semelhante). Execute ldconfig
para que a alteração tenha efeito.
- Adicione
export LD_LIBRARY_PATH=/home/mri/Software/BRAINS3/lib
em /etc/profile
(aplica-se a todos os usuários) ou em ~/.profile
(aplica-se somente a você).
-
Crie um script de wrapper:
#!/bin/sh
export LD_LIBRARY_PATH=/home/mri/Software/BRAINS3/lib
exec /home/mri/Software/BRAINS3/bin/brains3 "$@"
-
Crie links simbólicos para as bibliotecas em /home/mri/Software/BRAINS3/lib
em outro diretório no caminho de pesquisa:
ln -s /home/mri/Software/BRAINS3/bin/brains3/lib*.so.* /usr/local/lib/
¹ LD_LIBRARY_PATH
é o nome da maioria das variantes unix, mas o Mac OS X usa DYLD_LIBRARY_PATH
.