SummerWind

Web, Photography, Space Development

VLCを自前でビルドする

気づいたら1ヶ月近くも更新していなくてびっくりです。さて、最近VLCを自前でビルドする必要があったのですが、こいつがまた面倒な作業だったので、ビルド方法をメモ。

ビルドに必要なモノといえば、まずはソースコードなので、VLCのサイトからダウンロードします。今日の時点で最新版は 0.8.6h になります。ビルド作業は、まず必要なライブラリをコンパイルして、その後にVLC本体をビルドするという流れです。ソースコードには、必要なライブラリを自動的にダウンロードしてきてコンパイルしてくれるスクリプトが含まれているので、まずはこいつを使います。

では、早速スクリプトを使ってライブラリの用意を….といきたいところですが、現時点(0.8.6h)ではLeopard + Xcode 3.0の組み合わせだとうまくコンパイルが通りません。Leopard上でXcode 2.5を無理矢理使うとコンパイルできそうですが、ここは素直にTIger + Xcode 2.5の組み合わせを使うことにします。というわけで、手元のMacBookの空きパーティションにTigerをインストールして、ようやくライブラリのコンパイル開始です。ライブラリのコンパイルは、Terminal上でソースディレクトリに移動してから、以下のようにコマンドを実行します。

$ cd ./extras/contrib
$ ./bootstrap
$ make

途中、/usr/share/libtool がないと怒られたので /Developer/usr/share/ にlibtoolディレクトリを探しにいったのですが、見つからなかったのでLeopardパーティションから強引にコピーしました。また、libdvdread.dylib もないと怒られたので、VLCのバイナリからコピーして続行。

エラーなくライブラリ群のコンパイルが終わったら、次はVLC本体をビルドします。ビルドはTerminalでソースディレクトリの直下に移動してから、以下のようにコマンドを実行します。

$ ./bootstrap
$ ./configure --enable-debug --disable-x11 --disable-xvideo \
--disable-glx --enable-sdl --enable-mad --enable-libdvbpsi \
--enable-a52 --disable-dvdplay --disable-dvdnav \
--disable-dvdread --enable-ffmpeg --enable-faad \
--enable-flac --enable-vorbis --enable-speex \
--enable-theora --enable-ogg --enable-shout \
--enable-cddb --disable-cddax --enable-vcdx \
--disable-skins --disable-skins2 --disable-wxwidgets \
--enable-freetype --enable-fribidi --enable-caca \
--enable-live555 --enable-dca --enable-goom \
--enable-modplug --enable-gnutls --enable-daap \
--enable-ncurses --enable-libtwolame --enable-x264 \
--enable-png --enable-realrtsp --enable-lua --disable-libtool
$ make

ライブラリ群のコンパイル時にエラーが出たからか、libdvdreadがうまく読み込めないようだったので、configure時にdisableにしました。最後のmakeが完了すれば、VLC.appがソースディレクトリに生成されて完成です。ただ、ここで生成されるバイナリはUniversal Binaryではないので、UBにしたい場合はIntelとPPCの両方でコンパイルして、lipoコマンドでUB化する必要があるようです。あーめんどくさい。

Moto Ishizawa

Moto Ishizawa
ソフトウェアエンジニア。ロケットの打上げを見学するために、たびたびフロリダや種子島にでかけるなど、宇宙開発分野のファンでもある。