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.