Estoy instalando un programa en un servidor como usuario no root. Específicamente, es tmux 1.5, pero en mi opinión, esto debería aplicarse ampliamente a todos los programas instalados localmente (menciono el nombre del programa en caso de que este problema no sea mi propio error).
El programa requiere que instale algunas bibliotecas dependientes (por ejemplo, libevent y ncurses). Entonces, los instalé localmente ya que no tengo acceso de root
cd $HOME/library/installation/folder
DIR=$HOME/local
./configure --prefix=$DIR
#... make ... make install
Ahora, para instalar el programa, también tuve que incluir los paquetes de la biblioteca:
cd $HOME/program/installation/folder
./configure --prefix=$DIR CFLAGS="-I$DIR/include" LDFLAGS="-L$DIR/lib"
#... make ... make install
Ok, esto instala el programa sin problemas en $ HOME / local / bin, pero si ejecuto el ejecutable: $ HOME / local / bin / tmux, aparece el siguiente error:
tmux: error al cargar las bibliotecas compartidas: libevent-2.0.so.5: no se puede abrir el archivo de objeto compartido: No existe tal archivo o directorio
Me parece que el programa no puede encontrar las bibliotecas deseadas, pero el archivo libevent-2.0.so.5 sí existe en $ HOME / local / lib como se especifica en las opciones de configuración. Me pregunto cómo puedo hacer que el programa reconozca la biblioteca instalada para que se ejecute. Intenté poner enlaces simbólicos en $ HOME / lib, $ HOME / bin y $ HOME / local / bin, pero ninguno de estos funcionó. Cualquier idea y sugerencia sería muy apreciada.
-R $DIR/lib
queCFLAGS
es mientras se construyetmux
(y nolibevent
). Esto no me ayudó: hubo un error final de gcc que decía que no podía reconocer-R
(también, intenté sin el espacio entre-R
y$DIR
). ./configure --disable-shared Esto funcionó, actualizando elLD_LIBRARY_PATH
también funcionó. Terminé haciendo delibevent
nuevo con la--disable-shared
opción anterior .