IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mac OS X Discussion :

Ajouter des variables d'environnement


Sujet :

Mac OS X

  1. #1
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut Ajouter des variables d'environnement


    Je débute avec l'utilisation d'OS X et j'aimerai ajouter une variable d'environnement. En cherchant un peu sur le web, j'ai vu que ceci pouvait se faire assez simplement et comme sous Linux à savoir :
    • ajouter la variable dans ~/.bash_profile (export MA_VARIABLE="/chemin/vers/ma/variable") ;
    • redémarrer la session ou lancer un petit source ~/.bash_profile.


    Une fois ceci fait je constate bien que ma variable a été créée en tapant un
    .

    Cependant le programme pour lequel j'ai besoin de ma variable ne la trouve pas.

    Dans mon cas présent, je souhaite utiliser la bibliothèque KDReports que j'ai installée dans /Applications/KDAB/KDReports. Ma variable pointant bien sur le bon chemin.

    Avez-vous une idée de ce qui peut bloquer ? Le problème ne venant à priori pas de KDReports, puisque si j'indique "en dur" le chemin censé être défini par ma variable, tout fonctionne correctement.

    D'avance merci pour votre aide.


    J
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 351
    Points : 42 822
    Points
    42 822
    Par défaut
    Je pense que ta variable d'environnement est valable lors de l'ouverture d'un shell, pas dans le Finder.

    Essayes en modifiant ~/.MacOSX/environment.plist

    Apparemment il n'existe pas par défaut, il faut le créer.

    https://developer.apple.com/library/...nmentVars.html
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    Merci pour ton aide.

    Il semblerait que ~/.MacOSX/environment.plist ne soit plus supporté sur les dernières versions d'OSX (je suis avec la version 10.11.1).
    En cherchant sur la toile je suis tombé sur une méthode utilisant des .plist mais dans ~/Library/LaunchAgents.

    J'ai suivi les méthodes et après pas mal de galère j'ai réussi à déclarer une variable d'environnement via le fichier setenv.KDREPORTSDIR.plist qui définit la variable KDREPORTSDIR dont la valeur est /Applications/KDAB/kdreports. Je précise tout ceci car la suite est ... étrange.

    Je dois déclarer une autre variable qui là s'appelle DYLD_LIBRARY_PATH et qui doit pointer vers /Applications/KDAB/kdreports/lib.

    Je refais donc la même méthode, et là de nouveau pas moyen de la déclarer... j'entends par là qu'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $DYLD_LIBRARY_PATH
    me renvoie une chaine vide (j'ai bien fait un launchctl load -w et est rebooter le PC Mac.

    Pour couronner le tout, bien que ma variable KDREPORTSDIR semble bien être définie et reconnu (dans un Terminal en tout cas), mon programme (Qt Creator) ne la trouve toujours pas...

    Pas facile tout ça


    Une idée ???

    ++


    J
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 351
    Points : 42 822
    Points
    42 822
    Par défaut
    Ca m'a intrigué ce truc.

    J'ai trouvé ça :

    http://www.jochenhebbrecht.be/site/2...ment-variables

    Sans garantie, mais ça peut être une piste.

    Sinon demande sur le sous-forum Qt, quelqu'un a peut-être déjà eu le problème.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Rédacteur/Modérateur

    Avatar de Jiyuu
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Janvier 2007
    Messages
    2 456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur amateur
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 456
    Points : 6 789
    Points
    6 789
    Billets dans le blog
    15
    Par défaut


    C'est ce type de manie que j'ai essayé de faire plusieurs fois. Après des recherches et des recherches voici où j'en suis :

    création d'un fichier /Library/LaunchAgents/environment.plist:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyLis$
    <plist version="1.0">
    <dict>
      <key>Label</key>
      <string>environment</string>
      <key>ProgramArguments</key>
      <array>
        <string>sh</string>
        <string>-c</string>
        <string>
        launchctl setenv DEVSDIR /Users/charlie/Dev
        launchctl setenv DEVS_DIR /Users/charlie/Dev
        launchctl setenv DYLD_LIBRARY_PATH /Applications/KDAB/kdreports/lib
        </string>
    
      </array>
      <key>RunAtLoad</key>
      <true/>
    </dict>
    </plist>
    Lancement de la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    launchctl load -w Library/LaunchAgents/environment.plist
    et après un reboot et un printenv:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    MBPdeChrlesElie:~ charlie$ printenv
    TERM_PROGRAM=Apple_Terminal
    SHELL=/bin/bash
    TERM=xterm-256color
    TMPDIR=/var/folders/tx/54bjswqx1x13gh26wwm2r9c40000gn/T/
    Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.a5pVjntJNF/Render
    TERM_PROGRAM_VERSION=361
    TERM_SESSION_ID=DA848833-00D9-42DE-8775-50549CD02354
    USER=charlie
    SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.GqMZVY0YBq/Listeners
    __CF_USER_TEXT_ENCODING=0x1F5:0x0:0x1
    PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Qt/5.5/clang_64/bin
    PWD=/Users/charlie
    DEVSDIR=/Users/charlie/Dev
    LANG=fr_FR.UTF-8
    XPC_FLAGS=0x0
    XPC_SERVICE_NAME=0
    SHLVL=1
    HOME=/Users/charlie
    LOGNAME=charlie
    DEVS_DIR=/Users/charlie/Dev
    _=/usr/bin/printenv
    MBPdeChrlesElie:~ charlie$
    On constate que la variable DYLD_LIBRARY_PATH n'est pas générée...

    Ça commence à devenir casse bonbon là... pas simple OS X

    Note : dans le .plist j'ai aussi essayé avec cette ligne:
    launchctl setenv DYLD_LIBRARY_PATH $DYLD_LIBRARY_PATH:/Applications/KDAB/kdreports/lib

    Donc en gros il doit y avoir une manière de faire bien spécifique pour compléter cette variable, mais je ne trouve toujours rien
    Initiation à Qt Quick et QML : Partie 1 - Partie 2
    En cas de besoin, pensez à la
    Mon site et mes tutoriaux sur Developpez.com
    Pas de question technique par MP... Les forums sont là pour ça

Discussions similaires

  1. [VB] Comment creer des variables d'environnement
    Par keveen dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/03/2006, 12h13
  2. [Tomcat 5] automatisation des variables d'environnement
    Par blacksheep dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 08/09/2005, 14h58
  3. Ajouter des variables au PATH
    Par Feustine dans le forum Langage
    Réponses: 5
    Dernier message: 16/08/2005, 14h59
  4. Utiliser des variables d'environnements
    Par Xam335 dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/08/2004, 15h15
  5. Réponses: 4
    Dernier message: 18/07/2002, 14h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo