創屋ぷれす

Jahshakaビルド環境構築4(ビルド・インストール)

前回はビルドの準備で終わったので、今回はJahshakaのmake、make installまで。

Settings.proのLINUXSUPPORTをtrueにしている場合、追加でavifileパッケージが必要。
YaSTからだとlibc.so.6(GLIBC_2.8)が必要となって大変なので(Suse10.1は2.4)、ソースからインストールすることにします。
ダウンロードはここから
avifile-0.7-0.7.45.tar.bz2をwgetでダウンロードした。

適当な場所に展開してビルドする。
$ cp avifile-0.7-0.7.45.tar.bz2 ~/Desktop/jahshaka_work/
$ cd ~/Desktop/jahshaka_work/
$ tar xzvf avifile-0.7-0.7.45.tar.bz2
ビルドするユーザの権限を忘れると、make時にエラーになるので注意
$ chown -R souya:users avifile-0.7-0.7.45
$ cd avifile-0.7-0.7.45
$ ./configure
$ make

ビルドで、エラーになった。
mp3encoder.cpp:33: error: extra qualificationvi plugins/libmp3lame_audioenc/mp3encoder.cpp 'avm::MP3Encoder::' on member 'MP3Encoder'
make[3]: *** [mp3encoder.lo] エラー 1
make[3]: Leaving directory `/home/takuya/Desktop/jahshaka_work/avifile-0.7-0.7.45/plugins/libmp3lame_audioenc'

エラーの原因はクラスの修飾子が余分についていること。
この記述を削除する。
$ vi plugins/libmp3lame_audioenc/mp3encoder.cpp
public:
//MP3Encoder::MP3Encoder(const CodecInfo& info, const WAVEFORMATEX* format)
MP3Encoder(const CodecInfo& info, const WAVEFORMATEX* format)

修正してビルドが通ったら、suしてから
# su
# make install
avifile.hは
/usr/local/include/avifile-0.7/avifile.h
にインストールされる。

再びjahshakaのビルドディレクトリに戻って
ビルド
$ make
suでインストール
$ su
# make install
これで、/usr/local/bin/jahshakaにバイナリファイルが作成されているはず。
また、/usr/local/share/jahshakaにjahstrage(データの保存先)が作成される。

ちなみにJahshaka起動時にダイナミックリンクするための共有ライブラリ(so)が見つからずに起動できないことがあるので、キャッシュを更新する。
# ldconfig
それでも起動できない時は、configure実行時にprefixを指定した可能性が高いので、config.proの中身を確認。
あとはデバッグするのであれば、./jahshaka debugとするとコンソールにログが出力される。

とりあえず、文字ばかりだけどビルドは完了。
起動してAVIが読み込めるか(コーデックによっては読み込めないものもある)確認してみましょう。
次回は、KDevelopについてと日本語化について。

Comments are closed.