Come installare gcc 5.3 con yum su CentOS 7.2?


94

Sto usando CentOS 7.2

Quando uso yum groupinstall "Development Tools", la versione di gcc è 4.8.5, in questo modo:

inserisci qui la descrizione dell'immagine

Vorrei installare gcc 5.3

Come affrontarlo con yum?



@MohammadShahadatHossain C'è una yumrisorsa da qualche parte?
sole

Non ne sono sicuro, ma in questo caso puoi utilizzare la risorsa RPM da qui. rpmfind.net/linux/rpm2html/search.php?query=gcc
Mohammad Shahadat Hossain

devtoolset ora fornisce 5.3.1 - vedi la mia risposta di seguito per i comandi per abilitarlo e installarlo usando yum.
tesch1

Risposte:


182

Aggiornamento:
spesso le persone vogliono la versione più recente di gcc e devtoolset viene mantenuto aggiornato, quindi forse vuoi devtoolset-N dove N = {4,5,6,7 ...}, controlla yum per il più recente disponibile sul tuo sistema). Aggiornati i cmd di seguito per N = 7.

C'è un pacchetto per gcc-7.2.1 per devtoolset-7 come esempio. Per prima cosa devi abilitare le raccolte software , quindi è disponibile in devtoolset-7:

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

2
la versione gcc in devtoolset è stata nel frattempo
portata

4
Non solo, ma puoi installare devtoolset-6 per ottenere 6.2.1
Rahly

4
cambiare il collegamento simbolico non è la cosa migliore da fare, poiché probabilmente è di proprietà / gestito da un altro pacchetto che potrebbe essere aggiornato. È meglio attivarlo nel tuo accesso, o nello script di accesso a livello di sistema con scl enable devtoolset-6 basho . /opt/rh/devtoolset-6/bin/enable collegamento aggiornato ai documenti degli strumenti software
tesch1

1
L'esecuzione yum install devtoolset-4-binutilspotrebbe essere utile anche per ottenere la toolchain GCC completa.
scrutari

5
Ho usato source scl_source enable devtoolset-4per cambiare il mio attuale gcc con quello installato dadevtoolset-4
WF

74

Aggiornamento: installazione dell'ultima versione di gcc 9: ( gcc 9.3.0 ) - rilasciata il 12 marzo 2020 :

Lo stesso metodo può essere applicato a gcc 10 ( gcc 10.1.0 ) - rilasciato il 7 maggio 2020

Scarica il file: gcc-9.3.0.tar.gz o gcc-10.1.0.tar.gz

Compila e installa:

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

Testato con CentOS 7.8.2003 per gcc 9.3 e gcc 10.1

Testato con CentOS 8.1.1911 per gcc 10.1 (potrebbe richiedere più tempo per la compilazione)

Risultati: gcc / g ++ 9.3.0 / 10.1.0

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Installazione di gcc 7.4 (gcc 7.4.0) - rilasciata il 6 dicembre 2018 :

Scarica file: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

Compila e installa:

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

Risultato:

inserisci qui la descrizione dell'immagine

Appunti:

1. Questa risposta di Stack Overflow aiuterà a vedere come verificare il file sorgente scaricato.

2. Utilizzare l'opzione --prefixper installare gcc in un'altra directory diversa da quella predefinita. La directory di installazione di primo livello ha come impostazione predefinita / usr / local. Leggi le opzioni di installazione di gcc


Perché scaricare da ftp.mirrorservice.org invece che da ftp.gnu.org? Dovresti anche scaricare e verificare il .sigfile corrispondente (la firma pgp).
Keith Thompson,

La configurazione come mostrato senza --prefix verrà installata in / usr / local / che può o meno precedere l'installazione originale di gcc su PATH
tim18

1
make -j $(nproc)
Chepe Questn

2
Mi ci sono volute più di 4 ore per la compilazione e più di 6 GB di spazio su disco fisso.
iDevFS

Come suggerito da tim18, è sicuro correre make && make installsenza --prefix? Se lo fai, tutto è installato in /usr/non pari /usr/local, controlla config.log:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Celdor

6

È possibile utilizzare il repository centos-sclo-rh-testing per installare GCC v7 senza doverlo compilare per sempre, abilitare anche V7 per impostazione predefinita e consentire di passare da una versione all'altra se necessario.

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;

Sebbene questo codice possa rispondere alla domanda, è meglio spiegare come risolvere il problema e fornire il codice come esempio o riferimento. Le risposte di solo codice possono creare confusione e mancare di contesto.
Robert Columbia

Purtroppo questa soluzione non aggiorna il /usr/lib64/libstdc++.sofile per avere i simboli più recenti.
squamoso

5

L'approccio migliore per utilizzare yum e aggiornare il tuo devtoolset è utilizzare il repository CentOS SCLo RH Testing.

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

Sono inoltre disponibili molti pacchetti aggiuntivi, per vederli tutti

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

Puoi utilizzare questo metodo per installare qualsiasi versione dello strumento di sviluppo, basta scambiare la 7 con la versione desiderata. devtoolset-6-gcc, devtoolset-5-gcc ecc.


-11

Comando per installare GCC e strumenti di sviluppo su un server CentOS / RHEL 7

Digita il seguente comando yum come utente root:

yum group installa "Strumenti di sviluppo"

O

sudo yum group installa "Strumenti di sviluppo"

Se il comando precedente non è riuscito, prova:

yum groupinstall "Strumenti di sviluppo"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.