Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 17

Thema: andere gcc-Version verwenden

  1. #1
    @gentoo
    Registriert seit
    Apr 2004
    Ort
    Basel
    Beiträge
    356

    andere gcc-Version verwenden

    Ich habe auf meinen Debian Sarge die gcc 2.95 sowie auch gcc 3.3.4. Wenn ich jetzt etwas mit "make" kompilieren möchte, wie kann ich dem System bekannt geben, dass ich statt der gcc 3.3.4 die alte 2.95 nutzen möchte?
    gentoo linux

  2. #2
    Registrierter Benutzer
    Registriert seit
    Aug 2004
    Ort
    Bad Wünnenberg
    Beiträge
    5.402
    Dazu gibt es mehrere Möglichkeiten:
    - Makefile anpassen
    - Umgebungsvariable setzen: export CC=gcc-2.95
    - Symlink zu gcc in /usr/bin ändern
    Gruß,
    Tomek

  3. #3
    @Debian Avatar von tictactux
    Registriert seit
    Oct 2004
    Beiträge
    2.872
    Hi,
    ich hab das bei mir auf Debian durch ein kleines Skript gelöst, das
    zwischen 3 installierten gcc-Versionen umschaltet (2.95, 3.3 und 3.4).
    Es reicht die Anpassung von 3 Symlinks auf eine spezielle Version:
    /usr/bin/(gcc|g++|cpp)

    Gruss,
    Wolfgang

  4. #4
    Registrierter Benutzer Avatar von natanael
    Registriert seit
    Mar 2003
    Ort
    Rackwitz OTPodelwitz
    Beiträge
    167
    Hallo Leute,
    Zitat Zitat von Tomek
    Dazu gibt es mehrere Möglichkeiten:
    - Makefile anpassen
    - Umgebungsvariable setzen: export CC=gcc-2.95
    - Symlink zu gcc in /usr/bin ändern
    wie passe ich den Makefile an?
    reciht da einfach eine Zeile "CC=gcc-2.95" einzutragen?

  5. #5
    Moderator Avatar von DaGrrr
    Registriert seit
    Jul 2002
    Ort
    Berlin
    Beiträge
    1.892
    Zitat Zitat von natanael
    Hallo Leute,


    wie passe ich den Makefile an?
    reciht da einfach eine Zeile "CC=gcc-2.95" einzutragen?
    Nein. Fummel nicht im Makefile rum, wenn du nicht weißt was zu tun ist.

    Nimm eine andere Möglichkeit, die von Tomek erwähnt wurde.

    evtl. postet tictactux ja sein script.
    PC: Kubuntu 11.04
    Router: Soekris net4801 mit OpenBSD 4.8
    Server: OpenBSD 4.7
    Private Linux Page

  6. #6
    Registrierter Benutzer
    Registriert seit
    Jan 2005
    Beiträge
    2.055
    Was heißt denn "Wenn ich jetzt etwas mit make kompilieren möchte"? Handelt es sich um ein autoconf-basiertes Projekt oder geht es um handgeschriebene Makefiles?

    Bei autoconf-basierten Projekten setzt man einfach vor dem Aufruf von "./configure" die Umgebungsvariablen "CC" und ggf. "CXX":
    Code:
    env CC=gcc-<version> CXX=g++-<version> ./configure
    Bei handgeschriebenen Makefiles geht das meistens auch, manchmal sind die Makefiles aber defekt und nutzen ausgeschriebene Pfade statt Makros. In dem Fall müsste man die Makefiles von Hand reparieren, was in jedem Einzelfall etwas anders geht.

    Anders als DaGrrr bin ich der Meinung, dass man, wann immer möglich, zum Kompilieren anderer Pakete nichts tun sollte, das root-Rechte erfordert. Man kann auch ein Verzeichnis "$HOME/bin" anlegen, die gewünschte GCC-Version temporär dorthin verlinken und dieses Verzeichnis dann ganz vorne an den PATH anhängen, damit dieses Verzeichnis vor "/usr/bin" gefunden wird.
    openSUSE factory - GNOME 2.32.1

  7. #7
    Registrierter Benutzer Avatar von natanael
    Registriert seit
    Mar 2003
    Ort
    Rackwitz OTPodelwitz
    Beiträge
    167
    Zitat Zitat von traffic
    Bei autoconf-basierten Projekten setzt man einfach vor dem Aufruf von "./configure" die Umgebungsvariablen "CC" und ggf. "CXX":
    Code:
    env CC=gcc-<version> CXX=g++-<version> ./configure
    Bei handgeschriebenen Makefiles geht das meistens auch, manchmal sind die Makefiles aber defekt und nutzen ausgeschriebene Pfade statt Makros. In dem Fall müsste man die Makefiles von Hand reparieren, was in jedem Einzelfall etwas anders geht.
    und wie mache ich das jetzt beim kernelkompilieren?

  8. #8
    Registrierter Benutzer
    Registriert seit
    Jan 2005
    Beiträge
    2.055
    Steht doch alles da!
    openSUSE factory - GNOME 2.32.1

  9. #9
    Registrierter Benutzer Avatar von natanael
    Registriert seit
    Mar 2003
    Ort
    Rackwitz OTPodelwitz
    Beiträge
    167
    wenn ich in den Makefile vom Kernel
    Code:
    CC=gcc-<version>
    CXX=g++-<version>
    einfüge verwendet er trotzdem meinen "standard-gcc".
    Geändert von natanael (01.01.06 um 20:28 Uhr)

  10. #10
    - - - - - - - - - - Avatar von zander
    Registriert seit
    Mar 2001
    Beiträge
    6.144
    Bei der Kernelübersetzung werden CC und HOSTCC respektiert, also z.B. `make CC=gcc-2.95 HOSTCC=gcc-2.95 oldconfig bzImage modules`.

  11. #11
    Registrierter Benutzer
    Registriert seit
    Jan 2005
    Beiträge
    2.055
    Zitat Zitat von natanael
    wenn ich in den Makefile vom Kernel

    [...]

    einfüge verwendet er trotzdem meinen "standard-gcc".
    Dann setz den Absatz meines Postings um, den Du zufällig nicht zitiert hast. Klappt bestimmt. Dadurch wird nämlich ein anderer gcc zum "Standard-gcc" (d.h. zum ersten Binary namens "gcc" im PATH), ohne dass man als root in Systemverzeichnissen rumpfuschen muss.
    openSUSE factory - GNOME 2.32.1

  12. #12
    stuck under the Table Avatar von pcdog
    Registriert seit
    Apr 2003
    Ort
    Novi Sad
    Beiträge
    1.829
    ich mache es anders
    CC=gcc-3.4 ./ati-driver-blablubb.run

    mit dieser syntax haut es immer hin, default ist 4.0 hier

    grüsse
    Silvan
    wenn ich meinen server ausschalte, wird die Strassenlaterne draussen heller...

  13. #13
    Registrierter Benutzer
    Registriert seit
    Jan 2005
    Beiträge
    2.055
    Zitat Zitat von pcdog
    CC=gcc-3.4 ./ati-driver-blablubb.run
    Das ist übrigens genau dasselbe, als hätte man die Umgebungsvariable "CC" vor dem Ausführen von "ati-driver-blablubb.run" auf den Wert "gcc-3.4" gesetzt.
    openSUSE factory - GNOME 2.32.1

  14. #14
    Registrierter Benutzer Avatar von natanael
    Registriert seit
    Mar 2003
    Ort
    Rackwitz OTPodelwitz
    Beiträge
    167
    hab ich gemacht ich habe "export CC=gcc-3.4" eingegeben aber er verwendet den 4.0.
    mir hat es dann gereicht und ich hab einfach den symlink im /usr/bin geändert und dann war alles mit dem gcc wie ich 's wollte.

  15. #15
    Registr. Linux Benutzer
    Registriert seit
    Dec 2004
    Ort
    Fellbach
    Beiträge
    322
    hehe so mach ichs auch immer. in den makefiles fummel ich ungern rum, was die compiler version angeht... spreche da auserfahrung... nachher mach ich noch was mit den sourcen und s klappt nix mehr wg der dummen änderungen, wenn man zb doch seinen gcc upgedatet hat oder so...
    btw... wozu braucht mer denn den gcc-4, wenn ihn keiner verwendet?
    ich mag ihn zb net.
    Desktop1: Intel C2D 1.86GHz,8 GB RAM,2.5TB HDD,Nv GF 8600 GT,Gentoo
    Desktop2: Intel P4 2.6 GHz,2 GB DDR RAM,160GB HDD,Nv GF 7600GS,Win 7,ArchLinux
    Mobil: IBM/Lenovo Thinkpad x60s,CoreDuo L2400,2GB ddr2,160GB hdd,ArchLinux

Ähnliche Themen

  1. php5 compileren prob mit xml2
    Von spoensche im Forum Kompilieren von Kernel und Sourcen
    Antworten: 4
    Letzter Beitrag: 30.10.04, 20:56
  2. OpenGL Problem?
    Von Linuxnewb im Forum X-Konfiguration
    Antworten: 12
    Letzter Beitrag: 27.07.04, 15:27
  3. lopster läst sich nich kompilieren
    Von dsiggi im Forum Kompilieren von Kernel und Sourcen
    Antworten: 17
    Letzter Beitrag: 16.06.04, 12:16
  4. Wie TV-Karte richtig einrichten ?
    Von Mighty im Forum stationäre Hardware
    Antworten: 3
    Letzter Beitrag: 21.09.03, 11:51
  5. Installation von Mysql-3.23.52 klappt nicht
    Von Da.Bull im Forum Kompilieren von Kernel und Sourcen
    Antworten: 5
    Letzter Beitrag: 18.07.03, 12:02

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •