# [emerge] J'ai plus de gcc... [systeme corrompu] [résolu]

## gbetous

Comme dirait José Garcia : "Champion du monde !"

Ce week-end j'ai fait du ménage dans mes partitions, déplacé, redimensionné etc... j'ai cru jusqu'à ce matin que tout s'était bien passé (aucun soucis d'utilisation de ma Gentoo de toute la semaine).

Tout à l'heure je veux installer un nouveau paquet, j'ai une erreur style "masked by corruption". Pas grave, je me dis que j'ai du me vautrer en déplacant mon arbre protage, une syncro et ça repart... jusqu'au ./configure qui ne me trouve pas de gcc. Aie   :Crying or Very sad: 

Alors en effet, j'ai pas de "i686-pc-linux-gnu-4.3.4" dans mon PATH.

Je tente un gcc-config -l

=> 

```

coyote ~ # gcc-config -l

 [1] i686-pc-linux-gnu-4.3.4 *

coyote ~ # gcc-config i686-pc-linux-gnu-4.3.4

 * Switching native-compiler to i686-pc-linux-gnu-4.3.4 ...

 * Your gcc has a bug with GCC_SPECS.

 * Please re-emerge gcc.

 * http://bugs.gentoo.org/68395

/usr/bin/gcc-config: line 154: ///usr/i686-pc-linux-gnu/gcc-bin/4.3.4/gcc: Aucun fichier ou dossier de ce type [ ok ]

```

Bravo, j'ai dû me vautrer en déplacant /usr...

Je tente (sans trop d'espoir) de réinstaller gcc, malheureusement il faut gcc pour installer gcc (ce qui se comprend aisément), et il n'existe pas de gcc-bin (ce qui à la limite pourrait exister non ?)

Donc je sais pas trop comment faire, je suppose que le salut sera dans un boot avec un CD Gentoo, mais je ne sais pas si un chroot + "emerge -av1 gcc" suffira...

Une suggestion ?

----------

## xaviermiller

prends un paquet binaire et puis recompile-le

----------

## kwenspc

Tout simple: dl un stage3 récent de ton archi et décompresses justes ce dont tu as besoin et zou  :Smile: 

----------

## boozo

Est-ce que tu avais activé l'option "buildpkg" ou mieux "buildsyspkg" pour portage ? si oui alors comme dit Xavier tu peux sans doute reprendre le pkg binaire de gcc qui se trouve dans /usr/portage/packages/sys-devel et le remonter avec un #emerge -k ou -K

Autrement tu peux prendre un binaire précompilé pour ton arch dans la tinderbox ici en procédant de même.

----------

## kwenspc

amha c'est plus simple et choppant ce qu'il faut avec un stage3, venant de funtoo par exemple. Après c'est que de la recompile.

----------

## gbetous

Merci !

Oui, il m'a suffit de prendre un stage3 (tout simplement l'officiel Gentoo), de choper le répertoire /usr/i686-machinchose.

j'ai fait un gcc-config (des fois qu'il crée des liens ou je ne sais quoi) et maintenant je peux émerger !

Du coup je vais me faire un petit "emerge -e system" pour l'hygiène   :Very Happy: 

----------

## boozo

Beuh c'est très simple de travailler avec les binaires - y'a rien à faire qu'un emerge -k s'il avait la feature activée ou une commade en plus a tapper s'il prend le tarball depuis la tinderbox - c'est pas plus long que prendre un stage3 il me semble non ?

Au moins il a le choix des méthodes  :Wink: 

----------

## gbetous

C'est quoi cette "feature" ? Créer systématiquement un binaire, c'est bien ça ?

Ca sert à autre chose qu'à se décoincer quand on est un gros boulet ? Ca bouffe pas des gigas inutiles ?

----------

## kwenspc

Ouais boozo mais est ce sûr que emerge check pas qu'il y ait gcc pour tourner? le cas échéant il laisserait tomber? à voir.

----------

## gglaboussole

 *gbetous wrote:*   

> C'est quoi cette "feature" ? Créer systématiquement un binaire, c'est bien ça ?
> 
> Ca sert à autre chose qu'à se décoincer quand on est un gros boulet ? Ca bouffe pas des gigas inutiles ?

 

Salut, ouais ça sert à autre chose...

par exemple à faire de la cross compil... J'ai un chroot 32 bits ds ma gentoo 64 bits qui compile des binaires avec les bons CFLAGS  pour mon portable, ainsi je n'ai plus qu'à monter /usr/portage en nfs sur le portable et à faire un emerge -uDNKav world pour mettre à jour sans avoir à fatiguer son ptit cpu et son pti disque...

Sans parler de cross compile tu peux imaginer une mise à jour de tout un parc de pc identiques sans avoir à lancer la compilation sur chaque...

----------

## boozo

Non du moins la dernière fois où j'en ai eu besoin (~6/8mois de mémoire) je n'ai eu aucun problème ; emerge fait juste un déploiement du tarball.

De toute façon c'est juste le pendant automatisé de l'option -B ou du #quickpkg qu'on fait de temps à autres pour se garantir une possibilité de rollback rapide lors de l'upgrade d'un paquet sensible par exemple.

Donc en effet, la feature "buildpkg" n'est pas fondamentale sauf serveur de build i.e. ; du reste je lui préfère personnellement "buildsyspkg" qui restreint seulement à @system - au moins c'est plus léger et efficace pour un usage de secours   :Wink: 

Et pis #eclean-pkg régulier permet de nettoyer tout çà pour maintenir ces packages à jour et pour conserver une taille raisonnable au rep (m'enfin au prix du Mo maintenant vous allez pas me chipoter la place d'une ~50aine de paquets binaires avec vos raid en To là ?   :Laughing:  )

----------

## gbetous

Allez, vendu, je m'offre un buildsyspkg

Et pour fêter ça, je vais lancer mon 2e "emerge -e system" du jour   :Cool: 

----------

## gglaboussole

 *gbetous wrote:*   

> Allez, vendu, je m'offre un buildsyspkg
> 
> Et pour fêter ça, je vais lancer mon 2e "emerge -e system" du jour  

 

Merde...pense aux pov' ours blancs...(je déconne   :Wink:  )

----------

## boozo

Au fait accessoirement c'est (Résolu) non ?   :Razz: 

P'être aussi modifier un chouilla le titre pour que ça serve à d'autres parce que là niveau keywords...

----------

## Slashounet

ôÔ

C'est cool ça ! Ça m'aurait bien servi il y a peu, je crois que je vais l'adopter  :Smile: 

/

----------

## jcTux

Très instructif ce fil.

Je pense que ça me sauvera la vie l'un de ces quatre.

----------

## xaviermiller

 *gbetous wrote:*   

> Allez, vendu, je m'offre un buildsyspkg
> 
> Et pour fêter ça, je vais lancer mon 2e "emerge -e system" du jour  

 

qpkg ou quickpkg permet de construire les .tbz2 sans devoir recompiler... plus rapide  :Wink: 

----------

