Mein Debian 7 armel embedded System hat derzeit g ++ 4.6, und ich möchte auf g ++ 4.9 upgraden, um neue C ++ 11 Funktionen zu verwenden. Wie mache ich das?
Mein aktueller Inhalt von sources.list ist:
%Vor%Eine einfache apt-get-Installation des Pakets funktioniert nicht:
%Vor%Eine andere Problemumgehung könnte sein, die g ++ 4.9-Pakete von "Jessie" zu installieren, gemäß dieser Blogbeitrag . Kurz, Sie müssten APT sagen, dass Sie die Jessie-Repos verwenden sollen, während Sie das neue G ++ installieren. Bring zuerst den aktuellen Wheezy auf den neuesten Stand:
%Vor% Dann mache ein Backup :-) und bearbeite /etc/apt/sources.list
, damit du die Zeichenfolge "wheezy"
durch "jessie"
ersetzen kannst:
Aktualisiere nun die Paketliste und installiere die 4.9 Version von GCC / G ++:
%Vor%Danach kehren Sie zur "ursprünglichen" Paketliste zurück:
%Vor% Damit bleibt der ursprüngliche GCC, G ++ erhalten. Wenn Sie mit der Version 4.9 kompilieren möchten, dann setzen Sie entweder CC
und CXX
env vars entsprechend oder rufen Sie die Compiler explizit als gcc-4.9
oder g++-4.9
explizit auf.
Wahrscheinlich erforderlich: packaging-dev
, ubuntu-dev-tools
(dadurch können Sie ein Paket in einer Chroot erstellen, ohne Ihr System mit Build-abhängigen Paketen zu belasten)
%Vor%Wenn Sie für eine bestimmte Distribution erstellen möchten (pbuilder verwendet die Build-System-Version in einer Chroot), können Sie pbuilder-dist [genau / oneric / trusy / etc ...] create
verwendenspezifische Debian-Revision ist optional, kann aber nützlich sein, wenn Sie experimentelle / unstable / testing / stable-Revisionen ziehen wollen Sie können auch von bestimmten ubuntu-Distributionen abrufen, indem Sie sie zu sources.list als deb-src hinzufügen und sudo apt-get src verwenden
In den heruntergeladenen Dateien befindet sich eine .dsc-Datei, für den letzten gcc ist es gcc-4.9_4.9.0-6.dsc, das eine Paketdeskriptordatei ist. .orig.tar. [gz / xz] ist der Quell-Tarball.
Beachten Sie, dass Sie diesen Schritt auch mit .debs durchführen können, die von überall heruntergeladen werden (Schritt 1-3 überspringen)
Anstatt die Jessie-Pakete zu verwenden, wäre es besser zu überprüfen, ob es zu Wheezy zurück portiert wurde. Füge das zu deinem /etc/apt/sources.list
hinzu:
deb http://http.debian.net/debian wheezy-backports main
und machen Sie apt-get update
und sehen Sie, ob Sie es dann installieren können.