$PATH et cc malade :( Unixien demandé

Einbert

Membre expert
Club iGen
24 Avril 2001
1 239
20
Bon, après tous mes essais pour installer Windowmaker (qui ne fonctionne toujours pas d'ailleurs) et après avoir été bidouillé des trucs dans des fichiers, ben je me retrouve avec les problèmes suivants (ça ne devrait pas être un problème pour les habitués de Unix à me répondre...):

1) Quand je tape la commande $path, ben il devrait m'indiquer le path, mais non, là il me dit :
/Users/einbert/bin/powerpc-apple-darwin: Command not found.

2) Quand je tape la commande echo $path, voici ce qu'il me répond :
/Users/einbert/bin/powerpc-apple-darwin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin /Users/einbert/bin /sw/bin /sw/sbin /usr/X11R6/bin /usr/X11R6/bin

Ce path me paraît assez bizarre, déjà juste par le fait que /usr/X11R6/bin apparaît 2 fois.
Où se trouve le fichier où stoquer la path de tcsh...Est-ce que c'est /usr/share/init/tcsh/login ? Je sais que dans le dossier de fink, ben il configure aussi le path en ajoutant /sw/bin et un autre truc et le met même avant le $path, ce que j'ai été changé aussitôt. Mais dans le fichier que je viens d'indiquer ci-dessus avec son chemin d'accès, ben aucune trace de ce /users/einbert/bin/powerpc-apple-darwin !! D'où vient-il celui-ci, resp. dans par quel fichier est-il ajouté ?

3) La chose suivante est le plus grave pour moi, car j'en ai vachement besoin !! Je ne peux plus utiliser la commande
Bloc de code:
Quand je fais par exemple
Bloc de code:
, ben voici l'erreur qu'il me sort :
/usr/bin/ld: /usr/lib/libSystem.dylib load command 6 unknown cmd field
confused.gif
confused.gif

Quelqu'un a une idée comment réparer et en quoi consiste cette erreur ?? Il me semble que la commande ld a qqch à voir avec tout ce qui toucher les lib graphiques ??

Donc.......au secours ....... help Je dois utiliser cc pour mes séries d'info
frown.gif
!!
 
Ben c'est tout simple, à force de bidouiller ton PATH, tu as dû y ajouter des erreurs. Résultat : la moitié de tes commandes ne fonctionnent plus.
Ceci dit, vu que tu sembles être allé modifier des trucs dans /usr/share/init/tcsh/login, ça risque d'être chaud. Pour faire les choses proprement, on change généralement le path dans un fichier .login, ou .tcsh que l'on place à la racine de son dossier utilisateur.
 
Si ça peut t'aider, le fichier propre est :
Bloc de code:
Essaye déjà de le rétablir en l'état. Si tu n'as pas changé d'autres trucs ailleurs, ton cc devrait fonctionner à nouveau.
 
<BLOCKQUOTE><font size="1" face="Verdana, Geneva">quote:</font><HR>Posté à l'origine par Gwenhiver:
Ben c'est tout simple, à force de bidouiller ton PATH, tu as dû y ajouter des erreurs. Résultat : la moitié de tes commandes ne fonctionnent plus.
Ceci dit, vu que tu sembles être allé modifier des trucs dans /usr/share/init/tcsh/login, ça risque d'être chaud. Pour faire les choses proprement, on change généralement le path dans un fichier .login, ou .tcsh que l'on place à la racine de son dossier utilisateur.
<HR></BLOCKQUOTE>

Les commandes de base fonctionnent encore très bien (echo, date, ls, ps, etc..). Concernant le path et ce que j'avais modifié, ben je l'avais déjà été rétablir, mais rien n'y change...Il y a toujours ce phantome de
Bloc de code:
qui vient de je ne sais où !! En fait j'ai bel et bien un fichier .cshrc dans mon dossier racine utilisateur, mais pas de .tcsh ou de .login...Je le saurai pour les prochaines fois
grin.gif
!! Le .cshrc a été créé par fink je crois et dans le dossier fink, resp. dans /sw/bin/csh.init (un truc du style), ben il ajoute lui qqch au path initial, ce que je peux d'ailleurs constater si je fais
Bloc de code:
...Concernant le problème de cc, je crois que c'est peut-être plus profond, vu que ld fait justement référence au graphique si je ne m'abuse (c.f mon message ci-dessus concernant l'erreur qui se produit!!)...Suis-je bon à tout réinstaller ?? Je crois que mon plus gros problème actuellement, c'est que je ne peux pas utiliser cc...
 
le .login et .tcshrc ne sont pas cree par defaut, il faut les editer sois meme.
.login est source chaque fois que tu ouvres un terminal
.tcshrc
.cshrc
etc...
sont source en fonction de ton shell
pour le connaitre:
echo $SHELL
pour le changer:
NetInfo Manager /Users/...
pour ton probleme de path, si tu veux tu peux vider la variable PATH au debut de ton .login, et le remplir proprement apres
setenv $PATH ""
pour vider, ou un truc du genre
voila un petit exemple de morceau de .login

# Path standard dans mon home
setenv PATH "${PATH}:/home/wpaquier/bin:/home/wpaquier/opt/bin"
setenv LD_LIBRARY_PATH "/home/wpaquier/opt/lib"
setenv MANPATH "/home/wpaquier/opt/man"

# Pour ajouter des chemins... ceci place le nouveau chemin a la suite
setenv PATH "${PATH}:/home/tnemeth/bin"

# Pour ajouter des chemins... ceci place le nouveau chemin au debut
setenv PATH "home/tnemeth/bin:${PATH}"

l'ordre des chemins du PATH est important, si tu as deux versions d'un binaire, le premier trouve est execute, attention donc pour les problemes de versions

pour voir toutes tes varaiables d'environnement

printenv

tout ce qui est .login .tcshrc n'a rien a voir avec fink...
ou en tout cas ne devrais rien avoir avec.
J'ai pas installe fink parce que le no de version me fait un peu peur, et j'ai plus de partitions dediee au experiences en ce moment, va faloir que j'en refasse une ...

[26 octobre 2001 : message édité par William]
 
quand tu n'as pas de .login ou .tcshrc
le tcsh de MacOS X semble predefinir un ensemble de variables d'environement.

/users/einbert/bin/powerpc-apple-darwin

est une de ces variables.
!ca veut pas dire que le repertoire /users/einbert/bin/powerpc-apple-darwin existe, mais si il exitait, tu pourais lancer les binaires qui sont dedant sans donner le chemin.

A, oui, PATH ca sert a donner la liste des repertoires ou se trouve des binaires, pour ne pas avoir a donner le chemin a chaque fois.
De meme, LD_LIBRARY_PATH sert a donner les liste des repertoires ou se trouve les library dynamiques. (.dylib sous darwin, .so sous d'autrees unix, .dll sous windows, etc...)

Parfois certaines appli, seulement en ligne de commande refusent de se lancer par ce qu'elle ne trouvent pas leur .dylib

pour savoir quelle library ne sont pas trouve, tu dois utiliser la commande otool
(qui permet aussi de transformer du binaire en assembleur
smile.gif
)

otool -L appli

ensuite tu cherches la lib sur ton disque, et tu ajoutes son chemin dnas LD_LIBRARY_PATH.

et donc, ca resout ton probleme de cc je crois ;-)
 
Merci pour tes précisions William, surtout en ce qui concerne otool
smile.gif
! Concernant cc, j'avais aussi poster qqch sur le forum d'apple dans la section Unix et apparemment (d'après le gars qui m'a répondu), le problème serait dû que j'ai upgrader to 10.1, mais que j'ai encore les devtools 10.0 ! Ce problème aurait activement été débatu dans la section developper du forum apple...Pour ceux que ça intéresse (donc juste ce que m'a répondu le gars), c'est ici

Bon, j'essaie de réparer et je vous tiens au courant
smile.gif


Encore merci
smile.gif


Juste au passage, tu es étudiant en info ou un truc du style William ??
 
Merci pour ces infos William. Bon, en ce qui conerne le path, j'ai réussi à le remodifier, donc le voici :

/Users/einbert/bin/powerpc-apple-darwin /Users/einbert/bin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin /sw/bin /sw/sbin /usr/X11R6/bin

Seul point mystérieux qui persistent c'est où est créé

/Users/einbert/bin/powerpc-apple-darwin
confused.gif


Qu'est-ce qu'exactement
LD_LIBRARY_PATH ??

Mon problème de l'utilisation de cc n'est toujours pas résolu...Je vous rappelle donc l'erreur que j'obiens en tapant par exemple cc salut.c

/usr/bin/ld: /usr/lib/libSystem.dylib load command 6 unknown cmd field

QQun pourrait-il m'aider ??

bon week-end à tous
smile.gif
et je ne vais pas me laisser pourrir le week-end à cause de ce petit incident
wink.gif
 
Apres avoir relu le post de Gwen,
on voit tres bien ou est ajouter

/users/einbert/bin/powerpc-apple-darwin

c'est simplement cette partie du /usr/share/init/tcsh/login

if ($?version) then
if ("$version" =~ tcsh*) then
set path = ( "~/bin/${MACHTYPE}-${VENDOR}-${OSTYPE}" $path )
endif
endif

pour le voir

echo ${MACHTYPE}-${VENDOR}-${OSTYPE}

pour le probleme de version, il fallait le dire tout de suite, c'etait effectivement connu.
 
Merci bien pour cette explication...Maintenant je sais enfin d'où vient ce apple-powerpc-darwin
grin.gif


Bon, je dois alors installer les devtools 10.1...Quelques questions à ce sujet :

1) J'ai chercher un moment sur l'onglet developper d'apple, sans trouver aucun lien pour d/l ceux-ci...QQun pourrait-il me donner le link please ?
smile.gif


2)J'ai donc les devtools 10.0 installer pour le moment...Pour installer les 10.1, faut-il faire qqch de spéciale ? Je ne sais pas moi, virer le dossier developer manuellement ainsi que 2 ou 3 autres trucs, ou bien (c'est l'option la plus probable à mon avis), ben l'installer va automatiquement virer ce qu'il faut, resp. faire automatiquement une MAJ dans les dossier concernés ! Alors c'est quoi le bon truc ??

++