Wie installiere ich gcc 5.3 mit yum unter CentOS 7.2?


94

Ich benutze CentOS 7.2

Wenn ich benutze yum groupinstall "Development Tools", ist die gcc-Version 4.8.5 wie folgt:

Geben Sie hier die Bildbeschreibung ein

Ich möchte gcc 5.3 installieren

Wie geht man damit um yum?



@MohammadShahadatHossain Gibt es yumirgendwo eine Ressource?
Sonnenschein

Ich bin nicht sicher, aber in diesem Fall können Sie die RPM-Ressource von hier aus verwenden. rpmfind.net/linux/rpm2html/search.php?query=gcc
Mohammad Shahadat Hossain

devtoolset bietet jetzt 5.3.1 - siehe meine Antwort unten für die Befehle zum Aktivieren und Installieren mit yum.
tesch1

Antworten:


182

Update:
Oft möchten die Leute die neueste Version von gcc und devtoolset wird auf dem neuesten Stand gehalten. Vielleicht möchten Sie devtoolset-N mit N = {4,5,6,7 ...} spätestens auf Ihrem System verfügbar). Die folgenden cmds für N = 7 wurden aktualisiert.

Als Beispiel gibt es ein Paket für gcc-7.2.1 für devtoolset-7. Zuerst müssen Sie die Software-Sammlungen aktivieren , dann ist sie in devtoolset-7 verfügbar:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
which gcc
gcc --version

2
Die gcc-Version in devtoolset wurde in der Zwischenzeit auf 5.3.1
tesch1

4
Nicht nur das, aber Sie können devtoolset-6 installieren, um 6.2.1
Rahly

4
Das Ändern des Symlinks ist nicht das Beste, da er wahrscheinlich einem anderen Paket gehört / von diesem verwaltet wird, das aktualisiert werden könnte. Es ist besser, es in Ihrem Login oder im systemweiten Login-Skript mit scl enable devtoolset-6 bashoder . /opt/rh/devtoolset-6/bin/enable aktualisiertem Link zu Software-Tools-Dokumenten zu
aktivieren

1
Das Ausführen yum install devtoolset-4-binutilskann ebenfalls hilfreich sein, um eine vollständige GCC-Toolchain zu erhalten.
Prüfung

5
Ich habe source scl_source enable devtoolset-4meinen aktuellen gcc mit dem vondevtoolset-4
WF

74

Update: Installation der neuesten Version von gcc 9: ( gcc 9.3.0 ) - veröffentlicht am 12. März 2020 :

Die gleiche Methode kann auf gcc 10 ( gcc 10.1.0 ) angewendet werden - veröffentlicht am 7. Mai 2020

Datei herunterladen: gcc-9.3.0.tar.gz oder gcc-10.1.0.tar.gz

Kompilieren und installieren:

//required libraries: (some may already have been installed)
dnf install libmpc-devel mpfr-devel gmp-devel

//if dnf install libmpc-devel is not working try:
dnf --enablerepo=PowerTools install libmpc-devel

//install zlib
dnf install zlib-devel*

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around an hour or more to finish
              (depending on your cpu speed)

make install

Getestet unter CentOS 7.8.2003 für gcc 9.3 und gcc 10.1

Getestet unter CentOS 8.1.1911 für gcc 10.1 (das Kompilieren kann länger dauern)

Ergebnisse: gcc / g ++ 9.3.0 / 10.1.0

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Installation von gcc 7.4 (gcc 7.4.0) - veröffentlicht am 6. Dezember 2018 :

Datei herunterladen: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

Kompilieren und installieren:

//required libraries:
yum install libmpc-devel mpfr-devel gmp-devel

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around 50 minutes or less to finish with 8 threads
              (depending on your cpu speed)


make install

Ergebnis:

Geben Sie hier die Bildbeschreibung ein

Anmerkungen:

1. Mit dieser Antwort zum Stapelüberlauf erfahren Sie, wie Sie die heruntergeladene Quelldatei überprüfen können.

2. Verwenden Sie die Option --prefix, um gcc in einem anderen als dem Standardverzeichnis zu installieren. Das Installationsverzeichnis der obersten Ebene ist standardmäßig / usr / local. Lesen Sie mehr über die gcc-Installationsoptionen


Warum von ftp.mirrorservice.org anstatt von ftp.gnu.org herunterladen? Sie sollten auch die entsprechende .sigDatei (die pgp-Signatur) herunterladen und überprüfen .
Keith Thompson

Die Konfiguration wie gezeigt ohne --prefix wird in / usr / local / installiert, was möglicherweise vor Ihrer ursprünglichen gcc-Installation auf PATH
tim18,

1
make -j $(nproc)
Chepe Questn

2
Das Kompilieren dauerte mehr als 4 Stunden und mehr als 6 GB Festplattenspeicher.
iDevFS

Wie tim18 vorschlug, ist es sicher, make && make installohne zu laufen --prefix? Wenn dies der /usr//usr/localconfig.logConfigured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Fall

6

Sie können das Cento-Sclo-Rh-Test-Repo verwenden, um GCC v7 zu installieren, ohne es für immer kompilieren zu müssen. Aktivieren Sie außerdem standardmäßig V7 und lassen Sie bei Bedarf zwischen verschiedenen Versionen wechseln.

sudo yum install -y yum-utils centos-release-scl;
sudo yum -y --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc;
echo "source /opt/rh/devtoolset-7/enable" | sudo tee -a /etc/profile;
source /opt/rh/devtoolset-7/enable;
gcc --version;

Während dieser Code die Frage beantworten kann, ist es besser zu erklären, wie das Problem gelöst werden kann, und den Code als Beispiel oder Referenz bereitzustellen. Nur-Code-Antworten können verwirrend sein und keinen Kontext haben.
Robert Columbia

Leider aktualisiert diese Lösung die /usr/lib64/libstdc++.soDatei nicht, um die neueren Symbole zu erhalten.
schuppiger

5

Der beste Ansatz, um yum zu verwenden und Ihr devtoolset zu aktualisieren, ist die Verwendung des CentOS SCLo RH Testing-Repositorys.

yum install centos-release-scl-rh
yum --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc devtoolset-7-gcc-c++

Viele zusätzliche Pakete sind ebenfalls verfügbar, um sie alle zu sehen

yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*

Mit dieser Methode können Sie jede Dev-Tool-Version installieren. Tauschen Sie einfach die 7 gegen die gewünschte Version aus. devtoolset-6-gcc, devtoolset-5-gcc usw.


-10

Befehl zum Installieren von GCC und Entwicklungstools auf einem CentOS / RHEL 7-Server

Geben Sie den folgenden yum-Befehl als Root-Benutzer ein:

yum group install "Entwicklungstools"

ODER

sudo yum group install "Entwicklungstools"

Wenn der obige Befehl fehlgeschlagen ist, versuchen Sie:

yum groupinstall "Entwicklungstools"

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.