On approche
Philippe Guérin a dit:
On va peut-être y voir plus clair !
- Pour la variable PATH, je n'arrive pas à la localiser (et donc encore moins à la lire), elle n'est pas dans /usr/local/bin
Elle n'a pas à être quelque part...
Par contre, tu vois le contenu de cette variable avec le setenv:
...
PATH=/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
...
Remarque: setenv t'indique, dans un shell tcsh, toutes tes variables globales.
Faire un echo $PATH c'est juste pour afficher (echo) le contenu ($) de la variable globale PATH, ex:
- Pour les commandes echo $PATh , j'ai :
/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
tcsh: DYLD_LIBRARY_PATH: Undefined variable.
Oui, là tu as un souci, ta variable n'est pas définie.
Tu remarques aussi que /usr/local n'est pas défini dans ta variable PATH, or elle devrait l'être (cf le ReadMe.doc).
- Pour la commande conseillé par Kabuko : find / -name libgdraw.1.dylib, cela donne une longue liste (assez vexante !) de « Permission denied »
Comme indiqué par Kabutop, tu peux passer en root et relancer la commande.
Si tu n'as pas activé l'utilisateur root, tu passes par sudo:
Bloc de code:
sudo find / -name libgdraw.1.dylib
Le terminal va te demander ton mot de passe administrateur, et hop...
C'est à mon avis le plus important à faire.
Ce qui suit est accessoire...
Curieux qu'il me mette encore SHELL=/bin/bash alors que je suis repassé en tcsh dans les préfs de Terminal.
Pas complètement.
En fait, ton shell par défaut est toujours bash (ce qui se voit par le setenv), mais dans tes prefs de terminal, tu lances automatiquement un tcsh (sur le bash en quelque sorte).
La manière 'propre' de définir ton shell par défaut est d'ouvrir l'application /utilitaires/Gestionaire NetInfo (ou NetInfo Manager en anglais). A ce niveau là, dans la seconde colonne, tu as une balise users, qui va t'afficher la liste des utilisateurs de ton système (c'est surprenant, il y en a plus que ce à quoi tu t'attendais
. Si tu cliques sur ton nom (philippe?) tu vois apparaitre une série 'propriété' - 'valeur(s)'. Tu vas modifier la propriété shell en remplaçant /bin/bash par /bin/tcsh, et voilou...
Si tout est grisé, il faut d'abord t'authentifier en cliquant sur le cadenas en bas à gauche.
Autrement, il y a certainement un pb de variable ou celle-ci n'est pas repérée (Undefined variable).
Oui, clair... au moins 2 trucs à faire, même si je suis d'accord avec Kabutoc pour dire que c'est pas sûr que tu résolves ton problème comme ça (ça risque de pas suffire).
Comme tu as installé Fink, ça veut dire que tu dois avoir un fichier .tcshrc dans ton dossier utilisateur.
Ce fichier doit contenir:
(tu me diras si je me trompe...).
Je te conseille de créer un (ou plusieurs) fichier(s) qui contienne tes variables d'environnement.
Chez moi, j'ai crée un dossier tcsh_conf, qui contient des fichiers d'initialisation, ces fichiers étant 'sourcés' au démarrage du shell:
Bloc de code:
[2:47pm manu ~]% cat .tcshrc
# init fink
source /sw/bin/init.csh
# personalisation de la config
source ~/tcsh_conf/environnement
source ~/tcsh_conf/path
#
[2:48pm manu ~]% cd tcsh_conf/
[2:48pm manu ~/tcsh_conf]% cat environnement
# variables globales
setenv ABSOFT /Applications/Absoft
setenv PRINTER E6-laser
setenv HOST E6-TiBook
setenv DISPLAY :0
setenv LSCOLORS gxfxcxdxbxegedabagacad
setenv DYLD_LIBRARY_PATH "$ROOTSYS/lib"
# autres
#
setenv TERM xterm-color
set prompt="%{\033[0;32m%}[%{\033[33m%}%t %n %{\033[33m%}%{\033[33m%}%c3%{\033[32m%}]%{\033[0m%}%# "
#
set autolist
set complete = enhance
#
stty cs8 -istrip -parenb
set dspmbyte = "utf8"
#
#
[2:48pm manu ~/tcsh_conf]% cat path
# Les autres paths
set path = ( $ROOTSYS/bin $path )
set path = ( $ABSOFT/bin $path )
set path = ( /usr/local $path )
set path = ( /Users/manu/Documents/UnixPerso/scripts $path )
set path = ( /opt/ibmcmp/xlf/8.1/bin $path )
#
[2:48pm manu ~/tcsh_conf]%
Il est clair que tu n'as pas besoin de toutes les variables que j'ai définies, mais il te faut au moins faire un copier/coller de ce qui est indiqué dans le readme, par exemple dans le ficher environnement:
Bloc de code:
setenv PATH ${PATH}:/usr/local/bin
if ( "$MANPATH" == "" ) then
setenv MANPATH /usr/local/man
else
setenv MANPATH ${MANPATH}:/usr/local/man
endif
setenv DYLD_LIBRARY_PATH /usr/local/lib
L'intérêt:
Au démarrage de ton shell, tcsh 'cherche' un .tcshrc, et l'execute.
Dans ton cas, il va 'sourcer' successivement les fichiers:
/sw/bin/init.csh
~/tcsh_conf/environnement
~/tcsh_conf/path
si tu fais un setenv, tu vois qu'il a pris en compte le contenu de ces fichiers (par exemple dans PATH, tu auras entre autres /usr/local)
Ce qui est bien en pratique, c'est que le dossier tcsh_conf et les fichiers à l'intérieur sont visibles, et que tu peux les éditer facilement, pour rajouter des variables globales si tu en as besoin.
C'est des conseils, un peu en marge de ton problème, mais moi ça m'aide pas mal au quotidien...
J'espère que c'est à peu près clair, dis moi...
Je ne m'exprime pas forcément dans un 'pur' langage unixien, mais Kabutop est là pour relire