ソースからインストールする際に、gccのバージョンが低いから上げてねと言われる。
でも、yum upgrade gcc
などではあげれないっぽいので、devtoolset
というのを使って上げる。
必要なソフトをインストール
Software Collections ツールをインストールする必要があるみたい。(よくわかってない・・)
yum install scl-utils
Devtoolset-2リポジトリ追加
Devtoolset-2 のリポジトリを追加して、そこから4.7以上のバージョンをインストールします。
cd /etc/yum.repos.d/
wget http://people.centos.org/tru/devtools-2/devtools-2.repo
or
wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc
インストール先は
/opt/rh/devtoolset-2
配下にインストールされる。
ls -la /opt/rh/devtoolset-2/root/usr/bin/gcc
インストールしたgccのバージョン確認
# /opt/rh/devtoolset-2/root/usr/bin/gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
Copyright (C) 2013 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.
有効化
# scl enable devtoolset-2 bash
# gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
Copyright (C) 2013 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.
Pathの設定
pathが通ってないので、scl enable
コマンドでパッケージを有効化する。
仕組みとして、devtoolset-2はインストール先の/opt/rh/devtoolset-2
を指しており、そのディレクトリ配下にenable
というファイルがある。このコマンドが実行されることで 環境変数 がセットされる。
ただし、これだとシェルを起動するたびに毎回手動でscl enable ~
を実行して PATH を通す必要があります。一時的に変えたい場合以外は自動で環境変数をセットするようにしておきます。
echo 'source /opt/rh/devtoolset-2/enable' >> /etc/profile.d/devtools.sh
現在の最新版は Devtoolset-3 が提供されています。同様にリポジトリを追加してインストールしてみたいと思います。