• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Mehrere Versionen eines Compilers nebeneinander installieren

Hallo,

ist es möglich mehrere Versionen von einem Compiler (in meinem Fall gcc) nebeneinander auf einem System zu installieren? Über YAST Software-Update bekommt man ja immer die neuste Version. Ich brauche aber eine ältere Version von gcc (3.4.x).

Beim recherchieren bin ich bereits auf das Programm "modules" gestoßen (http://modules.sourceforge.net/) Damit kann man Umgebungsvariablen als Module laden und somit auch verschiedene compiler benutzen. Allerdings hab ich festgestellt, dass man das nur in Rechenzentren benutzt wo viele Compilerversionen benötigt werden. Vielleicht lohnt sich der Aufwand für mein einfaches Problem gar nicht.

Deswegen würde ich gerne wissen wie ich am elegantesten dieses Problem für mein System (openSUSE 10.3) lösen kann?

Danke im Voraus!
 
Leider ist es nicht so einfach. Das Programm ist sehr groß und ich habe es nicht selbst geschrieben.

Vielleicht hat jemand bereits Erfahrung mit anderen Compilern? Das Problem ist ja nicht speziell auf gcc bezogen.
 
Ich bin es gewohnt mehrere Versionen nebeneinander zu installieren und dann einfach den Link auf die gewuenschte Version zeigen zu lassen ( auch bei Programmen, etc. )
Vll. geht es ja beim gcc auch so ?
 
byron1778 schrieb:
Ich bin es gewohnt mehrere Versionen nebeneinander zu installieren und dann einfach den Link auf die gewuenschte Version zeigen zu lassen ( auch bei Programmen, etc. )
Vll. geht es ja beim gcc auch so ?

Was meinst du mit "einfach den Link auf die gewuenschte Version zeigen lassen"? Die Bibliotheken werden doch immer aus dem gleichen Verzeichnis abgerufen. Wenn ich also eine ältere Version des gcc aufrufe, dann werden die Biblitheoken der neuen Version benutzt. Das sehe ich als Problem.
 
Ok.
Bei ein paar Programmen war ich es bis jetzt gewohnt den Link auf die neuere Version umzulegen.
Ob das jetzt auch beim gcc funktioniert weiss ich natuerlich nicht genau.
Dachte mir es koennte vll. so in der Art klappen!
 
Hallo ingoschopp!

Du kannst beliebig viele gcc toolchains nebeneinander auf deiner Maschine installieren. Das ist ganz einfach: binutils, gcc-core und ggf. ein zusätzliches frontend (z.B. für C++ oder Fortran) als Quellen herunterladen und bei der Konfiguration der Quellen den Installationspfad nach Wunsch einstellen, übersetzen und installieren.

Ungefähr so:
Code:
cd /home/user
wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.18.tar.bz2
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.2.2/gcc-core-4.2.2.tar.bz2
mkdir /dein/pfad /dein/pfad/bin

tar jxvf binutils-2.18.tar.bz2
cd binutils-2.18/
mkdir obj-build
cd obj-build
../configure --prefix=/dein/pfad
make
make install

cd /home/user
tar jxvf gcc-core-4.2.2.tar.bz2
cd gcc-4.2.2/
mkdir obj-build
cd obj-build
../configure --prefix=/dein/pfad --enable-language=c
make
make install

Wenn du dann deine eigene Software übersetzen willst, gibst du in deinem Makefile den absoluten Pfad zur jeweiligen toolchain an.
 
Nein, nicht "ungefähr so". Es gibt die Compiler bereits im Build-Service, da kann man sich entsprechend bedienen. Und binutils braucht man deswegen nicht neu machen.
 
Build Service schön und gut, aber bevor ich mich damit herumschlage kann ich mir ein paar Programmpakete, die mir fehlen schneller selbst übersetzen. Die gcc bietet so viele Optionen, Versionen und Cross-Compiler-Kombinationen, es ist unmöglich auch nur einen größeren Bruchteil davon im Build-Service vorzuhalten. Aber das ist ein prinzipielles Problem aller Binärdistributionen.
 
Oben