Estou instalando um programa em um servidor como um usuário não root. Especificamente, é o tmux 1.5, mas isso deve se aplicar amplamente a todos os programas instalados localmente na minha opinião (mencionei o nome do programa caso esse problema acabe não sendo meu próprio erro).
O programa requer que eu instale algumas bibliotecas dependentes (por exemplo, libevent e ncurses). Então, eu instalei os dois localmente, pois não tenho acesso root
cd $HOME/library/installation/folder
DIR=$HOME/local
./configure --prefix=$DIR
#... make ... make install
Agora, para instalar o programa, eu também precisei incluir os pacotes da biblioteca:
cd $HOME/program/installation/folder
./configure --prefix=$DIR CFLAGS="-I$DIR/include" LDFLAGS="-L$DIR/lib"
#... make ... make install
Ok, então isso instala o programa sem problemas no $ HOME / local / bin, mas se eu executar o executável: $ HOME / local / bin / tmux, recebo o seguinte erro:
tmux: erro ao carregar bibliotecas compartilhadas: libevent-2.0.so.5: não é possível abrir o arquivo de objeto compartilhado: Não existe esse arquivo ou diretório
Parece-me que o programa não consegue encontrar as bibliotecas desejadas, mas o arquivo libevent-2.0.so.5 realmente existe em $ HOME / local / lib, conforme especificado nas opções de configuração. Gostaria de saber como posso obter o programa para reconhecer a biblioteca instalada para executar. Tentei colocar links simbólicos em $ HOME / lib, $ HOME / bin e $ HOME / local / bin, mas nenhum deles funcionou. Todas as idéias e sugestões seriam muito apreciadas
-R $DIR/lib
queCFLAGS
é enquanto constróitmux
(e nãolibevent
). Isso não me ajudou - houve um erro final do gcc dizendo que ele não pode reconhecer-R
(também tentei sem o espaço entre-R
e$DIR
). ./configure --disable-shared Isso funcionou, atualizando oLD_LIBRARY_PATH
também funcionou. Acabei fazendolibevent
novamente com a--disable-shared
opção acima .