Nanashi-softプログラマ専用PS3 Linux SDL


◇PS3 Linux SDLでプログラミング -SDL開発環境のインストール-

○事前準備

実は Fedora Core5にデフォルトで SDLがインストールされています
ですが v1.2.9と古いものです
これを最新に入れ直します

RPMコマンドで簡単に行えます
rpm -e ekiga
rpm -e opal
rpm -e SDL-devel
rpm -e -allmatches SDL

ekiga、opalが必要な人は、SDL最新版を入れてから再インストールする必要があります

○SDLをダウンロード

SDLオフィシャルサイト
http://www.libsdl.org/
このサイト、妙に反応が遅いので、表示されなくても10分ぐらいじっと待ってみて下さい(汗)(2007/8/18現在解消されています)

2007/1/21現在のトップページだと、左のDownloadの下にある SDL 1.2をクリックして、
Source Code:の下にある SDL-1.2.11.tar.gzをクリックする事でダウンロードできます

尚、PS3で X Windowを起動してそのブラウザから行った方が良いです
パソコンでダウンロードしたら、どうやって PS3に持っていこうかと悩む事になります(笑)

○SDLをインストール

普通にtarボールからのインストール手順で行えます
コマンドを羅列すると、以下の通りです
tar zxf SDL-1.2.11.tar.gz
cd SDL-1.2.11
./configure
make
make install

※アドオンCDv1.4では以下のmake時エラーはでません(2007/08/28)

・make時エラー例1
./src/video/fbcon/SDL_fbvideo.c: In function 'FB_VideoInit':
./src/video/fbcon/SDL_fbvideo.c:550 error: 'PAGE_SIZE' undeclared (first use in this function)
./src/video/fbcon/SDL_fbvideo.c:550 error: (Each undexlared identifier is reported only once
./src/video/fbcon/SDL_fbvideo.c:550 error: for each function it appears in.)
make: *** [build/SDL_fbvideo.lo] Error 1

ソースを追いかけると、最終的にページサイズが定義されていない時は4096が代入されていました
SDL_fbvideo.cソースの一番上に、
#define PAGE_SIZE 4096
と書き足して、再びmakeコマンドで続行できました

尚、この数値を変えたい時、例えば 8192に変更したい場合は、
SDL_fbvideo.cに追加した値を変えて
#define PAGE_SIZE 8192
以下のコマンドを発行する事で可能です
make clean
make
make install

・make時エラー例2
/usr/include/linux/input.h:801: error: expected specifier-qualifier-list before 'kernel_ulong_t'
make: *** [build/SDL_sysjoystick.lo] Error 1

どうも、システム上にあるジョイスティックソースに不備があるようです
ググると多くの人が同じ場所でハマっています。修正パッチが当たって欲しいものです

型宣言のエラーのようですので、input.hソースの一番上に
#define kernel_ulong_t unsigned long
と書き足して、再びmakeコマンドで続行できました

・make時エラー例3
/usr/include/linux/input.h:806: error: 'BITS_PER_LONG' undeclared hare (not in a function)
make: *** [build/SDL_sysjoystick.lo] Error 1

ソースを見ると、BITS_PER_LONGは 32か 64のようです
input.hソースの一番上に
#define BITS_PER_LONG 32
と書き足して、再びmakeコマンドで続行できました


TOPプログラマ専用PS3 Linux SDL

魔女っ子のヘアバンドポンチョっ娘