Hallo, ich habe kommerziele shared objects welche mit gcc 2.95.3 kompiliert wurden. Bei SuSE ist leider nur noch der neue gcc 3.2 dabei. Da die Versionen nicht binär-kompatibel sind, bräuchte ich den alten Compiler oder gibt es fuer den 3.2 eine Emulationsoption? Wie kann ich mir den alten 2.95.3 installieren? Kann ich ihn von einer alten SuSE Dist. installieren? Oder sollte ich ein rpm-Paket aus dem Netz laden? Oder doch die Quellwn und uebersetzen (am wenigsten interssant, dauert naemlich sehr lange)? Danke fuer die Hilfe, Alex
Am 08.11.2002 um 18:30 schrieb Alexander Muthler:
ich habe kommerziele shared objects welche mit gcc 2.95.3 kompiliert wurden. Bei SuSE ist leider nur noch der neue gcc 3.2 dabei. Da die Versionen nicht binär-kompatibel sind, bräuchte ich den alten Compiler oder gibt es fuer den 3.2 eine Emulationsoption?
Nicht dass ich wüsste.
Kann ich ihn von einer alten SuSE Dist. installieren?
Schätzungsweise würde dann der 3.2 ersetzt werden. Das wird wohl nicht das sein, was du willst.
Oder sollte ich ein rpm-Paket aus dem Netz laden? Oder doch die Quellwn und uebersetzen (am wenigsten interssant, dauert naemlich sehr lange)?
So lange nun auch wieder nicht. Ich bin den umgekehrten Weg gegangen und habe auf einem Woody-System (verwendet 2.95.4) den 3.2 aus den Quellen übersetzt und in /opt/gcc32 installiert. IIRC, hat mein P3-866 etwa zwei Stunden zum Übersetzen des 3.2 gebraucht. Ich finde diese Lösung recht elegant, denn so kann man beide Compiler ohne irgendwelche Abhängigkeitsprobleme parallel benutzen. MfG, Dennis -- Dennis Stosberg eMail: dennis@stosberg.net gpg key: http://stosberg.net/dennis.asc icq: 63537718
"Alexander Muthler"
Da die Versionen nicht binär-kompatibel sind, bräuchte ich den alten Compiler oder gibt es fuer den 3.2 eine Emulationsoption?
Das stimmt so nicht ganz! Binär inkompatibel sind nur Objekte, deren Quellcode in C++ geschrieben wurden, sprich die mit verschiedenen Versionen von g++ compiliert wurden. In C geschriebene Module lassen sich ohne Schwierigkeiten mischen. Philipp -- Philipp Thomas Arbeit: pthomas@suse.de Entwicklung, SuSE Linux AG Privat: pth@t-link.de
Am Fre, 2002-11-08 um 18.30 schrieb Alexander Muthler:
Hallo,
ich habe kommerziele shared objects welche mit gcc 2.95.3 kompiliert wurden. Bei SuSE ist leider nur noch der neue gcc 3.2 dabei. Da die Versionen nicht binär-kompatibel sind, Diese Aussage ist falsch. C-Compilate sollten binär-kompatibel sein, C++-Compilate sind definitiv nicht binär-kompatibel.
bräuchte ich den alten Compiler oder gibt es fuer den 3.2 eine Emulationsoption?
Wie kann ich mir den alten 2.95.3 installieren? Sourcen holen, übersetzen, installieren.
Am einfachsten einen Nicht-Standard prefix verwenden (Z.B. --prefix=/opt/gcc-2.95) . Der Default (--prefix=/usr/local) wäre fatal, und --prefix=/usr verlangt einige Tricks, sonst vernichtest Du Dir dabei den System-Compiler.
Kann ich ihn von einer alten SuSE Dist. installieren? Nein! Du würdest Dir den System-gcc vernichten. Ein altes SuSE-rpm auspacken und unter neuem prefix umpacken funktioniert auch nicht, da der gcc nicht relokatibel ist (Er muss unter dem Prefix installiert werden mit dem er konfiguriert wurde .. es gäbe allerdings ein Paar Tricks, mit denen es doch geht.).
Oder sollte ich ein rpm-Paket aus dem Netz laden? Für SuSE ist mir keines bekannt, würde mich aber wundern, wenn es das nicht schon gäbe. Bei RH-8.0 kommt standardmässig zusätzlich ein gcc-2.96 mit. Das hilft Dir unter SuSE aber nichts.
Oder doch die Quellwn und uebersetzen (am wenigsten interssant, dauert naemlich sehr lange)? Eine Runde Bedauern :-) Es gibt gcc-Varianten, die zu übersetzen weitaus länger dauert als der SuSE-gcc
Danke fuer die Hilfe, Ralf
participants (4)
-
Alexander Muthler
-
Dennis Stosberg
-
Philipp Thomas
-
Ralf Corsepius