Posted on 5 月 20, 2010 in プログラミング, 社内 by K.NNo Comments »

前回はビルドの準備で終わったので、今回は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についてと日本語化について。


人気ブログランキングへ

システム開発・ホームページ作成のことなら 創屋株式会社 創屋ぷれす
AWS Amazon EC2/S3 クラウド のことなら 創屋株式会社
データマイニング テキストマイニング のことなら 創屋株式会社

マイマイ(My Mining/マイ マイニング)
議事録作成システム MYNA(マイナ)
【営業エリア】
北陸・東海・関東・近畿
石川県(加賀市・かほく市・金沢市・小松市・珠洲市・羽咋市・白山市・七尾市・能美市・輪島市・川北町・野々市町・津幡町・内灘町・志賀町・宝達志水町・中能登町・穴水町・能登町)
富山県・福井県
岐阜県・愛知県
東京都・神奈川県・千葉県・埼玉県・群馬県
大阪府・兵庫県・京都府・滋賀県・奈良県
Theme by Got Chance and Nitrogen DesignsPowered by Wordpress