# Due versione di gcc nel pc, come toglierne uno?

## Super_Treje

Allora premetto che mi sono visto la guida in italiano per come fare il passaggio dalle varie versione di gcc, io pero' ho un problema "strano", ne ho 2.

Ho la versione 3.3.6 e la 4.1.2.

E' normale ????

Sono necessari 2 compilatori nel proprio pc anche se io uso solamente kernels 2.6.* (ho letto dalla guida che il gcc serie 3 serviva per i kernels 2.4.*).

Non ho trovato nessuna guida per togliere uno dei due gcc, tra l'altro non so' con quale compilatore sono stati compilati tutti i miei sorgenti, spero quello asteriscato (4.1.2), perche' ricompilare tutto sarebbe una bella "vacanza" di 2-3 giorni (kdelibs e' na follia compilarlo altro che openoffice!!!).

Purtroppo non ho trovato guide che trattino il mio caso, ne' discussioni in italiano (l'inglese non lo conosco ahime!).

Bye grazie  :Smile: 

----------

## Peach

hai installato da tanto? puoi controllare cmq la versione attualmente utilizzata con gcc-config -l

----------

## Super_Treje

Agosto di quest'anno, quel comando mi dice che [1] e' gcc 3.3.6 e [2] e' gcc 4.1.2 ed ha l'asterisco.

Kernel in uso 2.6.22-ck.

----------

## Kernel78

```
emerge -C =<categoria>/<pacchetto>-<versione>
```

rimuove una specifica versione di un pacchetto slotted

----------

## Super_Treje

 *Kernel78 wrote:*   

> 
> 
> ```
> emerge -C =<categoria>/<pacchetto>-<versione>
> ```
> ...

 

Basta solo questo e non dovro' ricompilarmi vita morte e miracoli della mia distro ????   :Shocked:   :Shocked:   :Shocked:   :Shocked: 

----------

## Dottout

per me l'unico rischio che corri è l'eventuale incompatibilità di pacchetti e rispettive dipendenze compilate con compilatore\toolchains diverse. io prima di rimuovere il compilatore vecchio ricompilerei tutto col nuovo e nel caso in cui tutto funzioni toglierei il vecchio come suggerito sopra..anche se forse il mio è un eccesso di scrupolo usando io un sistema fin troppo *unstable*. cmq, già che ci sei, perchè non gcc-4.2.2?

----------

## Peach

 *Super_Treje wrote:*   

> Agosto di quest'anno, quel comando mi dice che [1] e' gcc 3.3.6 e [2] e' gcc 4.1.2 ed ha l'asterisco.
> 
> Kernel in uso 2.6.22-ck.

 

allora direi che la soluzione migliore sia prima di tutto controllare quando hai installato la prima versione e quando la seconda.

è possibile che quando hai installato l'intero stage3 fosse stato compilato usando gcc-3, quando poi hai inziiato ad aggiornare il sistema sei passato a gcc-4.

ora per scrupolo riporta l'output di questo codice (il programma si trova nel pacchetto portage-utils)

```
#  qlop -gv gcc
```

nel caso tu abbia passato un periodo usando gcc-3 è necessario seguire correttamente la guida all'update da gcc3 a gcc4 prima di dare 

```
emerge -C =gcc-3*
```

.

se hai dubbi domanda pure.

----------

## Super_Treje

```
winroot treje # qlop -gv gcc

gcc-4.1.2: Wed Oct 24 22:25:03 2007: 6910 seconds

gcc-3.3.6-r1: Thu Oct 25 10:12:19 2007: 1206 seconds

gcc-4.1.2: Fri Oct 26 09:35:20 2007: 2715 seconds

gcc-3.3.6-r1: Fri Oct 26 16:22:26 2007: 921 seconds

gcc-3.3.6-r1: Sun Nov  4 10:11:13 2007: 1141 seconds

gcc-4.1.2: Sun Nov  4 10:30:14 2007: 3186 seconds

gcc: 6 times

winroot treje #

```

Mi pare di capire che l'ho usato..

Seguo la guida e vi faccio sapere.

Molte grazie  :Wink: 

----------

## djinnZ

il grosso delle incompatibilità le risolvi installando sys-libs/libstdc++-v3 e la sua mancanza insieme alla use flag glibc20-compat (o qualcosa del genere) ti ha fatto ritrovare il gcc 3.x installato. Ovviamente disabilitare la retrocompatibilità sarebbe fonte di gravi ed enormi problemi quindi non lo fare.

----------

## Super_Treje

Quindi in sostanza per avere 1 solo compilatore cosa devo fare esattamente procedura per procedura ????

----------

## djinnZ

aggiungere glibc-compat20 alle use globali o verificare che ci sia

emerge -C =sys-devel/gcc-3.3.6

etc-update/dispach-conf o quel che ti pare ma aggiorna etc e riseleziona il compilatore nel dubbio e dai un env-update

emerge -1 sys-libs/libstdc++-v3

emerge --with-bdeps y -DNu world ; revdep-rebuild (non è necessario ma... meglio farlo)

se vedi che qualcosa va storto emerge -e system (ma è l'ultima spiaggia)

----------

