|
|
|
|
Salut,
ldconfig |
y a t il des cas qui nécessitent de déplacer les bibliotheques du répertoire /usr/lib à /usr/local/lib ou inversement?
export LD_LIBRARY_PATH=/usr/local/lib si la variable n'est pas encore definie ou export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH si la variable contient deja d'autres chemins bibliotheques (parce que ca a ete mis dans .bashrc/.profile plus haut dans le fichier). Ca fonctionne un peu comme le PATH mais pour les bibliotheques au lieu des applications. Chez toi regarde avec: cat /etc/ld.so.conf echo $LD_LIBRARY_PATH et si un des deux contient /usr/local/lib c'est bon et tu n'as pas besoin de faire quoi que ce soit. Le seul (petit) probleme que tu pourrais avoir est si tu as installe les memes bibliotheques avec de versions tres legerement differentes dans les deux, dans /usr/lib/ (par un rpm de la distribution) et aussi dans /usr/local/lib (par un "make install" apres compilation). Dans ce cas je crois c'est d'abord le LD_LIBRARY_PATH et apres le fichier /etc/ld.so.conf qui comptes, mais je ne suis pas sur. De toute facon un logiciel qui depend disons par exemple de "libtoto.so.3.4" (nom quelconque) dans /usr/lib/ peut prendre au lieu de ca une autre version: "libtoto.so.3.5" dans /usr/local/lib. S'il n'y a pas de bogues le logiciel va normalement bien fonctionner avec l'autre version, c'est sense d'etre compatible (a peu pres). Cependant defois un bogue a ete repare dans le libtoto ou le logiciel a un bogue et ca peut dans certains cas creer de problemes. Dans l'exemple ci-dessus ou on passe de libtoto.so.3.4 => libtoto.so.3.5 ca doit etre bon. Par contre avec libtoto.so.3.4 => libtoto.so.3.3 ca peut creer un probleme de ce genre. La situation est tres differente si c'est le premier numero de la version qui change. Par exemple s'il y a dans /usr/local/lib/ un "libtoto.so.4.0" le logiciel compile avec "libtoto.so.3.4" ne prend pas l'autre version (il prendre la version 3.4 initiale dans /usr/lib/). En fait une difference dans le 1er chiffre de la version est comme une difference dans le nom de la bibliotheque, c'est presque 100% independant et ca peut parfaitement coexister, meme dans le meme repertoire. Apres il peut y avoir de logiciels qui prennent une version et d'autres qui prennent l'autre, ca depend comment le logiciel a ete compile. Ca devrait aussi partiellement repondre a ta question dans l'autre sujet. Par contre la gestion des rpm avec les dependances est tres vite depassee si on melange trop entre les differents rpm (et les tar.gz), c.-a-d. ca affiche de problemes dependances qui ne sont pas vraie etc. Donc il faut forcer l'installation avec les options "--nodeps" et/ou "--force" quand on utilise rpm. Mais c'est tres tres delicat. |
Non, sur le fond il n'y a pas de difference, mais il y a une espece de convention de mettre tout qui est original pour la distribution (Mandrake, Fedora, ...) dans /usr/lib (et aussi: /usr/bin/, /usr/share, /usr/man/, ...)
|
Salut,
|