Come installare gcc 4.7.x / 4.8.x su CentOS


88

Quale sarebbe il modo più semplice per installare gcc4.7.x / 4.8.x su un sistema con CentOS 6.2+? Il pacchetto RPM predefinito contiene una versione precedente di gcc.

Risposte:


67

Tru Huynh di centos.org ha creato il set di strumenti per sviluppatori redhat 1.1 , per centos e contiene gcc 4.7.2

Quindi potresti semplicemente usare il suo repository e installare solo gcc, all'istante.

cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo 
yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++

Questo lo installerà molto probabilmente in /opt/centos/devtoolset-1.1/root/usr/bin/

Quindi puoi dire al tuo processo di compilazione di usare gcc 4.7 invece di 4.4 con la variabile CC

export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc  
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++

4
running yum --enablerepo=testing-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++restituisce un quattro o quattro, ..: image

1
non dimenticare di yum clean allprima di ripetere i passaggi dopo il fallimento, altrimenti otterrai comunque 404

6
invece di impostare le singole variabili che puoi fare scl enable devtoolset-1.1 bash(avvia una nuova shell con tutte le variabili impostate).
marcin,

13
Per g ++ 4.8.2, 1.1passa a 2ovunque e --enablerepo=testing-1.1-devtools-6passa a--enablerepo=testing-devtools-2-centos-6
dwurf il

3
Funziona ancora? Ottengo people.centos.org/tru/devtools-2/6Workstation/i386/RPMS/… : [Errno 14] ERRORE PYCURL 22 - "L'URL richiesto ha restituito l'errore: 404"
Paul Praet

42

Ecco come ottenere devtoolset-2 (incluso gcc 4.8.1)

Questo è stato preso da http://people.centos.org/tru/devtools-2/readme

wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++

Problemi noti:

  • pacchetti non firmati
  • CentOS-6 devtoolset-2 ha bisogno di devtoolset-2-ide che contiene l'intero stack Eclipse, ma non è stato ancora creato
  • Anche CentOS-6 non ha creato tutti i file relativi a Maven

Principali modifiche rispetto a devtools-1.1:

  • /opt/centos non è più utilizzato
  • /opt/rh è ora utilizzato come upstream (come versione SL)

1
Ho dovuto esportarli per farlo funzionare. Grazie! export CC = / opt / rh / devtoolset-2 / root / usr / bin / gcc export CXX = / opt / rh / devtoolset-2 / root / usr / bin / c ++ export CPP = / opt / rh / devtoolset-2 / root / usr / bin / cpp
jemiloii

2
@JemiloII - hai fatto scl enable devtoolset-2dopo l'installazione? Dovrebbe funzionare per ottenere i compilatori corretti sul percorso.
Mark Lakata,

che funziona davvero meglio delle esportazioni!
jemiloii,

@MarkLakata - Running scl enable devtoolset-2lancia il seguente erroreNeed at least 3 arguments. Run scl --help to get help.
Swanidhi,

3
@Swanidhi Il comando completo è scl enable devtoolset-2 bashdove l'ultimo campo potrebbe essere diverso se non si utilizza bash.
Mark Lakata,


21
# 1. Install a package with repository for your system:
# RHEL 6: `yum-config-manager --enable rhel-server-rhscl-6-rpmss`
# RHEL 7: `yum-config-manager --enable rhel-server-rhscl-7-rpms`
$ sudo yum install centos-release-scl # On CentOS 6/7+, install package centos-release-scl available in CentOS repository

# 2. Install the collection:
$ sudo yum install devtoolset-3

# 3. Start using software collections:
$ scl enable devtoolset-3 bash

$ sudo yum list devtoolset-3\*

1
ciò che hash -rfare?
codecowboy,

ln -s / opt / rh / devtoolset-2 / root / usr / bin / * / usr / local / bin / ha rotto sudo sul mio sistema Centos 6.7. Penso che potrebbe alias sudo.
codecowboy,

@codecowboy $PATHogni volta che si digita un comando memorizzando nella cache i risultati, hash -rforzare la ricarica $ PATH
Denis Denisov

@Denji - apparentemente il sito hop5.in non esiste più.
slm,

potrebbe essere necessario aggiungere --nogpgcheckun'opzione: sudo yum install --nogpgcheck devtoolset-3
FooBee

2

Da quello che posso vedere dal gnu gcc , l'ultima versione stabile è 4.62. La versione 4.7 può essere scaricata e compilata, maggiori informazioni sull'installazione di gcc .


Ho chiesto di 4.7 perché dovrebbe avere alcune funzionalità C ++ 11 di cui ho bisogno (porting da Clang).
Tomas Andrle,

Quindi, a parte la compilazione dalla fonte, non esiste, diciamo, un sito Web che abbia alcuni rpms che potrei usare?
Tomas Andrle,

Non che ne sia consapevole, ma non sono molto ben informato sull'argomento. Il repository RPM include in genere l'RPM solo nella sua forma stabile.
bbaja42,

2

nessuna di queste risposte ha funzionato per me.
anche nel guscio di devtoolset è ancora visto il mio gcc 4.4.7.
Il mio trucco era il seguente:

mv /usr/bin/gcc /usr/bin/gcc.bckup
ln -s /opt/centos/devtoolset-1.1/root/usr/bin/gcc /usr/bin/gcc

1

c'è un problema con devtool1.1, quindi ho fatto alcune modifiche - finalmente, questo ha funzionato per me: prima esecuzione

yum clean all

di:

wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo -O /etc/yum.repos.d/devtools-1.1.repo

ora apri /etc/yum.repos.d/devtools-1.1.repo e cambia da:

http://people.centos.org/tru/devtools-2/$releasever/$basearch/RPMS

(se stai usando x86_64) per:

http://people.centos.org/tru/devtools-1.1/6/x86_64/RPMS/ 

oppure ((se si utilizza x86))

http://people.centos.org/tru/devtools-1.1/6/i386/RPMS/

e infine eseguire:

yum install devtoolset-1.1

0

Un modo per raggiungere questo obiettivo sarebbe quello di recuperare gli srcRPM dai repository fedora e ricompilarli per il sistema di destinazione.
Fedora 17e successivamente forniregcc 4.7

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.