Ich kann meine Apps nicht auf gcc erstellen, da ich verschiedene c ++ 0x-Funktionen verwende. Ich bin auf Debian 6 (Lenny) und nach dem Upgrade / Update habe ich gcc Version 4.4.5-8. Ich bin nicht sicher, welche Version erforderlich ist, aber mingw 4.6.2 funktioniert. gcc 4.7.0 ist raus.
Wie installiere ich gcc Version 4.6+ auf Debian?
debian
software-installation
gcc
Kevin
quelle
quelle
Antworten:
Debian 6.0 ist Squeeze (derzeit stabil); Lenny war 5.0 (derzeit oldstable). Ich gehe davon aus, dass du Squeeze gemeint hast.
Verwenden Sie apt-pinning , um Wheezy (derzeit getestet) sicher zu Ihrem hinzuzufügen
sources.list
, und installieren Sie dann gcc-4.7 / wheezy .Mit anderen Worten, Sie
/etc/apt/sources.list
sollten ungefähr so aussehen:während du
/etc/apt/preferences
ungefähr so aussehen solltest:(Die genauen Zahlen spielen keine große Rolle. Weitere Informationen zur Bedeutung verschiedener Bereiche finden Sie in man 5 apt_preferences .)
Dadurch wird verhindert, dass Testpakete unbeabsichtigt installiert werden. (Natürlich können Sie auch Ihr gesamtes System auf Tests aktualisieren.)
Es kann zu Auflösungsfehlern kommen,
apt-get install gcc-4.7/testing
da es Abhängigkeiten gibt, für die Versionen erforderlich sind, die größer als stabil sind.apt-get --target-release testing install gcc-4.7
setzt den Test für die Dauer des Befehls auf Priorität 990.quelle
Backporting zu Squeeze / Stable ist möglich, aber nicht trivial. Hier ist ein Patch für Dateien im
debian
Verzeichnis, der4.7.0-1
beim Testen für die Debian-Quellen gilt (sollte auch gegen die vermutlich etwas andere Version4.7.0-3
in instabil funktionieren ) und es einem ermöglichen sollte, erfolgreich auf Squeeze aufzubauen, obwohl ich den Patch nicht direkt von getestet habe Anwendung auf unberührte Quellen. Natürlich ist die Installation von Binärpaketen aus Tests auf Stable möglich, aber im Allgemeinen keine gute Idee. Solche Dinge zu tun ist ein Rezept für Instabilität und macht den Zweck der Verwendung von Stable in erster Linie zunichte. Backporting auf diese Weise sollte jedoch keine zusätzlichen Upgrades erzwingen und keine Probleme mit Ihrem System verursachen.Ich kann mich nicht erinnern, Änderungen vorgenommen zu haben
rules.parameters
, aber der größte Teil des Patches sind Änderungen, die ich vorgenommen habe, im Gegensatz zu maschinengenerierten Änderungen. Versuchen Sie, diesen Patch auf die Debian-Quellen anzuwenden und auszuführendebuild binary
oder ähnliches. Ich könnte den Patch irgendwo hochladen, wenn Interesse besteht und es nicht bequem ist, ihn aus dieser Nachricht zu erhalten. Berichte über Erfolg und Misserfolg sind willkommen.Anmerkungen:
und
apt-get build-dep
funktioniert nicht, da die Build-Abhängigkeiten lokalgeändert wurden - Sie müssen dies manuell tun.
libgcc1-dbg
gab Fehler, also nahm ich ihn heraus.with_check := disabled by hand
. Das Problem ist nicht, dass die Tests fehlschlagen, aber der Build kann einige Dateien im Zusammenhang mit den Tests nicht finden, sodass Fehler auftreten.binutils
nämlich durch die Version in Squeeze ersetztbinutils (>= 2.20.1)
.multilib
, da Squeeze es nicht verwendet.quelle