Google-code-prettify

2007/08/12

VineでWMVファイルを観る

Vine Linux 4.1でWMVファイルを観ようかと思い、VLCをインストールしました。

最初はこちらからvlc-0.8.6c-1.rf.src.rpmを取得してリビルドしようとしたのですが、未解決の依存関係が凄すぎてリビルド出来ません。

$ rpmbuild --rebuild vlc-0.8.6c-1.rf.src.rpm
vlc-0.8.6c-1.rf.src.rpm をインストール中です。
警告: InstallSourcePackage: ヘッダ V3 DSA 署名: NOKEY, key ID 6b8d79e6

〜 略 〜

エラー: ビルド依存性の失敗:
libtar-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libGLU-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libXt-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libXv-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libXinerama-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libXxf86vm-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libdvdread-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libdvdnav-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libdvbpsi-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libebml-devel >= 0.7.6 は vlc-0.8.6c-1.rf.i386 に必要とされています
libmatroska-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libmodplug-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libid3tag-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
lame-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
faac-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
faad2-devel >= 2.5 は vlc-0.8.6c-1.rf.i386 に必要とされています
a52dec-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
flac-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
mpeg2dec-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
speex-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libtheora-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
x264-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
SDL-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
SDL_image-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
fribidi-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
aalib-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libcaca-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
wxGTK-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
xosd-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
lirc-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libcdio-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
vcdimager-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libopendaap-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libupnp-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
hal-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libmpcdec-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libcddb-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libdca-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
jack-audio-connection-kit-devel は vlc-0.8.6c-1.rf.i386 に必要とされています
libsysfs-devel は vlc-0.8.6c-1.rf.i386 に必要とされています

vlc-0.8.6c-1.rf.src.rpmのSPECファイルを基に上記のエラーが出る依存関係を修正しようかとも思ったのですが、本当に必要な依存関係とそうでは無いものとの区別が出来ませんでした。

今回はvlc-0.8.6c-1.rf.src.rpmからソース(vlc-0.8.6c.tar.bz2)を取り出し、configureやmake時にエラーが出れば必要な依存関係をインストールしながらSPECファイルを作成してコンパイルすることにしました。

./configureなどで出るエラーに対処したりしながら、今回自分でRPMファイルを作成しインストールしたのは下記の通りです。
インストールした順番に列挙します
ffmpeg-export_2007_08_11-ta1.i386.rpm
(http://ffmpeg.mplayerhq.hu/)

mpeg2dec-0.4.1-ta1.i386.rpm
(http://libmpeg2.sourceforge.net/)

fribidi-0.10.9-ta1.i386.rpm
(http://fribidi.freedesktop.org/wiki/)

wxGTK-2.8.4-ta1.i386.rpm
(http://www.wxwidgets.org/)

vlc-0.8.6c-ta5.i386.rpm
(http://dag.wieers.com/rpm/packages/vlc/)


各RPMパッケージ作成時のconfigureオプションは下記の通りです。
$ grep -H configure *.*
ffmpeg.spec:./configure --prefix=/usr --enable-gpl --enable-pp
fribidi.spec:./configure --prefix=/usr
mpeg2dec.spec:./configure --prefix=/usr
vlc.spec:./configure --prefix=/usr --enable-wxwidgets
wxGTK.spec:./configure --prefix=/usr
fribidi-0.10.9はmake時にfreetype関連のエラーが出たためインストールしました。
(ログを取っておくのを忘れました・・・)


wxWidgetsに関しては、Vine Linux 4.1にはwx-gtk2というパッケージが用意されています。
当初はwxGTK-2.8.4をインストールせずに標準のwx-gtk2でVLCをコンパイルしたのですが、wxvlc起動時にセグメンテーションフォルトを起こしてしまいました。

そこで例にwxGTK-2.8.4をインストール後VLCを作成し直したところ、問題なく起動するようになりました。


現段階ではwxvlc実行時にLANG=Cなどの指定をしないとメニューが文字化けしてしまいます。
$ LANG=C wxvlc &

たぶんFAQなんでしょうけど。

0 件のコメント: