CbC環境設定(PS3)

CbC環境設定(PS3)

[ホーム]

# CbC環境設定(PS3)

PS3上にCbCの環境を構築したので作業ログを書いとく。

今回インストールしたCbCに使われているgccのバージョンは4.5となる。 ~one/hg/CbC/CbC_devel/ のリビジョン67:b362627d71baである。

ちなみに今回環境を構築したのはdolphinsになる。dolphinsの

1
/opt/cbc/bin

にpathを通してくれればcbc-gccが使えるようになる。

1
2
3
[root@dolphins]~# ls /opt/cbc/bin
cbc-cpp-4.5  cbc-gccbug-4.5  powerpc64-unknown-linux-gnu-cbc-gcc-4.5
cbc-gcc-4.5  cbc-gcov-4.5    powerpc64-unknown-linux-gnu-gcc-4.5.0

# gmp,mpfr,mpcのインストール

gmp,mpfr,mpcをインストールする。ソースは公式ページからとってくること。 /usr/localを汚すのも忍びないのでホームディレクトリ直下にoptディレクトリをつくってそこにいれる。 また今回、$HOME/opt 以下にsrcディレクトリをつくってそこにソース関連はおいて作業を行った。

1
2
3
# cd $HOME
# mkdir opt
# mkdir opt/src

インストールする順番はgmp -> mpfr -> mpc の順でいれる。ここで注意なのが、32bitでいれないといけないこと。本当厄介。

1
2
3
4
5
# cd gmp-5.0.1
# ./configure --prefix=$HOME/opt ABI='32'
# make >& make.log &
# tail -f make.log
#make install
1
2
3
4
5
# cd mpfr-3.0.0
# ./configure --prefix=$HOME/opt ABI='32' --with-gmp=$HOME/opt 
# make >& make.log &
# tail -f make.log
#make install
1
2
3
4
5
# cd mpc-0.8.2 
# ./configure --prefix=$HOME/opt ABI='32' --with-gmp=$HOME/opt  --with-mpfr=$HOME/opt
# make >& make.log &
# tail -f make.log
#make install

# CbCのインストール

後はCbCをインストールするだけ、/opt 以下に cbc というディレクトリをつくってそこに入れることにした。CbCは hg clone してとってくる。option色々付けるので気をつけてね。

1
2
3
4
5
6
7
# mkdir /opt/cbc
# cd $HOME
# cd opt/src
# hg clone ssh://one@firefly.cr.ie.u-ryukyu.ac.jp//home/one/hg/CbC/CbC_devel
# mkdir build-cbc
# cd build-cbc
# ../CbC_devel/configure --disable-bootstrap --enable-languages=c --enable-checking=tree,rtl,assert,types -program-prefix=cbc- --prefix=/opt/cbc CFLAGS="-g3 -O0" --with-gmp=$HOME/opt --with-mpfr=$HOME/opt --with-mpc=$HOME/opt --program-suffix=-4.5 CC='gcc -m32'

次に、できたMakefileの最適化をきってデバッグオプションをつける。 Makefile覗いたら最適化オプションついてるのは以下の4つ

1
2
3
4
CFLAGS_FOR_TARGET='-O2 -g3 -O0'
CXXFLAGS='-g -O2'
CXXFLAGS_FOR_BUILD='-g -O2'
CXXFLAGS_FOR_TARGET='-g -O2'

O2 は O0 に、g は g3 に変更

1
2
3
4
CFLAGS_FOR_TARGET='-O0 -g3 -O0'
CXXFLAGS='-g3 -O0'
CXXFLAGS_FOR_BUILD='-g3 -O0'
CXXFLAGS_FOR_TARGET='-g3 -O0'

(実はそれぞれのフラグの意味は知らない)

後はmakeするだけ、だけどその前に、LD_LIBRARY_PATHには$HOME/optのlibを指定しておく。これをしてないと/usr/loca/libをみにいくから。 make する前にexportして設定すること。

1
2
3
# export LD_LIBRARY_PATH=$HOME/opt/lib
# make >& make.log &
# tail -f make.log

makeが終われば後はinstallするだけである。

1
# make install

/opt/cbc/bin にpathを通すことも忘れないように。

# エラー

1
/opt/cbc/libexec/gcc/powerpc64-unknown-linux-gnu/4.5.0/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory

といったエラーがでる。mpc を /root/opt/ 以下に作成したからそこのライブラリをみるようにしないといけない。

1
export LD_LIBRARY_PATY=/root/opt/lib

すればいいけどこれじゃrootしか使えないよね。 うん、ちょっとミスった

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy