2013年2月15日金曜日

Compiled gcc4.7.2

gcc4.7(.2)の環境つくった忘備録

意外と面倒なgccのコンパイル。
最新版のgccであれこれ楽しもう的な。
環境はCentOS 6。
その忘備録。



用意するもの

pplとcloog(cloog-ppl)以外はそれぞれ最新版のソースをもってくる。
pplとcloog(cloog-ppl)はどうもバージョンの指定があり,依存があるらしい。
詳しくはgccのソースを展開してINSTALLディレクトリのドキュメントを参照すればいい。
というか,gccのインストールに必要なことはだいたいそこに書かれいてる。
  • binutils (2.23.1)
  • gmp (5.1.1)
  • mpfr (3.1.1)
  • mpc (1.0)
  • ppl (0.11)
  • cloog / cloog-ppl (cloog-ppl-0.15.11)
  • gcc (4.7.2)

以下全部スーパーユーザで作業します。

1. binutils

# tar zxvf binutils-2.23.1.tar.gz
# cd binutils-2.23.1
# mkdir build; cd build
# ../configure
# make
# make check
# make install


2. GMP

--enable-cxxを付け忘れるとPPLのmakeで痛い目に遭う。
# tar jxvf gmp-5.1.1.tar.bz2
# cd gmp-5.1.1
# mkdir build; cd build
# ../configure --enable-cxx
# make
# make check
# make install
そんでもって,これを忘れてハマった!
環境変数の設定。
# export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
# export LD_RUN_PATH=/usr/local/lib:$LD_RUN_PATH


3. MPFR

# tar jxvf mpfr-3.1.1.tar.bz2
# cd mpfr-3.1.1
# mkdir build; cd build
# ../configure --with-gmp=/usr/local
# make
# make check
# make install


4. MPC

# tar zxvf gmp-1.0.tar.gz
# cd gmp-1.0
# mkdir build; cd build
# ../configure --with-gmp=/usr/local --with-mpfr=/usr/local
# make
# make check
# make install


5. PPL

たしか,多重定義エラーでmakeがこけるので,/usr/local/include/gmpxx.hのほうをコメントアウトで解決する。
# tar zxvf ppl-0.11.tar.gz
# cd ppl-0.11
# mkdir build; cd build
# ../configure --with-gmp-prefix=/usr/local
# make
# make check
# make install


6. cloog / cloog-ppl

# tar zxvf cloog-ppl-0.15.11.tar.gz
# cd cloog-ppl-0.15.11
# mkdir build; cd build
# ../configure  --with-gmp=/usr/local --with-ppl=/usr/local
# make
# make check
# make install


7. GCC

# tar zxvf gcc-4.7.2.tar.gz
# cd gcc-4.7.2
# mkdir build; cd build
# ../configure --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local --with-ppl=/usr/local --with-cloog=/usr/local --program-suffix=-4.7
# make
# make check
# make install


これで
# gcc-4.7 -v
とでもすればうまくいったと確認できる。

0 件のコメント:

コメントを投稿