Ich habe viele Lösungen ausprobiert, um das Update für meinen gcc-Compiler auf dem Debian-Server zu installieren. Keiner von ihnen hat funktioniert. Ich benötige das Compiler-Update, um die neuen Funktionen von c ++ 11 nutzen zu können, da dies eine stabile libcxx11-ABI und eine stabile Unterstützung für C ++ 11 bietet (siehe hier ). Speziell die Version `GLIBCXX_3.4.21 ', die in meinem aktuellen Compiler gcc Version 4.9.2 (Debian 4.9.2-10) nicht enthalten ist.
Einige Lösungshinweise sind hilfreich. Danke im Voraus.
Einige Links zum Forum zu meinem Problem, das ich bereits ausprobiert habe:
1 2 3 (nicht ganz verwandte Lösung ist für Ubuntu, aber ich konnte gcc-5 auf dem FTP-Server von Debian noch nicht finden)
testing
ist dies jedoch wahrscheinlich keine gute Idee (je nachdem, was Sie unter Server verstehen). Der Wechsel von gcc 4.9 zu gcc 5 war mit einem Bibliotheksübergang verbunden. Wenn Sie also versuchen, es selbst zu tun, werden Sie in eine Welt voller Schmerzen geraten!testing
(allein verwendeten): Pakete werden manchmal vorübergehend entfernt (daher ist das soeben in Ihrer Test-VM validierte Setup möglicherweise nicht mehr ohne weiteres verfügbar). , und Sicherheitsupdates können verzögert werden (manchmal für längere Zeit, wenntesting
ein großer Bibliotheksübergang stattfindet, obwohl dies intesting-security
solchen Fällen der Fall ist).Antworten:
Ich musste GCC 5+ auf debian jessie installieren und, wie es für Debian-Tests verfügbar ist (mindestens am 16. Juni), können Sie apt-pinning verwenden, um dort verfügbare Pakete zu installieren (siehe https://wiki.debian.org/AptPreferences ). .
So installieren Sie GCC 5+ von einem Debian-Jessie-Test mit apt-pinning:
Fügen Sie Ihren apt-Quellen debian testing repo hinzu, indem Sie eine Datei in dem Verzeichnis erstellen,
/etc/apt/sources.list.d
das die Zeile enthältdeb http://ftp.us.debian.org/debian testing main contrib non-free
Weisen Sie debian an, Testquellen für bestimmte Pakete zu verwenden, indem Sie eine Datei erstellen
/etc/apt/preferences.d
, die Folgendes enthält:Apt-Datenbank aktualisieren:
sudo apt-get update
Installieren Sie gcc vom Testen:
sudo apt-get install -t testing gcc
Beachten
-t testing
Sie, dass Sie mit apt-get anweisen, gcc von zuvor konfigurierten Testquellen zu installieren.Ich empfehle dringend, alle Kompilierungen zu bereinigen und alle Abhängigkeiten neu zu kompilieren, bevor Sie Ihre Quellen erneut kompilieren.
Habe Spaß!
quelle
pip
) unterbrechen. , aber ich denke, dass dieses Verfahren die am wenigsten invasive ist, weilapt
verfolgen würde, welche Pakete von GCC abhängen und kompatible Versionen nach Bedarf installieren (soweit ich mich erinnern kann).Pin-Priority
weiß, wird ein Paket, je mehr es erhält, anderen Paketen mit einer niedrigeren Nummer vorgezogen. Wie auf der AptPrefences-Seitetesting
von Debian angegeben , werdenPin-Priority: 900
alle Paketetesting
standardmäßig installiert. Also, dass die Angabetesting
eine habenPin-Priority: 100
absenkttesting
Pakete Priorität sie nur machen installierbar , wenn angefordert , wenn auf das Ziel spezifiziertapt-get install -t testing ...
Package: gcc
Upgrades wird das gesamte System auf den Testbetrieb umgestellt. Die Dokumentation überapt-prefences
verwirrend ist , so ich das nehme ist , was geschieht: 1: Angeben Paket:: Wie Pakete von Test größere Versionen haben, standardmäßig sie Vorrang vor dem Standard derjenigediejenigedasjenige 2 habengcc
mitPin-priority: 100
Marken alle Pakete von testing Standardpriorität zu haben (höher als Standard) außergcc
. Genau das Gegenteil wollten wir. Ich habe die Antwort aktualisiert, um diesen Fehler zu vermeidenSo kombinieren Sie die beiden vorherigen Antworten zu einer, die funktioniert:
ABER!!! Verwenden Sie dies auf eigenes Risiko, wenn Sie Pakete von Unstable installieren. Möglicherweise möchten Sie auch entfernen,
/etc/apt/sources.list.d/unstable.list
sobald Sie die Pakete installiert haben.Wenn möglich, installieren Sie es unter Docker, damit Sie Ihr Betriebssystem nicht durcheinander bringen. Ihr Kilometerstand kann variieren.
quelle
Ab 2017.02.19, gcc-5 wurde entfernt aus dem Test:
https://tracker.debian.org/pkg/gcc-5
Sie können,
apt-get install gcc-5
wenn Sie diese Zeile zuerst als root ausführen:Dann möchten Sie wahrscheinlich die Priorität dieser Quelle
/etc/apt/preferences.d
gemäß der Antwort von llekn ändern.quelle
Ich hatte letzte Woche Probleme; es sieht so aus, als ob am 23.01.2019 gcc-5 vollständig aus den Repositories entfernt wurde. (Siehe https://tracker.debian.org/pkg/gcc-5 )
Wenn Sie es wirklich brauchen, können Sie es wahrscheinlich aus dem Quellcode kompilieren. Ich werde einen Weg finden, um die Abhängigkeit von meinem System zu löschen.
quelle