Eu recebo erros de biblioteca compartilhada sempre que parece instalar o software manualmente. Após a execução, echo $LD_LIBRARY_PATH
ele aparece como ... nada . Eu tentei adicionar /usr/local/lib
a um .conf
arquivo, /etc/ld.so.conf.d
mas parece que ele nunca é executado.
Isso também não funciona (aspas ou outras):
LD_LIBRARY_PATH="/usr/local/lib"
export LD_LIBRARY_PATH
sudo ldconfig -v
O valor será definido temporariamente, mas não o manterá se eu sair de uma janela do terminal. A reinicialização também não faz nada.
sudo
environment-variables
shared-library
Raiva dissidente
fonte
fonte
~/.bashrc
Respostas:
Adicione o seguinte ao seu
.bashrc
:Isso permitirá que você reinicie o computador e ainda tenha esse caminho atribuído.
fonte
/etc/ld.so.conf.d
?No Red Hat Enterprise Linux (RHEL) 6,
/etc/ld.so.conf
contéminclude ld.so.conf.d/*.conf
. Sem essa linha, os itens/etc/ld.so.conf.d/*.conf
nunca seriam analisados.Para ver quais bibliotecas / diretórios
ldconfig
estão analisandofonte
/etc/ld.so.conf
mais cedo, pois estava curioso sobre o que continha. Ele tinha ainclude
linha.ldconfig -v
pode lhe dar uma idéia do motivo pelo qual a biblioteca não está sendo incluída. Você pode executarldconfig -p
para imprimir as bibliotecas e diretórios que estão no arquivo de cache atual.Finalmente resolvi isso com um alias:
Certifique-se de usar aspas simples, para que as variáveis sejam expandidas no momento da invocação, não no momento em que o alias é definido.
Este:
(Você pode ver como as coisas são definidas com
sudo bash -c "echo $HOME"
:)Estou trabalhando com drivers personalizados e sempre tenho que sudo meus programas de teste para acessar o driver. Não quero instalar versões de teste de bibliotecas na área do sistema, portanto, uso LD_LIBRARY_PATH para configurar um diretório de teste específico, conforme necessário. Não consigo definir um LD_LIBRARY_PATH fixo, preciso alterá-lo e manter a configuração atual. Preservar PATH e HOME me dá acesso ao meu ambiente de trabalho - scripts e estrutura de diretórios.
Esse alias evita ter que conceder permissões gerais em sudoers ... e aparentemente não há solução alternativa para LD_LIBRARY_PATH, independentemente das configurações do sudoers. Ele não funciona no sudo dentro dos scripts, mas esses podem ser codificados conforme necessário.
fonte