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
これで
とでもすればうまくいったと確認できる。