web-dev-qa-db-fra.com

Comment définir la variable d'environnement LD_LIBRARY_PATH sous Linux

J'ai d'abord exécuté la commande: export LD_LIBRARY_PATH=/usr/local/lib

Ensuite, j'ai ouvert le fichier .bash_profile: vi ~/.bash_profile. Dans ce fichier, je mets:

LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH

Ensuite, si le terminal est fermé et redémarré, taper echo $LD_LIBRARY_PATH n'affiche aucun résultat.

Comment définir le chemin en permanence?

164
singha

Vous devriez ajouter plus de détails sur votre distribution, par exemple sous Ubuntu. Pour ce faire, vous pouvez ajouter un fichier personnalisé .conf à /etc/ld.so.conf.d, par exemple.

Sudo gedit /etc/ld.so.conf.d/randomLibs.conf

dans le fichier, vous êtes censé écrire le chemin complet du répertoire qui contient toutes les bibliothèques que vous souhaitez ajouter au système, par exemple

/home/linux/myLocalLibs

n'oubliez pas d'ajouter uniquement le chemin du répertoire, pas le chemin complet du fichier, toutes les bibliothèques à l'intérieur de ce chemin seront automatiquement indexées.

Enregistrez et exécutez Sudo ldconfig pour mettre à jour le système avec cette bibliothèque.

171
user1824407

Conservez le chemin précédent, ne l'écrasez pas:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/

Vous pouvez l'ajouter à votre ~/.bashrc:

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/' >> ~/.bashrc
63
Ariel Monaco

Ajouter

LD_LIBRARY_PATH = "/ chemin/vous/voulez1:/chemin/vous/voulez/2"

à /etc/environment

Voir le Documentation Ubunt .

CORRECTION: Je devrais suivre mon propre conseil et lire la documentation. Il dit que cela ne s'applique pas à LD_LIBRARY_PATH: Depuis Ubuntu 9.04 Jaunty Jackalope, LD_LIBRARY_PATH ne peut pas être défini dans les fichiers $ HOME/.profile,/etc/profile, ni/etc/environment. Vous devez utiliser les fichiers de configuration /etc/ld.so.conf.d/.conf. * La réponse de l'utilisateur1824407 est donc parfaite.

31
MrUser

Le fichier .bash_profile n'est exécuté que par les shells de connexion. Vous devrez peut-être le mettre dans ~/.bashrc ou simplement vous déconnecter et vous reconnecter.

20

Sinon, vous pouvez exécuter un programme avec le répertoire de bibliothèque spécifié:

/lib/ld-linux.so.2 --library-path PATH EXECUTABLE

Lire la suite ici .

14
K15.Multik

Pour une raison quelconque, personne n'a mentionné le fait que le bashrc doit être re-sourced après l'édition. Vous pouvez vous déconnecter et vous reconnecter (comme mentionné ci-dessus), mais vous pouvez également utiliser les commandes: source ~/.bashrc ou . ~/.bashrc.

14
nbroeking

Mettez export LD_LIBRARY_PATH=/usr/local/lib dans ~/.bashrc [de préférence vers la fin du script pour éviter tout remplacement entre les deux. Par défaut, ~/.bashrc est fourni avec de nombreuses instructions if-else]

Signalez que chaque fois que vous ouvrez un nouveau terminal/konsole, LD_LIBRARY_PATH sera reflété

14
Anshul
  1. Allez dans le dossier personnel et éditez .profile
  2. Placez la ligne suivante à la fin

    export LD_LIBRARY_PATH=<your path>

  3. Sauvegarder et quitter.

  4. Exécuter cette commande

    Sudo ldconfig

6
singingsingh

Vous pouvez essayer d'ajouter un script personnalisé, par exemple, myenv_vars.sh in /etc/profile.d.

cd /etc/profile.d
Sudo touch myenv_vars.sh
Sudo gedit myenv_vars.sh

Ajoutez ceci au fichier vide et enregistrez-le.

export LD_LIBRARY_PATH=/usr/local/lib

Déconnexion et connexion, LD_LIBRARY_PATH aura été défini de manière permanente.

3
Methusael Murmu

Je fais ce qui suit dans les mentales 15 à 17, fonctionne également sur le serveur Ubuntu 12.04 et supérieur:

Sudo vi /etc/bash.bashrc 

faites défiler vers le bas et ajoutez:

export LD_LIBRARY_PATH=.

La variable d'environnement est ajoutée à tous les utilisateurs.

2
Johnnyb