#1 Le 05/12/2010, à 03:40
- maximedef
[Résolu] Impossibilité de modifier une variable d'environnement
Bonjour,
Je cherche à exécuter des fonctions compilées de Matlab. Pour cela, je dois préciser dans LD_LIBRARY_PATH les répertoires des librairies nécessaires.
Le faire directement en ligne de commande fonctionne :
export LD_LIBRARY_PATH="/usr/local/matlab/sys/os/glnxa64:/usr/local/matlab/bin/glnxa64:/usr/local/matlab/extern/lib/glnxa64:/usr/local/matlab/runtime/glnxa64:/usr/local/matlab/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:/usr/local/matlab/sys/java/jre/glnxa64/jre/lib/amd64/server:/usr/local/matlab/sys/java/jre/glnxa64/jre/lib/amd64"
Mais quand je mets ça dans un script,
#!/bin/sh
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/MATLAB/MATLAB_Component_Runtime/v713/runtime/glnxa64:/opt/MATLAB/MATLAB_Component_Runtime/v713/bin/glnxa64:/opt/MATLAB/MATLAB_Component_Runtime/v713/sys/os/glnxa64:/opt/MATLAB/MATLAB_Component_Runtime/v713/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:/opt/MATLAB/MATLAB_Component_Runtime/v713/sys/java/jre/glnxa64/jre/lib/amd64/server:/opt/MATLAB/MATLAB_Component_Runtime/v713/sys/java/jre/glnxa64/jre/lib/amd64"
export XAPPLRESDIR="/opt/MATLAB/MATLAB_Component_Runtime/v713/X11/app-defaults"
echo 0
la commande
echo $LD_LIBRARY_PATH
ne donne rien du tout. Ce qui est très gênant pour rendre tout ça automatique
Est-ce qu'il pourrait y avoir des priorités, ou des interdictions de modification quelque part ?
Merci de votre aide
Dernière modification par maximedef (Le 05/12/2010, à 17:07)
Hors ligne
#2 Le 05/12/2010, à 04:38
- chopinhauer
Re : [Résolu] Impossibilité de modifier une variable d'environnement
Tu fais quoi avec ce script ? Tu le source ou tu l'exécute ? Seulement la première opération changera l'environnement du shell courant, la deuxième celui d'un nouveau processus lancé.
Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.
Hors ligne
#3 Le 05/12/2010, à 06:41
- ehmicky
Re : [Résolu] Impossibilité de modifier une variable d'environnement
Salut,
Il faut mettre les deux export dans ton ~/.bashrc, parce que comme le dit chopinhauer, les variables d'environnement ne sont exportées qu'aux enfants, et pas aux parents.
Sinon, pour rajouter des chemins pour ld (première variable LD_LIBRARY_PATH), tu peux aussi créer (je crois) un fichier /etc/ld.so.conf.d/matlab.conf par exemple, constitué simplement de l'ensemble des chemins, séparés par des newlines :
/opt/MATLAB/MATLAB_Component_Runtime/v713/runtime/glnxa64
/opt/MATLAB/MATLAB_Component_Runtime/v713/bin/glnxa64
/opt/MATLAB/MATLAB_Component_Runtime/v713/sys/os/glnxa64
/opt/MATLAB/MATLAB_Component_Runtime/v713/sys/java/jre/glnxa64/jre/lib/amd64/native_threads
/opt/MATLAB/MATLAB_Component_Runtime/v713/sys/java/jre/glnxa64/jre/lib/amd64/server
/opt/MATLAB/MATLAB_Component_Runtime/v713/sys/java/jre/glnxa64/jre/lib/amd64
Dernière modification par ehmicky (Le 05/12/2010, à 06:41)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#4 Le 05/12/2010, à 11:45
- chopinhauer
Re : [Résolu] Impossibilité de modifier une variable d'environnement
On peut aussi utiliser le built-in source (abrégé en '.'), comme dans :
. script.sh
Pensez à donner un bon titre à vos sujets : cela permettra d'aider d'autres utilisateurs dans votre même situation. Ce n'est pas qu'en donnant des solutions qu'on aide, mais aussi en posant des bonnes questions et… facilement trouvables.
Hors ligne
#5 Le 05/12/2010, à 14:27
- maximedef
Re : [Résolu] Impossibilité de modifier une variable d'environnement
Non, aucune de ces propositions ne fonctionnent (création d'un matlab.conf puis ldconfig, ou source script.sh). Pourtant, un
echo $LD_LIBRARY_PATH
me donnent bien la liste des chemins que je lui ai donné. Mais il me dit toujours :
error while loading shared libraries: libmwmclmcrrt.so: cannot open shared object file: No such file or directory
Seul la commande export directement dans le terminal fonctionne.
Hors ligne
#6 Le 05/12/2010, à 15:13
- FRUiT
Re : [Résolu] Impossibilité de modifier une variable d'environnement
Salut,
Il faut mettre les deux export dans ton ~/.bashrc, parce que comme le dit chopinhauer, les variables d'environnement ne sont exportées qu'aux enfants, et pas aux parents.]
Et ça t'as essayé ?
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#7 Le 05/12/2010, à 16:12
- ehmicky
Re : [Résolu] Impossibilité de modifier une variable d'environnement
Si cela ne marche pas, essaye de réperer le répertoire parent direct de libmwmclmrrt.so :
locate libmwmachin-chose
et vérifie qu'il est bien inclus dans les répertoires que tu as indiqué.
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#8 Le 05/12/2010, à 17:06
- maximedef
Re : [Résolu] Impossibilité de modifier une variable d'environnement
Ça y est ! Ça marche ! (en ajoutant les export à la fin de .bashrc)
Merci beaucoup !
Hors ligne