CentOS 6で新しいバージョンのGCCを使うための一般的な手順は以下の通りです。
1. Devtoolsetのインストール
CentOS 6ではデフォルトのGCCバージョンが古いです。新しいGCCを使うには、Developer Toolset
をインストールするのが簡単な方法です。devtoolset
は、Red Hat Developer Toolsetの一部で、最新のGCCを提供します。
手順
- SCL(Software Collections)のリポジトリをインストール
SCLは最新のツールセットを提供します。
sudo yum install centos-release-scl
- Devtoolsetのインストール
次に、GCCの最新版を含むdevtoolset
をインストールします。
sudo yum install devtoolset-7
(devtoolset-7
はGCC 7を提供します。他のバージョンを指定したい場合は適宜変更してください。)
- GCCを有効にする
インストールしたGCCを使うには、次のコマンドで環境を変更します。
scl enable devtoolset-7 bash
これで新しいGCCを使うことができるようになります。現在のシェルセッションのみ有効なので、毎回新しいシェルを開いたときにこのコマンドを実行する必要があります。
- 恒久的に新しいGCCを使う
恒久的に新しいGCCを使いたい場合は、次のようにプロファイルスクリプトに追加します。
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bash_profile
これで、新しいセッションを開いたときに自動的に新しいGCCが使えるようになります。
2. 手動でGCCをコンパイル・インストール
もし、特定のバージョンのGCCを必要とする場合やDevtoolsetに含まれていないバージョンが欲しい場合は、ソースからGCCをインストールすることもできます。
手順
- 依存パッケージのインストール
sudo yum install gmp-devel mpfr-devel libmpc-devel
- GCCのソースをダウンロード GCCの公式サイトからソースをダウンロードします。ここでは、GCC 10.3.0を例にします。
wget http://ftp.gnu.org/gnu/gcc/gcc-10.3.0/gcc-10.3.0.tar.gz
tar -xzf gcc-10.3.0.tar.gz
cd gcc-10.3.0
- GCCをビルド
build
ディレクトリを作成して、そこでコンパイルします。
./contrib/download_prerequisites
mkdir build && cd build
../configure --disable-multilib --enable-languages=c,c++
make -j$(nproc)
sudo make install
これで、新しいGCCがインストールされ、/usr/local/bin/gcc
などに配置されます。
3. GCCのバージョンを確認
新しいGCCが正しくインストールされたか確認するには、次のコマンドでバージョンを確認します。
gcc --version
この手順で、新しいGCCをCentOS 6で使用できるようになります。