前回に引き続き faac 1.25 に再挑戦

体調悪くて食べられなかったケーキ

どうにも訳の分からないエラーが出て途方に暮れていた faac 1.25 のインストール。泣きながらググった。ふらふらとサイトを渡り歩いていると…見つけたよ! なんだよ、そんなことだったのかよ!

というわけで、ココに原因は書いてあった。なんと改行コードが DOS になっているのだそうだ。マジかよ!てっきり基本は unixって状況だと思ってたよ。./bootstrap でいきなり起動しないのもこれで納得。ってか、そこで気が付くべきだったんだろうか…。
このページにフォルダの中のファイルの改行コードを一気に unix に変換してくれるスクリプトがあったので、せっかくだからこれを利用して faac フォルダの中のファイルの改行コードを一気に変換しちゃいましょう。(変換するスクリプトはとりあえず dos2unix というファイル名にしといた)

paraches@debian:~/myTest/codec/faac$ ls
dos2unix  faac  faac-1.25.tar.gz
paraches@debian:~/myTest/codec/faac$ ./dos2unix faac

と、さっくり変換が終わると…あれ? パーミッションが全部なんでもないファイル(なんだそりゃ?)になっちゃってる。う〜ん、最初いくつかのファイルは緑色で表示されてたんだけどな〜。少なくとも bootstrap は緑色だった。で、ちょっと前の画面で調べてみると結構いろいろなファイルが緑色。でも、README とか INSTALL とかは別にどうでも良い感じ。というわけで、bootstrap, configure.in, Makefile.am の3つを緑色に戻しておいた。この3つにした理由は最低この3つの改行コードを unix にしとけば大丈夫って書いてあるサイトがあったから。(改行コードと緑色は関係ないけど…)

paraches@debian:~/myTest/codec/faac/faac$ sudo chmod 777 bootstrap 
paraches@debian:~/myTest/codec/faac/faac$ sudo chmod 777 configure.in 
paraches@debian:~/myTest/codec/faac/faac$ sudo chmod 777 Makefile.am

で、準備も整ったので作業を開始!

paraches@debian:~/myTest/codec/faac/faac$ ./bootstrap
configure.in:10: warning: underquoted definition of MY_DEFINE
  run info '(automake)Extending aclocal'
  or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
aclocal:configure.in:16: warning: macro `AM_PROG_LIBTOOL' not found in library
./bootstrap: line 8: libtoolize: command not found
configure.in: installing `./install-sh'
configure.in: installing `./missing'
common/mp4v2/Makefile.am:5: Libtool library used but `LIBTOOL' is undefined
common/mp4v2/Makefile.am:5: 
common/mp4v2/Makefile.am:5: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
common/mp4v2/Makefile.am:5: to `configure.in' and run `aclocal' and `autoconf' again.
common/mp4v2/Makefile.am: installing `./depcomp'
libfaac/Makefile.am:1: Libtool library used but `LIBTOOL' is undefined
libfaac/Makefile.am:1: 
libfaac/Makefile.am:1: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
libfaac/Makefile.am:1: to `configure.in' and run `aclocal' and `autoconf' again.
configure.in:16: error: possibly undefined macro: AM_PROG_LIBTOOL
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
paraches@debian:~/myTest/codec/faac/faac$ 

ん? いきなり warning ですか? MY_DEFINE の定義がおかしい?みたいな?
おかしいな〜。実は PowerMac G4 の Debian で試す前に MacBook で試していたんだけど、その時にはこんなワーニング出なかったんだけど…。どうしてよ?
とりあえずhttp://sources.redhat.com/automake/automake.html#Extending-aclocalを見ろとのことなので見てみよう…。
なるほど〜。automake 1.8 以降ではちょっと書式が変わってるって話ね。となると、PowerMac G4 の debian は新しくて、MacBook のは古かったってこと? 確認してみよう。まずは debian から。

paraches@debian:~/myTest/codec/faac/faac$ automake --version
automake (GNU automake) 1.9.5
Written by Tom Tromey <tromey@redhat.com>.

Copyright 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
paraches@debian:~/myTest/codec/faac/faac$ 

なるほど、バージョンは 1.9.5 だ。
次は MacBook の方

macBook:~ paraches$ automake --version
automake (GNU automake) 1.6.3
Written by Tom Tromey <tromey@redhat.com>.

Copyright 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
macBook:~ paraches$ 

をを!こっちは 1.6.3 で古い! だからワーニング無しなのね。
ま、ワーニングだからそのまま放っておいても良さそうだけど、気持ちも悪いのでちょっと書き換えてみよう。でも、書式なんてわからんし、サンプルからの類推で適当にやるしかない…

AC_DEFUN([MY_DEFINE], [ AC_DEFINE($1, 1, [define if needed]) ])

configure.in の 10行目、MY_DEFINE を鍵括弧で括っておいた。これで良いのかどうかはわからないけど、ココ見るかぎりでは良いんでないかな?

というわけで、今回はここまで。