Comment installer gcc 5.3 avec yum sur CentOS 7.2?

94

J'utilise CentOS 7.2

Quand j'utilise yum groupinstall "Development Tools", la version gcc est 4.8.5, comme ceci:

entrez la description de l'image ici

Je souhaite installer gcc 5.3

Comment aborder cela avec yum?

ensoleillement
la source
suivez ce tutoriel vultr.com/docs/how-to-install-gcc-on-centos-6
Mohammad Shahadat Hossain
@MohammadShahadatHossain Y a-t-il une yumressource quelque part?
soleil du
Je ne suis pas sûr, mais dans ce cas, vous pouvez utiliser la ressource RPM à partir d'ici. rpmfind.net/linux/rpm2html/search.php?query=gcc
Mohammad Shahadat Hossain
devtoolset fournit maintenant 5.3.1 - voir ma réponse ci-dessous pour les commandes pour l'activer et l'installer en utilisant yum.
tesch1

Réponses:

184

Mise à jour:
Souvent, les gens veulent la version la plus récente de gcc, et devtoolset est mis à jour, alors peut-être que vous voulez devtoolset-N où N = {4,5,6,7 ...}, vérifiez yum pour le dernier disponible sur votre système). Mise à jour des cmds ci-dessous pour N = 7.

Il existe un package pour gcc-7.2.1 pour devtoolset-7 à titre d'exemple. Vous devez d'abord activer les collections de logiciels , puis elles sont disponibles dans devtoolset-7:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
which gcc
gcc --version
tesch1
la source
2
la version gcc dans devtoolset a entre-temps été
repoussée
4
Non seulement cela, mais vous pouvez installer devtoolset-6 pour obtenir 6.2.1
Rahly
4
changer le lien symbolique n'est pas la meilleure chose à faire, car il est probablement détenu / géré par un autre paquet qui pourrait être mis à jour. Il est préférable de l'activer dans votre connexion, ou dans le script de connexion à l'échelle du système avec scl enable devtoolset-6 bashou un . /opt/rh/devtoolset-6/bin/enable lien mis à jour vers la documentation des outils logiciels
tesch1
1
L'exécution yum install devtoolset-4-binutilspeut également être utile pour obtenir une chaîne d'outils GCC complète.
scrutari
5
J'avais l'habitude source scl_source enable devtoolset-4de changer mon gcc actuel avec celui installé pardevtoolset-4
WF
74

Mise à jour: Installation de la dernière version de gcc 9: ( gcc 9.3.0 ) - publiée le 12 mars 2020 :

La même méthode peut être appliquée à gcc 10 ( gcc 10.1.0 ) - publié le 7 mai 2020

Télécharger le fichier: gcc-9.3.0.tar.gz ou gcc-10.1.0.tar.gz

Compilez et installez:

//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

Testé sous CentOS 7.8.2003 pour gcc 9.3 et gcc 10.1

Testé sous CentOS 8.1.1911 pour gcc 10.1 (la compilation peut prendre plus de temps)

Résultats: gcc / g ++ 9.3.0 / 10.1.0

entrez la description de l'image ici entrez la description de l'image ici

Installation de gcc 7.4 (gcc 7.4.0) - publié le 6 décembre 2018 :

Télécharger le fichier: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

Compilez et installez:

//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

Résultat:

entrez la description de l'image ici

Remarques:

1. Cette réponse Stack Overflow vous aidera à voir comment vérifier le fichier source téléchargé.

2. Utilisez l'option --prefixpour installer gcc dans un autre répertoire que celui par défaut. Le répertoire d'installation de niveau supérieur est par défaut / usr / local. En savoir plus sur les options d'installation de gcc

HDJEMAI
la source
Pourquoi télécharger depuis ftp.mirrorservice.org plutôt que ftp.gnu.org? Vous devez également télécharger et vérifier le .sigfichier correspondant (la signature pgp).
Keith Thompson
La configuration comme indiqué sans --prefix installera dans / usr / local / qui peut ou non
précéder
1
make -j $(nproc)
Chepe Questn
2
Cela m'a pris plus de 4 heures à compiler et plus de 6 Go d'espace disque dur.
iDevFS
Comme le suggère tim18, est-il sûr de fonctionner make && make installsans --prefix? Si vous le faites, tout est installé dans /usr/pas même /usr/local, vérifiez le config.log:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Celdor
6

Vous pouvez utiliser le repo centos-sclo-rh-testing pour installer GCC v7 sans avoir à le compiler pour toujours, activer également V7 par défaut et vous permettre de basculer entre les différentes versions si nécessaire.

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;
user1855153
la source
Bien que ce code puisse répondre à la question, il est préférable d'expliquer comment résoudre le problème et de fournir le code à titre d'exemple ou de référence. Les réponses basées uniquement sur le code peuvent prêter à confusion et manquer de contexte.
Robert Columbia
Malheureusement, cette solution ne met pas à jour le /usr/lib64/libstdc++.sofichier pour avoir les symboles les plus récents.
écailleux
5

La meilleure approche pour utiliser yum et mettre à jour votre devtoolset consiste à utiliser le référentiel CentOS SCLo RH Testing.

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

De nombreux packages supplémentaires sont également disponibles, pour les voir tous

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

Vous pouvez utiliser cette méthode pour installer n'importe quelle version de l'outil de développement, il suffit de remplacer le 7 par la version souhaitée. devtoolset-6-gcc, devtoolset-5-gcc etc.

Teshy
la source
-11

Commande pour installer GCC et les outils de développement sur un serveur CentOS / RHEL 7

Tapez la commande yum suivante en tant qu'utilisateur root:

yum group install "Outils de développement"

OU

sudo yum group installer "Outils de développement"

Si la commande ci-dessus a échoué, essayez:

yum groupinstall "Outils de développement"

Saddam ZEMMALI
la source