# [emerge] upgrade de GCC 4.1.2 à 4.2.0 [Résolu]

## darkangel92

Bonsoir,

j'aurai une petite question à vous poser. Je sais qu'il existe un manuel qui explique comment upgrader gcc de la version 3.X à la version 4.1.

aujourd'hui, la MAJ de mon system me propose d'installer gcc 4.2.0.

Que dois je faire ?

Dois je simplement faire un emerge -Duna world pour qu'il installe la nouvelle version  ou bien dois je faire un emerge -e world juste apres ?

Merci de votre aideLast edited by darkangel92 on Sun Jul 22, 2007 8:19 am; edited 1 time in total

----------

## bivittatus

Excellente question!!!  :Laughing: 

J'ose quand même espérer qu'il n'y a pas besoin du emerge -e world...genlop me prévoit 1 jour et 54 minutes de compilation sinon (tout le mondre comprendra bien évidemment que ce qui me gêne le plus, ce sont les 54 minutes...!!! :Mr. Green: )...

----------

## CryoGen

Je ne crois pas qu'il y ai de changement d'ABI entre 4.1 et 4.2 

donc juste l'upgrade devrait suffir

----------

## geekounet

 *CryoGen wrote:*   

> Je ne crois pas qu'il y ai de changement d'ABI entre 4.1 et 4.2 
> 
> donc juste l'upgrade devrait suffir

 

Oui, pas de changement d'ABI, la libstdc++ reste la même, donc rien à recompiler.  :Smile: 

----------

## bivittatus

Merci CryoGen... :Wink: 

----------

## darkangel92

ppffiioou merci vous me soulager d'un poids   :Cool:  .

----------

## darkangel92

juste une petite info (enfin certain le savait p'etre mais bon y a aussi des newbs comme moi   :Laughing:  )

bien evidement, apres l'update, j'ai fait un emerge --depclean --ask  (qui me desinstall gcc 4.1.2).. je reboot et par curiosité je tape ceci et j'obtiens

 *Quote:*   

> 
> 
> GenTooHell darkangel # gcc-config -l
> 
>  * gcc-config: Active gcc profile is invalid!
> ...

 

Chose curieuse, quand je cliquais sur Firefox c'etait comme si je cliquais sur rien (p'etre lié ou pas à notre pb ??? )

Donc je me doute qu'il faille spécifier à GCC de prendre le choix n°1 via les commandes suivantes

 *Quote:*   

> 
> 
> GenTooHell darkangel # gcc-config i686-pc-linux-gnu-4.2.0
> 
>  * Switching native-compiler to i686-pc-linux-gnu-4.2.0 ...
> ...

 

Ai je oublié autre chose?

----------

## bivittatus

 *bivittatus wrote:*   

> Merci CryoGen...

 

Merci à toi aussi geekounet...je n'avais pas vu ta réponse!!!  :Wink: 

----------

## xaviermiller

et sans GWN, peu d'information centralisée   :Confused: 

----------

## bivittatus

 *darkangel92 wrote:*   

> juste une petite info (enfin certain le savait p'etre mais bon y a aussi des newbs comme moi   )
> 
> bien evidement, apres l'update, j'ai fait un emerge --depclean --ask  (qui me desinstall gcc 4.1.2).. je reboot et par curiosité je tape ceci et j'obtiens
> 
>  *Quote:*   
> ...

 

Normalement non, en tout cas, chez moi, tout fonctionne nickel pour le moment!  :Wink: 

----------

## Untux

 *bivittatus wrote:*   

> Normalement non, en tout cas, chez moi, tout fonctionne nickel pour le moment!

 

Ouais d'acc, mais si tu fais gcc-config -l comme il a tout bien dit DarkAngel ? hein ? :]

 *sys-devel:gcc-4.2.0:20070720-201607.log wrote:*   

> 
> 
> INFO (postinst)
> 
> The current gcc config appears valid, so it will not be
> ...

 

----------

## bivittatus

Oui oui, j'ai bien fait un gcc-config -l puis un gcc-config 1 pour switcher de version de gcc  :Wink: 

----------

## Untux

 *bivittatus wrote:*   

> Oui oui, j'ai bien fait un gcc-config -l puis un gcc-config 1 pour switcher de version de gcc :wink:

 

ha ha... j'savais pas qu'on pouvait utiliser le # en lieu et place du nom. Comme quoi, faire son petit malin ça peut toujours servir à apprendre de nouvelles choses ;) Ceci dit, pour prolonger cette discussion -- dans laquelle mon immixtion anecdotique et futile ne laissera, je l'espère, aucune trace dans les mémoires -- chez moi les versions listées par gcc-config -l vont de la moins élevée à la plus élevée. Un gcc-config 1 reviendrait donc à (re)passer à la version la plus ancienne. Voilà, je crois que je n'ai plus rien d'insignifiant à dire sur le sujet.

----------

## bivittatus

 *tutux wrote:*   

>  *bivittatus wrote:*   Oui oui, j'ai bien fait un gcc-config -l puis un gcc-config 1 pour switcher de version de gcc  
> 
> ha ha... j'savais pas qu'on pouvait utiliser le # en lieu et place du nom. Comme quoi, faire son petit malin ça peut toujours servir à apprendre de nouvelles choses  Ceci dit, pour prolonger cette discussion -- dans laquelle mon immixtion anecdotique et futile ne laissera, je l'espère, aucune trace dans les mémoires -- chez moi les versions listées par gcc-config -l vont de la moins élevée à la plus élevée. Un gcc-config 1 reviendrait donc à (re)passer à la version la plus ancienne. Voilà, je crois que je n'ai plus rien d'insignifiant à dire sur le sujet.

 

Je t'assure que la discussion en elle-même ne laissera aucune trace...ton pseudo par contre nous remémorera tout ça!!!  :Laughing: 

Trève de plaisanterie, si tu fais un:

```
# emerge -a --depclean
```

il ne te reste qu'une version de gcc...donc le 1 prend tout son sens!!!

Heu...tout ça, sauf erreur de ma part bien entendu...et si je me trompe, je sors de suite!!!  :Arrow: 

----------

## Untux

 *bivittatus wrote:*   

> 
> 
> Trève de plaisanterie, si tu fais un:
> 
> ```
> ...

 

Oui, vu comme ça c'est logique ! Je vais me rassurer en notant que, dans le post à l'origine de mon irruption, l'emploi de emerge -a --depclean était implicite et m'avait échappé. Bon allez... moi aussi je m'échappe   :Arrow: 

----------

## _Seth_

au passage, est ce que vous savez que eselect sert d'interface à toutes ces petites commandes (gcc-config, etc) ? N'hésitez pas à l'utiliser pour vous simplifier la vie, surtout que c'est un vrai bonheur avec bash completion.

----------

## Untux

 *_Seth_ wrote:*   

> eselect sert d'interface à toutes ces petites commandes (gcc-config, etc) ?

 

Perso, je viens de le découvrir grâce à ton post. Merci pour le tuyau ! Par contre, si je fais un eselect list-modules, il n'y a pas de gcc. Est-ce que chez toi il apparait dans cette liste ?

```

# eselect list-modules

Built-in modules:

  help                      Display a help message

  list-modules              Find and display available modules

  usage                     Display a usage message

  version                   Display version information

Extra modules:

  bashcomp                  Manage contributed bash-completion scripts

  binutils                  Manage installed versions of sys-devel/binutils

  ctags                     Manage /usr/bin/ctags implementations

  emacs                     Manage /usr/bin/emacs version

  env                       Manage environment variables set in /etc/env.d/

  esd                       Select esound daemon or wrapper

  java-nsplugin             Manage the Java plugin for Netscape-like Browsers

  java-vm                   Manage the Java system and user VM

  kernel                    Manage the /usr/src/linux symlink

  mailer                    Manage the mailwrapper profiles in /etc/mail

  oodict                    Manage the configuration of dictionaries for OpenOffice.Org.

  opengl                    Manage the OpenGL implementation used by your system

  profile                   Manage the /etc/make.profile symlink

  rc                        Manage /etc/init.d scripts in runlevels

  vi                        Manage /usr/bin/vi implementations

```

 *_Seth_ wrote:*   

> c'est un vrai bonheur avec bash completion.

 

Complétion en ZSH pas encore disponible. Pas glop :]

----------

## geekounet

Non, eselect-compiler n'est pas du tout stable, pour le moment, il faut en rester à gcc-config.

----------

## Untux

Ah ok. Alors on va patienter. Merci geekounet.

----------

