J'installe un programme sur un serveur en tant qu'utilisateur non root. Plus précisément, il s'agit de tmux 1.5, mais cela devrait s'appliquer à tous les programmes installés localement à mon avis (je mentionne le nom du programme au cas où ce problème ne serait pas ma propre erreur).
Le programme nécessite que j'installe certaines bibliothèques dépendantes (par exemple libevent et ncurses). Donc, je les ai installés tous les deux localement car je n'ai pas d'accès root
cd $HOME/library/installation/folder
DIR=$HOME/local
./configure --prefix=$DIR
#... make ... make install
Maintenant, pour installer le programme, je devais également inclure les packages de bibliothèque:
cd $HOME/program/installation/folder
./configure --prefix=$DIR CFLAGS="-I$DIR/include" LDFLAGS="-L$DIR/lib"
#... make ... make install
Ok, donc cela installe le programme sans problème dans $ HOME / local / bin, mais si j'exécute l'exécutable: $ HOME / local / bin / tmux, j'obtiens l'erreur suivante:
tmux: erreur lors du chargement des bibliothèques partagées: libevent-2.0.so.5: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type
Il me semble que le programme ne trouve pas les bibliothèques souhaitées, mais le fichier libevent-2.0.so.5 existe bel et bien dans $ HOME / local / lib comme spécifié dans les options de configuration. Je me demande comment je peux faire en sorte que le programme reconnaisse la bibliothèque installée pour fonctionner. J'ai essayé de mettre des liens symboliques dans $ HOME / lib, $ HOME / bin et $ HOME / local / bin, mais rien de tout cela n'a fonctionné. Toutes les idées et suggestions seraient grandement appréciées
-R $DIR/lib
àCFLAGS
est en constructiontmux
(et nonlibevent
). Cela ne m'a pas aidé - il y a eu une dernière erreur de gcc disant qu'il ne peut pas reconnaître-R
(aussi, j'ai essayé sans l'espace entre-R
et$DIR
). ./configure --disable-shared Cela a fonctionné, la mise à jour aLD_LIBRARY_PATH
également fonctionné. J'ai fini parlibevent
refaire avec l'--disable-shared
option ci-dessus .