# gcc Versions Frage...

## Tinitus

Hallo,

ein 

```
gcc-config -l

 [1] x86_64-pc-linux-gnu-4.1.2 *

 [2] x86_64-pc-linux-gnu-4.3.2

```

bringt mich zum Grübeln.

Was läuft da falsch? Wieso habe ich 2 gcc Versionen? Müßte ich da nicht mal umstellen?

Wie läuft das?

G. R.

----------

## merlin2k

 *Tinitus wrote:*   

> ...Wieso habe ich 2 gcc Versionen? Müßte ich da nicht mal umstellen?...

 

Von gcc kann man verschiedene Versionen gleichzeitig installieren (Slot install).

An dem [NS ] vor dem Paketnamen kannst du erkennen das die alte Version nicht entfernt wird.

Mit dem Befehl

```
gcc-config 2
```

wählst du den gcc-4.3.1 aus.

Danach kannst du den alten gcc z.B. automatisch mit einem

```
emerge -av --depclean
```

entfernen

----------

## Josef.95

Hier ist alles bestens beschrieben, siehe

http://www.gentoo.org/doc/de/gcc-upgrading.xml

----------

## hitachi

eav world und vermutlich auch eav system solltest Du Dir sparen können.

----------

## buthus

Hallo,

 *hitachi wrote:*   

> eav world und vermutlich auch eav system solltest Du Dir sparen können.

 

warum das? Ich dachte auch bei Minor-Updates sollte man das machen?

----------

## merlin2k

 *buthus wrote:*   

> Hallo,
> 
>  *hitachi wrote:*   eav world und vermutlich auch eav system solltest Du Dir sparen können. 
> 
> warum das? Ich dachte auch bei Minor-Updates sollte man das machen?

 

Weil sich die ABIs der gcc-Versionen 4.1.2 und 4.3.2 nicht unterscheiden.

----------

## strangerthandreams

Tja das ist scheinbar immer so eine Sache mit der Binärkompatibilität. Wäre die neue Version lediglich im Bereich von X (Bsp. 4.1.X), wird automatisch auf den neuen Compiler gewechselt. Ist es aber im Bereich 4.X.X, dann ist die Kompatibilität nicht mehr gegeben. Ich habe das in der Vergangenheit auch nicht wirklich groß beachtet. Z.B. war das Problem hier https://forums.gentoo.org/viewtopic-p-5633315.html#5633315 drauf zurück zu führen.

ACHTUNG Auf keinen Fall den alten gcc entfernen, bevor nicht das gesamte System neu gebaut wurde mit dem neuen Compiler, sonst sitzt Du sehr schnell vor einem unbrauchbaren System. Einfach an den Ugradeguide halten und alles geht gut.

----------

## sirro

 *strangerthandreams wrote:*   

> Ist es aber im Bereich 4.X.X, dann ist die Kompatibilität nicht mehr gegeben.

 

Was ist denn da nicht kompatibel wenn nicht die ABI?

 *strangerthandreams wrote:*   

> Z.B. war das Problem hier https://forums.gentoo.org/viewtopic-p-5633315.html#5633315 drauf zurück zu führen.

 

Was macht dich so sicher, dass ein geloeschter gcc dafuer verantwortlich war? Wenn es nach der Brechstange (emerge -e) wieder funktioniert kann man ja nicht sicher sagen woran es genau lag - ist ja alles neu gebaut.

Normalerweise ist das bei mir und vielen anderen kein Problem solange die versionen ABI-kompatibel sind... Ich mache immer noch ein quickpkg von der alten Version (fuer alle Faelle) und schmeisse sie runter wenn sie nicht mehr gebraucht wird.

----------

## strangerthandreams

Mit ABI ist natürlich die Binärkompatibilität gemeint - im Gegensatz dazu die API auf Quelltextebene. Hat sich denn die ABI von gcc-4.1.2 zu gcc-4.3.2 geändert?

 *sirro wrote:*   

> Was macht dich so sicher, dass ein geloeschter gcc dafuer verantwortlich war? Wenn es nach der Brechstange (emerge -e) wieder funktioniert kann man ja nicht sicher sagen woran es genau lag - ist ja alles neu gebaut.

 

Du hast natürlich recht. Sehr sicher kann ich mir da auch nicht sein, aber ich nehme es stark an, da teilweise Speicherzugriffsfehler auftraten, die nach der Brechstangenmethode (emerge -e) verschwunden waren.

----------

