« Exerb的コネタを一つ | メイン | C70のKMCDを購入された方へのお詫び »

2006年7月23日

FreeBSDでRuby/SDL

なんとなくふと気が向いたのでVirtualPCを使ってFreeBSDをインストールし、そこでRuby/SDLを動かしてみました。

ええ、もちろん試験勉強からの現実逃避ですよ。

orz

試した環境はVirtualPC2004+FreeBSD6.1-RELEASE-i386です。

1,まずXとports、CVSup、 portupgradeが動いている環境にしてください。具体的な作業については各自で調べてください。俺が参考にしたサイトは

FreeBSD 6.0/i386 note
FreeBSD Memo
などです。

2,次にSDL関係をインストールしていきます。


# portinstall sdl12
# portinstall sdl_image
# portinstall sdl_mixir
# portinstall sdl_ttf



これでSDL本体、sdl_mixer、sdl_image、sdl_ttfがインストールされます。この当たりでおそらくfreetype2やらsmpegなどもインストールされると思います。


3,次に、portsにないSGEをインストールします。これが一番大変でした。

最初に取ってきたソースに変更を加えます。具体的にはsge_tt_text.cppにおいて

#include <freetype/freetype.h>

#include <ft2build.h>
#include <FT_FREETYPE_H>

に書き換えます。
次にMakefile.confの中にあるsdl-configを全部sdl11-configに書き換えます。
そして、通常ならここでmakeを使ってインストールするんですが、FreeBSDは特殊なmakeを使っているのでここではgmakeというコマンドで実行します。
最後に/usr/local/include/SDL/の中にいろいろファイルがインストールされていますが、それを /usr/local/include/SDL11/にコピーしてください。


4,次に、音関係のセッティングをします。なぜか初期設定では音のデバイスが見つからなかった(kldstat snd_driverでも何も起こらなかった)のでOSS、Open Sound Systemをインストールします。公式サイト、4Front TechnologiesからFreeBSD6.1を選んでインストールします。デバイス選択画面ではSoundBlaster16(どうやらVirtualPCがそうなってるらしい)を選択し、後は適当に選んで(このあたりよく分かりません)、テストを行うと、おお、確かに音が鳴っている。ちょっと雑音がするけど。
でもって、インストール終わったあとは


#/usr/lib/oss/bin/soundon

で起動しておいてください。


5,やっとここでRuby/SDLのインストールです。これは

#portinstall ruby18-sdl
で終わります。ruby-sdlではないので注意。


6,お疲れさまでした。これでおそらく起動出来ると思います。ちなみに私はこんな画面がでました。
FreeBSDで動くRuby/SDLゲーム
ネタバレ防止の為一部モザイクを書けています、その点はご了承ください。

後、俺の環境では起動時に[Couldn't set audio blocking mode]というエラーが出ます。仕方ないので音関係を全部切って実行するようにしています。

というわけでなんとかFreeBSDでもRuby/SDLが動くようになりました。ただこれ以上はしばらくはFreeBSDにはさわりたくないです。コンパイルだけでものすごく時間かかるのはつらいっす(Firefoxで4時間ぐらい)。

7/25 いろいろ表示がおかしかったので修正

投稿者 mak : 2006年7月23日 02:54

トラックバック

このエントリーのトラックバックURL:
http://sorakaze.net/cgi-bin/blog/mt-tb.cgi/94

コメント

コメントする