Standard pour les repertoires de Lib
Résolu
kilian
Messages postés
8732
Date d'inscription
Statut
Modérateur
Dernière intervention
-
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir tout le monde,
J'aurais besoin de vos lumières.
D'après ce que je sais, les bibliothèques dynamiques
sous Linux (portant l'extension .so) sont habituellement
stockées dans /lib ou /usr/lib (peut être d'autres?)
J'aimerais savoir, lorsqu'une application cherche une de ces
bibliothèques, comment elle procède pour la trouver. Est ce que le système utilise une variable d'environnement où sont contenus
ces repertoires.
Je ne pense pas, je ne l'ai pas trouvé avec les commandes set et env.
Ou bien cette liste de repertoires est stockées dans un fichier?
Ou tout simplement, le système ne va chercher ces bibliothèques
que dans les repertoires standards?
Voilà voilà, merci d'avance :-)
J'aurais besoin de vos lumières.
D'après ce que je sais, les bibliothèques dynamiques
sous Linux (portant l'extension .so) sont habituellement
stockées dans /lib ou /usr/lib (peut être d'autres?)
J'aimerais savoir, lorsqu'une application cherche une de ces
bibliothèques, comment elle procède pour la trouver. Est ce que le système utilise une variable d'environnement où sont contenus
ces repertoires.
Je ne pense pas, je ne l'ai pas trouvé avec les commandes set et env.
Ou bien cette liste de repertoires est stockées dans un fichier?
Ou tout simplement, le système ne va chercher ces bibliothèques
que dans les repertoires standards?
Voilà voilà, merci d'avance :-)
A voir également:
- Standard pour les repertoires de Lib
- Pilote son standard - Télécharger - Pilotes & Matériel
- Deep freeze standard - Télécharger - Sécurité
- Netflix standard avec pub avis - Accueil - Streaming
- Disney + standard avec pub - Accueil - Guide streaming
- Impossible d'obtenir le verrou de dpkg (/var/lib/dpkg/lock-frontend). avez-vous les droits du superutilisateur ? ✓ - Forum Ubuntu
3 réponses
Est ce que le système utilise une variable d'environnement où sont contenus ces repertoires.
La reponse est oui et non, c.-a-d. il existe une variable d'environnement qui s'appelle LD_LIBRARY_PATH ou on peut mettre une liste de repertoires bibliotheque mais le "non" c'est pour clarifier que les repertoires du systemes /lib/, /usr/lib/ sont trouve par une autre methode, on total il y en a trois cas:
1) /lib/... et /usr/lib/... ici c'est automatique pour trouver les bibliotheques, c'est prevu comme ca.
2) Les repertoires comme /usr/X11R6/lib, /usr/local/lib, /opt/lib, ou /opt/kde/lib (si en a) etc. Pour ces repertoires on cree ou on a une liste dans le fichier /etc/ld.so.conf. Regarde avec "cat /etc/ld.so.conf" ce que tu as actuellement. Tu peux y ajouter d'autres repertoires mais apres ca ou apres toute installation d'une nouvelle bibliothque il faut faire la commande "ldconfig" pour mettre a jour la base de donnees pour la recherche des lib (notamment pour mettre a jour le ficher binaire cache: /etc/ld.so.cache).
Si on installe avec urpmi, rpm, "make install" de libs la commande "ldconfig" est presque toujours apelee implicitement.
3) La variable LD_LIBRARY_PATH. Ca c'est typiquement pour des bibliotheques personnelles qui sont pas a la disposition de tout le systeme mais seulement pour un utilisateur. Par exemple: /home/toto/lib pour un utilisateur toto. Avec cette variable on peut bien tester de configs temporaires. Comme LD_LIBRARY_PATH est par defaut vide (contrairement au PATH qui est toujours utilise) elle n'apparait au debut pas dans /etc/profile, ni ~/.profile, ni ~/.bashrc etc. mais bien sur on peut y ajouter une ligne comme
(en bash ou avec setenv ... en tcsh).
La reponse est oui et non, c.-a-d. il existe une variable d'environnement qui s'appelle LD_LIBRARY_PATH ou on peut mettre une liste de repertoires bibliotheque mais le "non" c'est pour clarifier que les repertoires du systemes /lib/, /usr/lib/ sont trouve par une autre methode, on total il y en a trois cas:
1) /lib/... et /usr/lib/... ici c'est automatique pour trouver les bibliotheques, c'est prevu comme ca.
2) Les repertoires comme /usr/X11R6/lib, /usr/local/lib, /opt/lib, ou /opt/kde/lib (si en a) etc. Pour ces repertoires on cree ou on a une liste dans le fichier /etc/ld.so.conf. Regarde avec "cat /etc/ld.so.conf" ce que tu as actuellement. Tu peux y ajouter d'autres repertoires mais apres ca ou apres toute installation d'une nouvelle bibliothque il faut faire la commande "ldconfig" pour mettre a jour la base de donnees pour la recherche des lib (notamment pour mettre a jour le ficher binaire cache: /etc/ld.so.cache).
Si on installe avec urpmi, rpm, "make install" de libs la commande "ldconfig" est presque toujours apelee implicitement.
3) La variable LD_LIBRARY_PATH. Ca c'est typiquement pour des bibliotheques personnelles qui sont pas a la disposition de tout le systeme mais seulement pour un utilisateur. Par exemple: /home/toto/lib pour un utilisateur toto. Avec cette variable on peut bien tester de configs temporaires. Comme LD_LIBRARY_PATH est par defaut vide (contrairement au PATH qui est toujours utilise) elle n'apparait au debut pas dans /etc/profile, ni ~/.profile, ni ~/.bashrc etc. mais bien sur on peut y ajouter une ligne comme
export LD_LIBRARY_PATH=~/lib:/ma_lib_privee/lib
(en bash ou avec setenv ... en tcsh).