YDL5にCell SDK 2.1をインストール
YDL5のインストールが終わったので、次はPS3 LinuxにIBMが配布しているCell SDK 2.1をインストールします。例によって、インストールの方法はフィックスターズさんのwebページを参考にしています。それではインストールの概要と実際にやってみて気がついた点を下記に示します。
ご注意:下記のインストール手順は一発でできたわけではなく、パッケージダウンロードの不調やインストールパッケージの競合など、インストール中に発生した問題をクリアするための試行錯誤を行ってインストールを完了した後に、最短手番でインストールするための手順を再整理したものです。再度下記の手順でインストールをやり直して手順の正常性を確認したわけではありません。そのため、下記手順でインストールした際に、何らかの問題が発生した場合はご容赦下さい。
(2007/5/5追記) Fedora Core 6 (FC6) をPS3にインストールの追記に記載した通り、アドオンCD20070425バージョンを使用すればFC6のインストールが可能になります。私が使用したYDL5はSDK 1.1を前提にしており、SDK 2.1のインストールには適しません(記事に示すように、glibcの入れ替えなど無理をしています)。そのため、これからSDK 2.1をインストールされる方はFC6上にインストールされることをお勧めします。
SDK 1.1の削除
私が使用しているYellow Dog Linux 5.0 (YDL5) では、デフォルトでCell SDK 1.1が導入されていますが最新のSDK 2.1をインストールするために、先ずは以下の操作でSDK 1.1を削除します。
- GNOME Desktopにrootでログインして、アプリケーションメニュー → Add/Remove Softwareからパッケージマネージャを起動します
- Base System → Cell Libraries、開発 → Cell SDKのチェックマークを取り消して更新を実行
私の環境では、一部のパッケージが削除されずに残ってしまいました。SDK 2.1のパッケージをインストールする際にエラーになってしまうため、以下のようにマニュアル操作で削除しておきます。
# rpm -qa | grep spu
spu-newlib-3.3-73
spu-binutils-2.17.50-8
上記のspuライブラリーが残っているため削除します。
# rpm -ev spu-newlib-3.3-73 spu-binutils-2.17.50-8
glibcの強制アップデート
Cell SDK2.1はFedora Core6 (FC6) にインストールすることを前提にしているため、FC5ベースのYDL5にインストールすると、一部のパッケージでglibcとの依存性チェックでエラーになってしまいインストールができません。ちなみに、以下のようなエラーが発生します。
# rpm -ivh ppu-binutils-2.17.50-8.ppc.rpm
エラー: 依存性の欠如:
rtld(GNU_HASH) は ppu-binutils-2.17.50-8.ppc に必要とされています
そのためFC6をインストールしようとして玉砕したのは前回述べたとおりです。しかたがないので、YDL5にFC6に添付のglibcを強制的にインストールします。FC5のUpdate配布サイトから以下のモジュールをダウンロードして適当なディレクトリに格納します(2007/5/3時点の最新モジュールです)。
・glibc-2.5-10.fc6.ppc.rpm
・glibc-2.5-10.fc6.ppc64.rpm
・glibc-common-2.5-10.fc6.ppc.rpm
・glibc-devel-2.5-10.fc6.ppc.rpm
・glibc-devel-2.5-10.fc6.ppc64.rpm
・glibc-headers-2.5-10.fc6.ppc.rpm
次に、以下のコマンドで強制インストールします
#rpm -Uhv glibc* --nodeps --force
インストールが終わったら、以下のコマンドでアップデートの状態をチェックします。
# rpm -qa | grep glibc
glibc-headers-2.5-10.fc6
glibc-common-2.4-11.ydl.1
glibc-2.5-10.fc6
glibc-devel-2.5-10.fc6
glibc-kernheaders-3.0-5.2
glibc-devel-2.5-10.fc6
glibc-2.5-10.fc6
glibc-common-2.5-10.fc6
glibc-common-2.4-11.ydl.1だけ、なぜかYDLのパッケージが残っています。glibc-common-2.5-10.fc6で置き換えられるべきだと思うので、以下のコマンドで削除してしまいます。
# rpm -ev glibc-common-2.4-11.ydl.1
glibc-kernheaders-3.0-5.2はFC6で置き換えるべきモジュールが存在しないため、削除せずそのままにしておきます。
ここまで終わったら念のためにシステムをreload。動作保証外の荒技になると思いますが、今のところはこの処置で動いています。
(2007/5/5更新) glibc-kernheaders-3.0-5.モジュールは、YDL5に含まれるモジュールです。YDL5のインストールでは使用しませんが、FC5をインストールする際に必要となるアドオンCDには、PS3専用のglibc-kernheaders2.6.16-20061207が入っています。PS3用のYDL5に入っているモジュールなので、アドオンCDとバージョンが異なりますがそのままとしておきます。また、yum updateによってPS3 linux専用のモジュールが勝手に更新されないように以下の設定を/etc/yum.confに加えました。
exclude=kernel-*, glibc-kernheaders-*, kernel-headers-*, kexec-tools-*, spu-*
SDK 2.1インストールに必用なパッケージ
先ずIBMが配布しているCellSDK21.isoをダウンロードします。ダウンロードにはアカウント登録が必用です。上記のisoイメージの他に、SPUコンパイラなどは、バルセロナスーパーコンピュータセンタ(BSC)のLinux on Cellのサイトからダウンロードします。
SDK2.1のisoイメージにインストールスクリプトが収録されており、インストールスクリプトを実行するとBSCから必用なパッケージを自動的にダウンロードします。ただし、BSCのサーバー負荷が高いようで、ダウンロードが途中で止まってしまうことが度々ありました。そのため、必用なパッケージを事前にダウンロードして、マニュアル (rpm -ivh パッケージ名) でインストールするのがよいと思われます。また、インストールスクリプトはCellのシミュレーターもインストールするようになっていますが、PS3ではメモリー不足のため動作しないと思うためインストールの対象外にします。Cellシミュレーターは別途インストールするPC Linux上でのクロス開発環境で使用します。
それでは、以下のパッケージをインストールします。必用なパッケージを/tmp/cellsdk-2.1ディレクトリーにコピーしておいて、rpm -ivh * コマンドを使用してひとまとめにインストールします。
<BSCからダウンロードするパッケージ>
・GNU Toolchain for SPU
spu-binutils-2.17.50-8.ppc.rpm
spu-gcc-4.1.1-9.ppc.rpm
spu-gcc-c++-4.1.1-9.ppc.rpm
spu-gdb-6.6-12.i686.rpm
spu-newlib-1.15.0-7.ppc.rpm
・SPE Runtime Lib v1.2 (deprecated)
libspe-1.2.2-0.ppc64.rpm
libspe-1.2.2-0.ppc.rpm
libspe-devel-1.2.2-0.ppc64.rpm
libspe-devel-1.2.2-0.ppc.rpm
・SPE Runtime Lib v2.1
elfspe2-2.1.0-0.ppc.rpm
libspe2-2.1.0-0.ppc64.rpm
libspe2-2.1.0-0.ppc.rpm
libspe2-devel-2.1.0-0.ppc64.rpm
libspe2-devel-2.1.0-0.ppc.rpm
<SDK2.1のisoイメージに添付>
・SIMD math library
simdmath-2.1-1.ppc.rpm
simdman-2.1-1.noarch.rpm
spu-simdmath-2.1-1.ppc.rpm
・MASS library
ppu-mass.lib-4.4.0-20.ppc64.rpm
ppu-mass.lib-4.4.0-20.ppc.rpm
spu-mass.lib-4.4.0-20.ppc.rpm
・Prototype libraries and samples package
cell-sdk-lib-samples-2.1-2.noarch.rpm
・ALF library
cell-alf-2.1-2.noarch.rpm
・Tool
cell-spu-timing-2.1-1.ppc.rpm
fdprpro-5.4.0-8.ppc.rpm
GNU Toolchain for PPUはYDL5のデフォルトでインストールされるモジュールをそのまま使います。
パッケージのインストールが完了したら、SDK2.1 isoイメージの/sofware/cellsdk をPS3 Linuxの/opt/ibm/cell-sdk/prototype にコピーし、以下のコマンドを実行します。
# /opt/ibm/cell-sdk/prototype/cellsdk verify
IBM Cell System Simulator:
systemsim-cell-2.1-10.ppc64 ... missing
Cell System Simulator System Image:
sysroot_image-2.1-8.noarch ... missing
GNU Compiler Toolchain:
spu-newlib-1.15.0-7.ppc ... found
spu-gcc-c++-4.1.1-9.ppc ... found
spu-gcc-4.1.1-9.ppc ... found
spu-binutils-2.17.50-8.ppc ... found
spu-gdb-6.6-12.ppc ... found
ppu-gcc-c++-4.1.1-10.ppc ... found
ppu-gcc-4.1.1-10.ppc ... found
ppu-gdb-6.6-15.ppc ... found
ppu-binutils-2.17.50-8.ppc ... found
IBM XL C/C++ Compilers:
xlc.lib-8.2.0-20.ppc64 ... missing
xlc.cmp-8.2.0-20.ppc64 ... missing
xlcpp.lib-8.2.0-20.ppc64 ... missing
xlcpp.cmp-8.2.0-20.ppc64 ... missing
xlcpp.help-8.2.0-20.ppc64 ... missing
IBM Cell Prototype Libraries and Samples:
cell-sdk-lib-samples-2.1-2.noarch ... found
cell-alf-2.1-2.noarch ... found
Cell Libraries:
libspe2-2.1.0-0.ppc ... found
libspe2-devel-2.1.0-0.ppc ... found
libspe-1.2.2-0.ppc ... found
libspe-devel-1.2.2-0.ppc ... found
libspe2man-2.1.0-1.noarch ... found
simdmath-2.1-1.ppc ... found
simdman-2.1-1.noarch ... found
ppu-mass.lib-4.4.0-20.ppc ... found
spu-mass.lib-4.4.0-20.ppc ... found
spu-simdmath-2.1-1.ppc ... found
libspe2-2.1.0-0.ppc64 ... found
libspe2-devel-2.1.0-0.ppc64 ... found
libspe-1.2.2-0.ppc64 ... found
libspe-devel-1.2.2-0.ppc64 ... found
ppu-mass.lib-4.4.0-20.ppc64 ... found
Cell FDPR-PRO Utility:
fdprpro-5.4.0-8_20070226.ppc ... found
IBM Cell SPU Timing Utility:
cell-spu-timing-2.1-1.ppc ... found
INSTALLATION SUMMARY
==============================================================================
IBM Cell System Simulator : Not Installed (0 of 1 found)
Cell System Simulator System Image : Not Installed (0 of 1 found)
GNU Compiler Toolchain : Installed (9 of 9 found)
IBM XL C/C++ Compilers : Not Installed (0 of 5 found)
IBM Cell Prototype Libraries and Samples: Installed (2 of 2 found)
Cell Libraries : Installed (15 of 15 found)
Cell FDPR-PRO Utility : Installed (1 of 1 found)
IBM Cell SPU Timing Utility : Installed (1 of 1 found)
Cell System SimulatorとIBM XL C/C++ Compilersはインストールしていませんので、それ以外がInstalledと表示されればインストール完了です。
動作テスト
SDK付属のsampleプログラムをビルドしてみます。以下のコマンドを入力してエラーが発生せずビルドが終了すれば動作OKです。
# /opt/ibm/cell-sdk/prototype/cellsdk build
長々と手順を記載しましたが、これで最新のCell開発環境がインストールできました。これだけの開発環境が無償で手にはいるのはすばらしいことです。また、SDKのisoイメージでは膨大な量のドキュメントが収録されいます(全部英語ですが、、)。
« Yellow Dog Linux 5.0 (YDL5) をPS3にインストール | トップページ | PC LinuxにCell SDK2.1をインストールする »
「Linux」カテゴリの記事
- Ubuntu 10.04をVMware Player 3.1で動かす(2010.07.11)
- Fedora 11にCellクロス開発環境(SDK 3.1)をインストール(2009.09.18)
- Fedora 9でのサウンド設定(2008.12.23)
- Cell SDK 3.1のインストール(2008.11.23)
- Cell SDK 3.0のアップデート(2008.06.01)
コメント
この記事へのコメントは終了しました。
« Yellow Dog Linux 5.0 (YDL5) をPS3にインストール | トップページ | PC LinuxにCell SDK2.1をインストールする »
通りすがりのものです。
CellSDK インストールする時のTIPSをば。
"cellsdk" インストールスクリプトの直下にすべての rpm を保存しておけば /tmp/cellsdk-2.1 でなくても大丈夫ですよ。
それから、i686 と ppc(64) のrpm も混在して
保存しておいて、ネットワーク共有させておけば、x86 Linux / PS3 Linux の両方にインストールできます。
私はなんどもCellSDKをインストールするので、
この方法を使ってます。
投稿: とおりすがり | 2007年5月12日 (土) 17時55分
通りすがりさん、コメントありがとうございました。
こういう方法があるのですね。PS3 LinuxはいつかFC6に更新したいと思っていますので次は教えていただいた方法を試してみます。
投稿: Todotani | 2007年5月13日 (日) 18時39分