web-dev-qa-db-fra.com

Impossible de définir LD_LIBRARY_PATH dans /etc/profile.d

J'ai installé nVidia CUDA 7.5 dans Ubuntu Mate 16.04. Cependant, j'ai du mal à configurer les variables d'environnement.

Voici le fichier nvidia-settings.sh que j'ai dans le dossier /etc/profile.d:

export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/lib/nvidia-361:/usr/local/cuda-7.5/lib64:$LIBRARY_PATH

Cependant, après le redémarrage, l'environnement LD_LIBRARY_PATH n'était pas automatiquement disponible. Voici la sortie du terminal qui montre le problème:

ponir@mate:~$ echo $LD_LIBRARY_PATH

ponir@mate:~$ echo $LIBRARY_PATH
/usr/lib/nvidia-361:/usr/local/cuda-7.5/lib64:
ponir@mate:~$ export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:$LD_LIBRARY_PATH
ponir@mate:~$ echo $LD_LIBRARY_PATH
/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:
ponir@mate:~$ 

Mais après avoir exécuté export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:$LD_LIBRARY_PATH dans Terminal, j'ai pu obtenir cette variable.

Quel pourrait être le problème? Merci.

2
ponir

De page d'aide du wiki Ubunt

Remarque: Vous ne pouvez définir cette variable d'environnement qu'à l'intérieur d'un shell interactif. [c.-à-d. un terminal] 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. Voir le bogue Launchpad n ° 366728 pour plus d'informations.

Comment le réparer:

cd /etc/ld.so.conf.d

Créez un fichier avec l'extension .conf ici

Sudo nano cuda.conf

Ajoutez les chemins en deux lignes

/usr/local/cuda-7.5/lib64
/usr/lib/nvidia-361

Sauvegarder et quitter. Vérifiez avec ls -l que le fichier a la même propriété et les mêmes autorisations que les autres dans le répertoire, ils doivent être:

-rw-r--r-- 1 root root

Puis courir

ldconfig

Cela ne définit pas la variable env, mais inclut les bibliothèques de manière appropriée pour que CUDA fonctionne

5
Zanna

Tout d’abord, vous devriez avoir installé cuda via apt-get.

Cela dit, lorsque vous compilez ce genre de choses à partir de code source, vous devez souvent exécuter la commande suivante:

 Sudo ldconfig

S'il n'y a aucune raison d'installer une version compilée et si la version disponible sur apt-get est suffisante pour vos besoins, je suggérerais de désinstaller la version compilée et d'installer la version à partir d'apt-get.

Exécutez les commandes suivantes pour plus d’informations:

Sudo apt-get update 
apt-cache search cuda | grep -i cuda
0
J.T.