CentOSにgcc 4.7.x / 4.8.xをインストールする方法


88

gccCentOS 6.2+ を搭載したシステムに4.7.x / 4.8.x をインストールする最も簡単な方法は何ですか?デフォルトのRPMパッケージには、古いバージョンのが含まれていますgcc

回答:


67

centos.orgのTru Huynhは、centos用のredhat開発者ツールセット1.1を構築し、gcc 4.7.2を含んでいます。

したがって、彼のリポジトリを使用して、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/

その後、コンパイルプロセスに、4.4ではなくgcc 4.7を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
実行yum --enablerepo=testing-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++すると、フォー・オ・フォーが返されます..:画像

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 14

3
これはまだ機能しますか?私が取得people.centos.org/tru/devtools-2/6Workstation/i386/RPMS/...:[エラー番号を14] PYCURLのERROR 22 - "要求されたURLが返されたエラー:404"
ポール・Praet

42

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すべてのMaven関連ファイルもビルドされていません

devtools-1.1からの主な変更:

  • /opt/centos 使用されなくなりました
  • /opt/rh アップストリームとして使用されるようになりました(SLバージョンとして)

1
動作させるにはこれらをエクスポートする必要がありました。ありがとう!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- scl enable devtoolset-2インストール後にしましたか?パス上で正しいコンパイラを取得するために動作するはずです。
マークラカタ

実際には、エクスポートよりもうまく機能します!
jemiloii

@MarkLakata-実行scl enable devtoolset-2すると次のエラーがスローされますNeed at least 3 arguments. Run scl --help to get help.
スワニディ

3
@Swanidhi完全なコマンドはscl enable devtoolset-2 bash、bashを使用していない場合、最後のフィールドが異なる可能性がある場所です。
マーク・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/…
レモ・ハーソノ

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

ln -s / opt / rh / devtoolset-2 / root / usr / bin / * / usr / local / bin /は、Centos 6.7システムでsudoを破損しました。sudoのエイリアスになると思います。
codecowboy

@codecowboy $PATH結果をメモリにキャッシュしてコマンドを入力するたびに、hash -r$ PATHを強制的に再読み込みします
デニスデニソフ

@Denji-明らかにhop5.inサイトはもうありません。
slm

追加--nogpgcheckオプションが必要な場合があります sudo yum install --nogpgcheck devtoolset-3
-FooBee

2

gnu gccからわかることから、最新の安定バージョンは4.62です。バージョン4.7をダウンロードしてコンパイルできます。gccのインストールに関する詳細情報。


4.7について尋ねたのは、必要なC ++ 11機能がいくつかあるはずだからです(Clangから移植)。
トマスアンドル

だから、ソースからコンパイルする以外に、たとえば、私が使用できるいくつかのrpmを持つウェブサイトはありませんか?
トマスアンドル

気づいているわけではありませんが、このトピックについてあまり知識がありません。通常、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を開き、以下から変更します:

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

これを実現する1つの方法はsrc、FedoraリポジトリからRPM を取得し、ターゲットシステム用に再コンパイルすることです。
Fedora 17後で提供するgcc 4.7

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.