So installieren Sie GCC 5 auf Debian Jessie 8.1

So installieren Sie GCC 5 auf Debian Jessie 8.1

Ich habe viele Lösungen ausprobiert, um ein Update für meinen gcc-Compiler auf dem Debian-Server zu installieren. Keine davon hat funktioniert. Ich brauche das Compiler-Update, um die neuen Funktionen von C++11 nutzen zu können, da dies eine stabile libcxx11-ABI und stabile Unterstützung für C++11 bietet (sieheHier). Insbesondere erhalte ich die Version „GLIBCXX_3.4.21“, die in meiner aktuellen Compiler-GCC-Version 4.9.2 (Debian 4.9.2-10) nicht enthalten ist.

Einige Lösungshinweise wären hilfreich. Vielen Dank im Voraus.

Einige Links zu Foren zu meinem Problem, die ich bereits ausprobiert habe:

1 2 3(eine nicht ganz verwandte Lösung ist für Ubuntu, aber ich konnte gcc-5 noch nicht auf dem FTP-Server von Debian finden)

Antwort1

Ich brauchte GCC 5+ auf Debian Jessie installiert und, wie es für Debian Testing verfügbar ist (zumindest am 16. Juni), können Sie apt-pinning verwenden, um dort verfügbare Pakete zu installieren (siehehttps://wiki.debian.org/AptPreferences).

So installieren Sie GCC 5+ aus dem Test auf Debian Jessie mit apt-pinning:

  1. Fügen Sie das Debian-Test-Repository zu Ihren Apt-Quellen hinzu, indem Sie im Verzeichnis eine Datei /etc/apt/sources.list.dmit der Zeile erstellen

    deb http://ftp.us.debian.org/debian testing main contrib non-free

  2. Weisen Sie Debian an, Testquellen für bestimmte Pakete zu verwenden, indem Sie eine Datei mit /etc/apt/preferences.dfolgendem Inhalt erstellen:

    Package: *
    Pin: release a=testing
    Pin-Priority: 100
    
  3. Apt-Datenbank aktualisieren:sudo apt-get update

  4. Installieren Sie gcc aus dem Test:sudo apt-get install -t testing gcc

    Beachten Sie, dass -t testingSie mit apt-get angeben, dass gcc aus den zuvor konfigurierten Testquellen installiert werden soll.

Ich empfehle dringend, die Kompilierung zu bereinigen und alle Abhängigkeiten neu zu kompilieren, bevor Sie Ihre Quellen erneut kompilieren.

Viel Spaß!

Antwort2

Seit dem 19.02.2017 ist gcc-5ENTFERNTaus Tests:

https://tracker.debian.org/pkg/gcc-5

Sie können dies apt-get install gcc-5, indem Sie zuerst diese Zeile als Root ausführen:

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/unstable.list

Dann möchten Sie wahrscheinlich die Priorität dieser Quelle /etc/apt/preferences.dgemäß der Antwort von llekn ändern.

Antwort3

So kombinieren Sie die beiden vorherigen Antworten zu einer einzigen, die funktioniert:

echo "deb http://ftp.us.debian.org/debian unstable main contrib non-free" >> /etc/apt/sources.list.d/unstable.list
apt-get update
apt-get install -t unstable gcc-5

ABER!!! Verwenden Sie dies auf eigenes Risiko, da Sie Pakete aus Unstable installieren. Möglicherweise möchten Sie es auch entfernen, /etc/apt/sources.list.d/unstable.listnachdem Sie die Pakete installiert haben.

Installieren Sie es wenn möglich unter Docker, damit Ihr Betriebssystem nicht durcheinander gerät. Die Ergebnisse können unterschiedlich ausfallen.

Antwort4

Ich konnte es gcc-5aus den Ubuntu-Repositories auf Debian 10.13 „Buster“ installieren. Das ist wirklich eine schlechte Vorgehensweise, aber ich hatte keine andere Wahl.

Hier sind die Befehle (CI-freundlich)

apt-get remove -y gcc
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial main" >> /etc/apt/sources.list.d/buster.list
echo "deb http://us.archive.ubuntu.com/ubuntu/ xenial universe" >> /etc/apt/sources.list.d/buster.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 3B4FE6ACC0B21F32
apt-get update
apt-get install -y gcc-5 g++-5
ln -s /usr/bin/gcc-5 /usr/bin/gcc
ln -s /usr/bin/g++-5 /usr/bin/g++

verwandte Informationen