LoginSignup
12
10

More than 5 years have passed since last update.

Developer Toolset 4でCentOS6にお手軽にGCC5.2をインストール

Last updated at Posted at 2016-02-23

注意

この記事の内容は古いです。最新の情報は
https://www.softwarecollections.org/en/scls/?search=Dev&policy=&repo=&order_by=-create_date&per_page=10
などをご覧ください。

導入

CentOS(・RHEL)6のデフォルトのコンパイラはC++11にすらまともに対応していないクソコンパイラです。RedHatは定期的に標準でインストールできるGCCを含む各種ソフトのバージョンが腐っていくのを見かねて定期的に比較的新しいバージョンを別の場所にインストールするパッケージを用意しています。それのパクリクローンOSであるCentOS6もRedHatのサーバからソースをパクって独自ビルドし、使えるようにしています。これらのパッケージの中の1つがGCCの新しいバージョンが含まれているDeveloper Toolsetと呼ばれているものです。従来、バージョン3までが知られていました。しかし、これだとGCC4.9までのバージョンしかインストール出来ません。しかし、2015/11にRedHatがGCC5.2を含んだバージョン4が利用できるというアナウンスを出しました。つい最近までこれがCentOSでも利用できるという情報はなかなか回ってこなかったのですが、バージョン3が置いてあるサイトを探してみるとそれらしきものがありました。バージョン3までに比べるとビルド元の信頼性は下がりますが、ここではそれをありがたく頂戴する方法を紹介します。

なお、時間がかかってでもいいから最新版をソースビルドでインストールしたい方は過去記事をご覧ください。

インストール前の注意

これは一個人がRedHatのサーバからソースコードを取ってきて独自にビルドしたものだと思います。万が一動作不良などが起こっても自己責任でお願いします。 特にお仕事で利用しているサーバにインストールする場合はご注意ください。
正直に言ってダウンロード数が異常に少ないのでかなり怪しいです。

リポジトリの詳細

devtoolset3のリポジトリがあるサイトに概要があります。ただし、devtoolset3の人とは別人です。特に詳細もありません。ビルド自体は2015年末あたりに全て完了しているようです。
https://copr.fedorainfracloud.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap2/

インストール方法

当然管理者権限が必要です。C/C++のみを使用する場合は次の方法でインストールします。

cd /etc/yum.repos.d/
sudo wget https://copr.fedorainfracloud.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap2/repo/epel-6/hhorak-devtoolset-4-rebuild-bootstrap2-epel-6.repo
sudo yum install devtoolset-4-gcc devtoolset-4-binutils devtoolset-4-gcc-c++

有効化方法

scl enable devtoolset-4 bash #bashはシェルなどのコマンド(スペースで区切る場合は全体を引用符で囲ってください)

シェルを起動した場合は通常より1回多くexitコマンド・Ctrl+Dなどで終了する必要があります。

常時有効にする場合は
http://qiita.com/aqn/items/08da3ac2b8f3d70efcfa
を参考にするとよいと思います。

バージョン確認

[tatsu@localhost yum.repos.d]$ scl enable devtoolset-4 $SHELL
[tatsu@localhost yum.repos.d]$ gcc --version
gcc (GCC) 5.2.1 20150902 (Red Hat 5.2.1-2)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

使用上の注意

GCC5は、ソースビルドするとメッセージの一部が日本語になりますが、この方法でインストールすると全て英語になってしまいます。一部日本語でエラーメッセージを表示してくれるっていうのがGCCの大きなメリットなのにこんなんじゃ続けてClangソースビルドしたほうがマシだよ・・・

[tatsu@localhost yum.repos.d]$ gcc
gcc: fatal error: no input files
compilation terminated.
[tatsu@localhost yum.repos.d]$ gcc5 --version
gcc5 (GCC) 5.3.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[tatsu@localhost yum.repos.d]$ gcc5
gcc5: 致命的エラー: 入力ファイルがありません
コンパイルを停止しました。

gcc5は以前にソースビルドしたGCC5.3.0です。(参照:http://qiita.com/Tats_U_/items/5fed0f9dafb4ecb15c12)

参考(旧バージョンのインストール方法)

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10