it-swarm-ja.com

GCCの別のバージョンを提供するための推奨される方法は?

私はデフォルトでGCC5.3.1をインストールするFedora23を使用しています。

GCC 4.9でコンパイルされたライブラリを使用したクロスコンパイルプロジェクトの場合、GCC4.9を並行してインストールしたいと思います。

This (非常に古い)投稿では、GCC 3.8でこれを行う方法について説明し、他のバージョンを最初から作成することをお勧めします。

今では3年後です-インストールされたGCC5.3と並行して使用できる別のディレクトリ(パッケージマネージャーを使用)で古いバージョンのGCCを提供する方法はありますか?

6
frans

これは[〜#〜]ではありません[〜#〜]GCC 4.9を構築して使用する方法を示しているだけなので、私の質問に対する答えです。これはFedora23で動作します(そしておそらく他のプラットフォームでも動作します)。出荷されたものとは別のバージョンのGCCでコンパイルするために私がしなければならなかったステップのコンパイルだけです。

示されている手順は、 ここ から取得されます。

  • http://www.gnu.org/software/gcc/mirrors.html から適切なアーカイブを検索してダウンロードし、抽出します。

    wget ftp://ftp.fu-berlin.de/unix/languages/gcc/releases/gcc-4.9.3/gcc-4.9.3.tar.bz2
    mkdir src; cd src
    tar xf ../gcc-4.9.3.tar.bz2
    
  • ダウンロードの前提条件:

    cd gcc-4.9.3
    ./contrib/download_prerequisites
    
  • ビルドを構成します(add --disable-multilib 32ビットビルドが必要ない場合は、インストールを設定します-prefix、言語の追加/削除):

    mkdir ../objdir; cd ../objdir
    ../gcc-4.9.3/configure \
        --prefix=`pwd`/../../gcc-4.9.3-x86_64 \
        --enable-languages=c,c++ \
        --disable-multilib
    
  • 実際にGCCをビルドしてインストールします。

    make -j4
    make install
    

CCまたはCXXを実行する前に、make(おそらくcmake)を設定するだけで、この新しいコンパイラを使用できるようになりました。

export CC=</installation/path/to/gcc>/bin/gcc
make .

または

CC=</installation/path/to/gcc>/bin/gcc cmake <path>
8
frans