# Au secours !!!

## dcro

bash ne trouve plus gcc.

Plus moyen de compiler !

```

root@didier linux # gcc

bash: gcc: command not found

root@didier linux #

```

----------

## avendesora

Est-ce que ton $PATH est bien positionné?

Est-ce que to as fait des emerge de gcc recemment?

----------

## dcro

J'ai fait un emerge -u  hier.

Quand au path j'ai ca :

```

root@didier linux # echo $PATH

/sbin:/bin:/usr/sbin:/usr/bin

root@didier linux #

```

----------

## avendesora

Ca te donne quoi:

```
ls /usr/bin/*gcc*
```

----------

## dcro

J'ai trouvé l'origine du probleme il s'agit du path

en user j'ai :

```

dcro@didier dcro $ echo $PATH

/usr/kde/3/bin:/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/3.2:

/usr/X11R6/bin:/opt/blackdown-jre-1.3.1/bin:/usr/qt/3/bin:

/usr/kde/3/bin

dcro@didier dcro $

```

en root j'ai : voir dans mon message au dessus.

Comment fait pout mettre à jour le path.

Comment ce fait il que l'on perde ces info au fur et à mesure des mise à jour ? 

J'ai perdu les appli kde sous root il y a un moi.

----------

## avendesora

Le profil de root est pas forcement identique a celui d'un user normal.

Essaye de comparer les fichiers .bashrc et .bash_profile de ton user avec ceux de root. Regarde aussi le fichier /etc/profile: son comportement n'est pas le même pour root et pour les autres.

Par contre, pourquoi ton gcc n'est pas installe dans /usr/bin (ou au moins des liens), ca, ca me dépasse   :Confused: 

----------

## dcro

 *mseigneurin wrote:*   

> Ca te donne quoi:
> 
> ```
> ls /usr/bin/*gcc*
> ```
> ...

 

Je n'ai rien dans /usr/bin

En fait j'ai l'impression qu'en faisant un emerge -u cela m'a enlevé ce qui normalement ce trouvait dans le reprtoire.

Par ailleurs emerge marche toujours mais c'est lorsque je veux compiler via make que cela plante.

Je pense que c'est soit un lien qui a sauté ou le path qui a été modifié. 

En fait gcc se trouve à

```

/usr/i686-pc-linux-gnu/gcc-bin/3.2/gcc

```

Quelqu'un pourrait donner le résultat de echo $PATH

----------

## docCarcass

Test ça:

#env-update

#source /etc/profile

#hash -r

puis regarde #which gcc

et                #which cc

si besoin      #rm /usr/bin/cc           

                   #ln -s "la_ou_est_gcc" cc

----------

## sergio

 *dcro wrote:*   

> J'ai fait un emerge -u  hier.
> 
> 

 

Est-ce que tu as pensé à faire un petit coup de "etc-update" pour t'assurer que tes fichiers de config sont à jour ???

A+

----------

## Wallalai

 *docCarcass wrote:*   

> Test ça:
> 
> #env-update
> 
> #source /etc/profile
> ...

 

Nickel, j'avais un problème pour faire make menuconfig. Le système ne trouvait pas Ncurses et gcc.

Après la manip, tout baigne.   :Very Happy: 

Je n'avais jamais rencontré ce problème sur la 1.2 ou la 1.4rc1.

Merci beaucoup, je vais pouvoir poursuivre l'installl  :Razz: 

----------

## Mat_le_ouf

C'est étonnant, j'ai moi aussi eu ce genre de problêmes...

En fait gcc n'est plus dans /usr/bin mais dans /usr/i686-pc-linux-gnu/gcc-bin/3.2/gcc et je suis obligé de faire un lien vers ce fichier dans /usr/bin.

On dirait que ça arrive après un emerge unmerge...

----------

## dioxmat

moue c pas cool tout ca... surtout que la plupart des solutions marchent pour bash, mais pas pour tous les autres shells...

perso men suis tire en refaisant les liens a la main, mais bon...

----------

## Mat_le_ouf

D'autres personnes ont eu le même genre de problèmes sur les forums anglophones (je les suis pas trop en ce moment...)?

----------

## ganjo

perso jai le meme genre de prob, mais dautre executable manque a mon path, tel wish, *trace... sous root, se qui mempeche (pour wish) de lancer make xconfig.

Cest pas trop genant, mais bon, cest unpeu chiant de rechercher les executables partout

----------

## crevette

Je pense qu'il faudrait que les personnes qui ont connu ce genre de probleme remplisse un rapport de bug, car c'est vraiment pas normal, que ca arrive.

comme ca les developpeurs sauront que leurs ebuilds c'est de le merde.

 :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy:   :Very Happy: 

----------

## Mat_le_ouf

En fait ça n'est pas arrivé sur ma machine mais sur la machine d'un pote.

Pour ma part, n'ayant pas mis gcc à jour (si c'est la cause des problèmes) je n'ai jamais eu ce genre d'ennuis...

----------

## ganjo

le bug ne vient "peut etre" pas de l'ebuild de gcc, 

perso jutilise 2 shell : bash ou zsh

la variable path na pas été mis a jour sous bash, me causant les prob d'executable non trouvé, par contre il l'a été dans zsh

----------

## dioxmat

le fait est que l'executable n'a pas vraiment de raison de se trouver la... au pire, ils auraient pu faire des liens.. ca ma pris 2 secondes :)

----------

## ganjo

cest vrai

je pense que ,vu la mise du compilo dans un rep nommé x86, il sera possible d'installer par defaut gcc dans un mode de cross-compilation, car cest vrai que sinon un tel oubli parait étonant

----------

## ganjo

en fait je pense qu'il ya pas mal d'autres erreurs sur le package de gcc, car de la même manière jai decouvert la disparition de certaines lib et include, comme par exemple stdargs

----------

## tecknojunky

Vérifiez si gcc-config a été emergé (tape gcc-config sur la ligne de commande).

----------

## DuF

Perso en faisant un emerge portage j'ai perdu /usr/bin/gcc

Quand j'ai lu la gentoo news week letter, normalement ils donnaient la solution pour réparer justement ce problème, bah en faisant ce qui était indiqué, ça n'a rien changé et j'ai pourtant bien tout comme il faut à la fin, ça correspond à ce qu'ils disent que je suis censé avoir, mais en fait toujours pas de /usr/bin/gcc, alors je fais le lien à la main, mais à mon avis au prochain emerge portage, il va encore disparaitre !

----------

## tecknojunky

J'ai pas, moi non plus, /usr/bin/gcc.  Pourtant, tout fonctionne bien.  Il y a plusieurs cossins que j'ai découvert qui peuvent peut-être t'aider.

Vérifie si tu as un répertoire /etc/env.d/gcc.  Si oui, compares les contenus de /etc/env.d/05gcc et de /etc/env.d/gcc/i<X>86-pc-linux-gnu-<version gcc> (où <X> = [3456] et version [3.2.1 ou 2.95.x]).  S'ils sont différent (dans mon cas, i386 et gcc 3.2.1):

cp /etc/env.d/gcc/i386-pc-linux-gnu-3.2.1 /etc/env.d/05gcc

env-update

source /etc/profile

Examine aussi l'outils gcc-config.  Il permet de régler l'environnement de compilation, entre autre, quel gcc utiliser.

----------

## DuF

Bon alors voilà ce que donne un  cat /etc/env.d/05gcc et un cat /etc/env.d/gcc/i686-pc-linux-gnu-3.2.1 :

```
bash-2.05b# cat /etc/env.d/gcc/i686-pc-linux-gnu-3.2.1 

PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"

ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"

LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1"

MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man"

INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info"

STDCXX_INCDIR="g++-v3"

CC="gcc"

CXX="g++"

```

```
bash-2.05b# cat /etc/env.d/05gcc 

PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"

ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"

MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man"

INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info"

CC="gcc"

CXX="g++"

LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.1"

```

Seule ligne différente : STDCXX_INCDIR="g++-v3"

Donc je test ton conseil et je vais voir ce que ça donne en enlevant le /usr/bin/gcc !

----------

## DuF

Après avoir fait : 

```
cp /etc/env.d/gcc/i386-pc-linux-gnu-3.2.1 /etc/env.d/05gcc

env-update

source /etc/profile 
```

J'ai toujours la même chose, je suis sorti de X pour faire ça, je me suis ensuite déloggé mais j'ai toujours le même problème : 

```
bash-2.05b# cd /usr/src/linux

bash-2.05b# make menuconfig

/bin/sh: line 1: gcc: command not found

rm -f include/asm

( cd include ; ln -sf asm-i386 asm)

make -C scripts/lxdialog all

make[1]: Entering directory `/usr/src/linux-2.4.19-gentoo-r10/scripts/lxdialog'

/bin/sh: line 1: gcc: command not found

>> Unable to find the Ncurses libraries.

>>

>> You must have Ncurses installed in order

>> to use 'make menuconfig'

make[1]: *** [ncurses] Erreur 1

make[1]: Leaving directory `/usr/src/linux-2.4.19-gentoo-r10/scripts/lxdialog'

make: *** [menuconfig] Erreur 2

```

Sachant que si je fais le lien /usr/bin/gcc  -> /usr/i686-pc-linux-gnu/gcc-bin/3.2/gcc je n'ai pas de problèmes !

----------

## DuF

bon au lieu d'effacer ce que j'ai mis avant car c'est idiot  :Smile:  je vais le laisser, ça pourra peut être servir, en fait j'ai trouvé pourquoi ça ne marchait pas et honte à moi, ouhhh, shame on me :p

En fait c'est tellement bête que j'ai honte de le dire, mais quand j'étais sous X, je faisais su seulement pour passer root, donc forcément l'environnement de root n'était pas chargé, avec su - forcément il n'y a plus de problème, j'y ai pensé après....

Bon ok je sors parce que là c la honte   :Laughing: 

----------

