CentOS에서 gcc 4.7.x / 4.8.x를 설치하는 방법


87

가장 쉬운 설치 방법은 무엇입니까? gcc CentOS 6.2 이상이 설치된 시스템에서 4.7.x / 4.8.x? 기본 RPM 패키지에는 이전 버전의 gcc.

답변:


66

centos.org의 Tru Huynh는 레드햇 개발자 도구 세트 1.1 , centos 용이며 gcc 4.7.2가 들어 있습니다.

따라서 단순히 repo를 사용하고 gcc 만 설치할 수 있습니다.

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

이렇게하면 /opt/centos/devtoolset-1.1/root/usr/bin/

그런 다음 컴파일 과정에서 CC 변수로 4.4 대신 gcc 4.7을 사용하도록 알릴 수 있습니다

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
달리는 yum --enablerepo=testing-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++ 4-o-four를 반환합니다. 영상

1
잊지 마라. yum clean all 실패한 후에 다시 조치를 취하기 전에 404

6
할 수있는 개별 변수를 설정하는 대신 scl enable devtoolset-1.1 bash (모든 변수가 설정된 새 쉘을 시작합니다).
marcin

13
g ++ 4.8.2의 경우, 1.12 사방에, 그리고 변화 --enablerepo=testing-1.1-devtools-6--enablerepo=testing-devtools-2-centos-6
dwurf

3
여전히 작동합니까? 나는 얻다 people.centos.org/tru/devtools-2/6Workstation/i386/RPMS/... : [Errno 14] PYCURL ERROR 22 - "요청 된 URL이 오류를 반환했습니다 : 404"
Paul Praet

41

다음은 devtoolset-2 (gcc 4.8.1 포함)를 얻는 방법입니다.

이것은 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++

알려진 문제 :

  • 서명되지 않은 패키지
  • CentOS-6 devtoolset-2에는 Eclipse 스택 전체가 포함되어 있지만 아직 빌드되지 않은 devtoolset-2-ide가 필요합니다.
  • CentOS-6 모든 관련 파일은 빌드되지 않습니다.

devtools-1.1의 주요 변경 사항 :

  • /opt/centos 더 이상 사용되지 않습니다.
  • /opt/rh 업스트림 (SL 버전)으로 사용됩니다.

1
나는 이것을 작동시키기 위해 이들을 수출해야만했다. 감사! / opt / rh / devtoolset-2 / 루트 / usr / bin / c ++ export CPP = / opt / rh / devtoolset-2 / 루트 / usr / bin / gcc export CXX = root / usr / bin / cpp
jemiloii

2
@ JemiloII - 당신이 한거야? scl enable devtoolset-2 설치 후? 그 경로에 올바른 컴파일러를 얻을 작동합니다.
Mark Lakata

그것은 실제로 수출보다 잘 작동합니다!
jemiloii

@MarkLakata - 러닝 scl enable devtoolset-2 다음 오류를 throw합니다. Need at least 3 arguments. Run scl --help to get help.
Swanidhi

3
@Swanidhi 전체 명령입니다 scl enable devtoolset-2 bash bash를 사용하지 않으면 마지막 필드가 달라질 수 있습니다.
Mark Lakata

30

새로운 버전의 devtoolset 2.0이 있습니다. Scientific Linux에서 일하는 Cern의 멋진 사람들이 만들어졌습니다. 공개 버전 :

CentOS (Scientific Linux가 아님)를 사용하는 경우 GPG 키를 다음 위치에서 가져와야합니다. 이리 사용 :

rpm --import http://www.scientificlinux.org/documentation/gpg/RPM-GPG-KEY-cern

즐겨!


1
위의 링크가 깨졌습니다. 비슷한 키를 발견했습니다 : [ftp.riken.jp] ( ftp.riken.jp/Linux/cern/slc58/x86_64/RPM-GPG-KEYs/... )
remo

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
무엇을 하는가? hash -r 해야 할 것?
codecowboy

내 Centos 6.7 시스템에서 ln -s / opt / rh / devtoolset-2 / root / usr / bin / * / usr / local / bin / suke. 나는 그것이 sudo의 별칭일지도 모른다라고 생각한다.
codecowboy

@codecowboy $PATH 결과를 메모리에 캐싱하여 명령을 입력 할 때마다 hash -r 강제로 다시로드 $ PATH
Denis Denisov

@Denji - 분명히 hop5.in 사이트가 더 이상 없습니다.
slm

추가가 필요할 수 있음 --nogpgcheck 옵션 : sudo yum install --nogpgcheck devtoolset-3
FooBee

2

내가 볼 수있는 것에서부터 gnu gcc , 최신 안정 버전은 4.62입니다. 버전 4.7은 다운로드하여 컴파일 할 수 있습니다. gcc 설치 .


나는 그것이 필요한 일부 C ++ 11 기능 (Clang에서 포팅)을 가지고 있기 때문에 약 4.7을 물었다.
Tomas Andrle

따라서 소스에서 컴파일하는 것과는 별도로 사용할 수있는 RPM이없는 웹 사이트는 없습니다.
Tomas Andrle

내가 아는 것은 아니지만 주제에 대해 잘 알지 못합니다. RPM 저장소는 전형적으로 안정된 형태로만 RPM을 포함합니다.
bbaja42

2

이 답 중 어느 것도 나를 위해 일하지 않았다.
심지어 devtoolset의 껍질에서 내 gcc를 보았다 4.4.7.
내 속임수는 다음과 같습니다.

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

1

devtool1.1에 문제가있어서 약간의 변경을했습니다. 마침내 이것은 저에게 효과적이었습니다. 처음 뛰다

yum clean all

보다 :

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

이제 /etc/yum.repos.d/devtools-1.1.repo를 열고 변경하십시오. from :

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

(x86_64를 사용하는 경우) :

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

또는 ((x86을 사용하는 경우))

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

그리고 마침내 실행 :

yum install devtoolset-1.1

0

이를 달성하는 한 가지 방법은 가져 오는 것입니다. src fedora 저장소에서 RPM을 가져 와서 대상 시스템에 맞게 다시 컴파일하십시오.
Fedora 17 나중에 제공 gcc 4.7

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.