最初はお決まりの SDK (Toolchain) のインストールです。CBE の SDK (現在の最新は 1.1) は FC5 指定のようですが、個人的に使用しているのが Momonga なので、出来ればこれでも動くのかトライしてみます。インストールスクリプトを見ると freeglut という FC5 固有のパッケージを要求するようですが、まあ、Toolchain を使用するだけなら glibc のバージョンが同じ (v2.4 系列) なら動くでしょう、、実は SDK 用に買ったデスクトップ PC がまだ届いてないだけだったりするんですが、こっちが届いたら FC5 で環境構築します。
で、実際のインストールですが、ひたすら rpm -ivh するだけでインストールできます (とりあえずはコンパイル環境が整えばいいので、シミュレータ本体と sysroot image はインストールしていません)。
ppu 用 Toolchain のインストール
rpm -ivh ppu-binutils-3.2-4.i686.rpm \
ppu-gcc-3.2-4.i686.rpm ppu-gcc-c++-3.2-4.i686.rpm \
ppu-sysroot-3.2-4.noarch.rpm ppu-sysroot64-3.2-4.noarch.rpm \
ppu-toolchain-debuginfo-3.2-4.i686.rpm
spu 用 Toolchain のインストール
rpm -ivh spu-binutils-3.2-6.i686.rpm \
spu-gcc-3.2-6.i686.rpm spu-gcc-c++-3.2-6.i686.rpm \
spu-newlib-3.2-6.i686.rpm \
spu-toolchain-debuginfo-3.2-6.i686.rpm
xlc Toolchain のインストール
rpm -ivh xlc-cell-cmp-1.1-9.i386.rpm xlc-cell-lib-1.1-9.i386.rpm \
xlcpp-cell-cmp-1.1-9.i386.rpm xlcpp-cell-lib-1.1-9.i386.rpm \
cell-spu-timing-1.1-2.i686.rpm
サンプルソースのインストール
このパッケージは freeglut-devel という OpenGL 関連のパッケージを要求しますが、これがナンなのかは後で調べることにして --nodeps 指定でインストールします。
rpm -ivh --nodeps cell-sdk-lib-samples-1.1-10.noarch.rpm
簡単な動作確認
libspe-1.1.0 がコンパイルできるかどうかで確認しました。といっても展開して make するだけです。libspe は Toolchain の場所を絶対パスで指定しているので make するだけですが、実際は以下のように .bashrc 等にパスを設定しておきます。
export PATH="$PATH:/opt/sce/toolchain-3.2/ppu/bin/"
export PATH="$PATH:/opt/sce/toolchain-3.2/spu/bin/"
export PATH="$PATH:/opt/IBM/cell-sdk-1.1/bin/"
export PATH="$PATH:/opt/ibmcmp/xlc/1.0/bin/"
ちなみに、
glibc-2.3 だと、spu-gdb 以外はインストール (rpm -ivh) はできますが、spu-gcc 実行時に glibc のバージョンで怒られますのであきらめましょう。