Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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

ehmicky a écrit :

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