make soll nicht gcc 4.3.1 verwenden, sondern gcc 4.1.2

Dieses Thema im Forum "Linux OS" wurde erstellt von Blender3D, 02.09.2008.

  1. #1 Blender3D, 02.09.2008
    Blender3D

    Blender3D Vitamin C++

    Dabei seit:
    17.09.2007
    Beiträge:
    228
    Zustimmungen:
    0
    Ort:
    /root
    Servus, liebe Forenmitglieder.

    Ich möchte mir wxWidges kompilieren, welches allerdings nicht mit meiner GCC-Version harmoniert. Dem WxWidges-Wiki habe ich entnommen, dass ich eine ältere Version von GCC verwenden soll. Diese ist glücklicherweise schon installiert. Nun muss ich make dazu bringen, dass es nicht g++/gcc sondern g++-gcc-4.1.2 als compilierbefehl verwendet. Laut dem WxWidges-wiki müsste das funktionieren.

    Wie kann ich sowas einstellen (./configure --help meinte, dass ich Variablen, wie CC verändern soll. Wie soll ich das machen?)

    Grüße, Blender3D

    Mein System:
    Slamd64 12.0
    wxWidges 2.8
    GCC 4.3.x + Gcc 4.1.2
    make 3.81
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Tropezien, 02.09.2008
    Tropezien

    Tropezien Ja, aber hallo ...

    Dabei seit:
    09.12.2004
    Beiträge:
    18
    Zustimmungen:
    0
    Du hast eigentlich zwei Methoden, die harte und die elegante. Die harte ist, die Environmentpfade (PATH und evtl. LD_LIBRARY_PATH) auf Deine gcc-Installation setzen. Dann wird automatisch dieser Compiler aufgerufen:
    Code:
    $ export PATH=/usr/local/gcc-4.1.2./bin:$PATH
    $ export LD_LIBRARY_PATH=/usr/local/gcc-4.1.2/lib:$LD_LIBRARY_PATH
    $ configure ...
    
    Oder die elegante Variante, die mit Kommandozeilenparameter arbeitet:
    Code:
    $ ./configure CC=/usr/local/gcc-4.1.2/bin/gcc CXX=/usr/local/gcc-4.1.2/g++ ...
    
    Möglicherweise müssen CC und CXX auch vor dem configure angegeben werden. Das kommt auf die autoconf-Dateien (configure.in, etc.) an.

    Ich verwende am liebsten die Variante mit dem separaten path; allerdings zumeist für spezielle Build-Umgebungen bei denen dann auch mit einem '/usr/bin/env -i' das gesamte Environment speziell präpariert wird.
    Ansonsten geht das mit dem CC/CXX-configure-Aufruf am schnellsten umzusetzen.
     
  4. #3 Blender3D, 02.09.2008
    Blender3D

    Blender3D Vitamin C++

    Dabei seit:
    17.09.2007
    Beiträge:
    228
    Zustimmungen:
    0
    Ort:
    /root
    Juchuuuu!!
    Viieelen besten Dank!!
    Jetzt weiss ich, wie ich einiges, was nicht compilieren will compilieren kann.

    Es funktioniert.

    Allerdings erst nach einem make clean und der Änderung der Pfade für GCC-4.1.2 (von /usr/local/gcc-4.1.2/bin/gcc auf /usr/bin/gcc-4.1.2 + das ganze noch für g++.)

    Grüße, Blender3D
     
  5. #4 Tropezien, 03.09.2008
    Tropezien

    Tropezien Ja, aber hallo ...

    Dabei seit:
    09.12.2004
    Beiträge:
    18
    Zustimmungen:
    0
    Ja, das hatte ich vergessen zu erwähnen. Dass dies natürlich die Pfade sein müssen, in der die jeweilige gcc-Version installiert wurde. Aber dann ist ja gut, dass es funktioniert.
    BTW, das Ganze funktioniert auch mit einer kompletten Compiler-toolchain, also bintools, gcc und glibc. Allerdings nur das kompilieren, laufen lassen geht nicht, da immer die aktuell, also beim Starten des Systems verwendete glibc im Zugriff bleibt. Aber diese Variante kommt zumeist nur beim Bauen von cross-Systemen auf.
     
  6. Gast1

    Gast1 Guest

    Sinnvoller wäre es natürlich, die entsprechenden Programme mit 4.3 zu kompilieren und ggf. passende Patches/neuere und 4.3-kompatible Versionen zu verwenden.

    Dieses Phänomen mit "4.3 lässt fehlende Includes nicht mehr durchgehen" (was hier zu > 95% auch der Fall sein wird) ist schliesslich schon zigtausend mal in letzter Zeit vorgekommen und auch gelöst worden.
     
  7. #6 Blender3D, 04.09.2008
    Blender3D

    Blender3D Vitamin C++

    Dabei seit:
    17.09.2007
    Beiträge:
    228
    Zustimmungen:
    0
    Ort:
    /root
    das mag sein, aber in den meisten Fällen der Compilierprobleme hatte ich probleme mit dem Liner, der mir undefined references ausgegeben hat. Meisstens leigt es daran, dass an std::cin bzw.std::cout ungültige oder selbst geschriebene Datentypen übergeben werden. So kann ich z.B. mit std::cout keine CUdevprop (von Nvidia CUDA) übergeben. lösche ich dieAusgabe von CUdevprop geht alles, wie es soll.

    Jedenfalls kann ich mir vorstellen, dass ich eine falsche Version der GLibC mit dem neuesten GCC verwende

    Grüße, Blender3D
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

make soll nicht gcc 4.3.1 verwenden, sondern gcc 4.1.2

Die Seite wird geladen...

make soll nicht gcc 4.3.1 verwenden, sondern gcc 4.1.2 - Ähnliche Themen

  1. User sollen Dateien speichern und ändern, aber nicht neu anlegen dürfen

    User sollen Dateien speichern und ändern, aber nicht neu anlegen dürfen: Hallo liebe Helfer, welche Einstellungen muss ich in der smb.conf bzw. unter Linux vornehmen, damit User vorhandene Dateien öffnen und speichern...
  2. CRON als Root soll ODBC Abfragen machen, kennt jedoch die Zugangsdaten im Cron nicht

    CRON als Root soll ODBC Abfragen machen, kennt jedoch die Zugangsdaten im Cron nicht: Hallo Gemeinde, das ist ja mal ein Titel :-) Nun gut. Schlicht und einfach, ich muss per Cron SQL Abfragen per ODBC fahren, dazu nutze ich hier...
  3. Computerspiele? soll man sie spielen oder lieber nicht? Zeitverschwendung?

    Computerspiele? soll man sie spielen oder lieber nicht? Zeitverschwendung?: gelöscht gelöscht
  4. rc.local macht nicht, was es soll

    rc.local macht nicht, was es soll: Hallo, ich habe eine funktionierende Installation unter Ubuntu 6 & OOO 2.0 In etc/rc.local habe ich eine Datei /Verzeichnis/ooo.sh &...
  5. Maildrop soll Spammails verschieben. Klappt aber nicht

    Maildrop soll Spammails verschieben. Klappt aber nicht: Hallo... mein erster Post hier und schon ne Frage. Ich habe eine Ubuntu Distro Server-Edition. Ich hab meinen Mailserver nach einem Tutorial...