Crie um arquivo para ele:
sudo vim /etc/ld.so.conf.d/my_application.conf
E o conteúdo desse arquivo:
/home/jim/usr/lib
Salvar. Recriar o cache:
sudo ldconfig -v
Eu construí e instalei um aplicativo em um diretório de minha escolha, digamos, em /home/jim/usr
, então os arquivos foram colocados em três e quatro pastas, todas sob essa pasta $HOME/usr
(por exemplo, bin
, include
, lib
, share
, etc.).
Eu posso lançar este aplicativo a partir da linha de comando, bem como adicionei os caminhos adequados para minhas variáveis de ambiente PATH
e LD_LIBRARY_PATH
in ~/.bashrc
.
Eu adicionei os mesmos caminhos para o arquivo ~/.profile
, que, se não me engano, deve ser analisado pelo Ubuntu.
Não funciona. Nada. Onde posso ir de lá?
EDIT: Eu efetuei logout / in e reiniciei meu computador. Ambos não mudaram nada. O problema parece vir do fato de que não importa o que eu faça, a variável de ambiente LD_LIBRARY_PATH não é passada corretamente para o Ubuntu.
Usando arquivos de log, descobri que o aplicativo que estou tentando executar neste exemplo não encontra uma das dependências localizadas em ~/usr/lib
.
Uma solução seria adicionar a pasta /home/jim/usr/lib
dentro de um arquivo localizado em /etc/ld.so.conf.d/
, mas não tenho direitos de administrador nesta máquina.
Como um script wrapper como este funciona:
#!/bin/bash
export LD_LIBRARY_PATH=$HLOC/usr/lib
application &> $HOME/application_messages.log
mas isso me forçaria a envolver todos os meus aplicativos compilados em casa com esse script. Alguma idéia?
Por que o Ubuntu / Gnome remove a variável de ambiente LD_LIBRARY_PATH das minhas variáveis de conjunto? É porque tentar fazer isso é uma má prática?
UPDATE (e solução): Como encontrado por Christopher, há um relatório de bug sobre isso no launchpad. LD_LIBRARY_PATH é não definido após a análise do arquivo ~/.profile
. Veja o relatório de erros . Parece que a única solução, por enquanto, é criar um script de wrapper.
Crie um arquivo para ele:
sudo vim /etc/ld.so.conf.d/my_application.conf
E o conteúdo desse arquivo:
/home/jim/usr/lib
Salvar. Recriar o cache:
sudo ldconfig -v
Tags .profile customization