CentOS 6で新しいバージョンのGCCを使う

CentOS 6で新しいバージョンのGCCを使うための一般的な手順は以下の通りです。

1. Devtoolsetのインストール

CentOS 6ではデフォルトのGCCバージョンが古いです。新しいGCCを使うには、Developer Toolsetをインストールするのが簡単な方法です。devtoolsetは、Red Hat Developer Toolsetの一部で、最新のGCCを提供します。

手順

  1. SCL(Software Collections)のリポジトリをインストール
    SCLは最新のツールセットを提供します。
   sudo yum install centos-release-scl
  1. Devtoolsetのインストール
    次に、GCCの最新版を含むdevtoolsetをインストールします。
   sudo yum install devtoolset-7

devtoolset-7はGCC 7を提供します。他のバージョンを指定したい場合は適宜変更してください。)

  1. GCCを有効にする
    インストールしたGCCを使うには、次のコマンドで環境を変更します。
   scl enable devtoolset-7 bash

これで新しいGCCを使うことができるようになります。現在のシェルセッションのみ有効なので、毎回新しいシェルを開いたときにこのコマンドを実行する必要があります。

  1. 恒久的に新しいGCCを使う
    恒久的に新しいGCCを使いたい場合は、次のようにプロファイルスクリプトに追加します。
   echo "source /opt/rh/devtoolset-7/enable" >> ~/.bash_profile

これで、新しいセッションを開いたときに自動的に新しいGCCが使えるようになります。

2. 手動でGCCをコンパイル・インストール

もし、特定のバージョンのGCCを必要とする場合やDevtoolsetに含まれていないバージョンが欲しい場合は、ソースからGCCをインストールすることもできます。

手順

  1. 依存パッケージのインストール
   sudo yum install gmp-devel mpfr-devel libmpc-devel
  1. 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
  1. 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で使用できるようになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です