【自分用メモ】faacのコンパイルでエラー

自分用メモ。Debianでfaac-1.28をコンパイルしてたらエラーが出た。

mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’
/usr/include/string.h:367: error: ambiguates old declaration ‘const char* strcasestr(const char*, const char*)’
make[3]: *** [3gp.o] Error 1
make[3]: Leaving directory `/home/kouji/usr/local/src/faac-1.28/common/mp4v2'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/kouji/usr/local/src/faac-1.28/common'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/kouji/usr/local/src/faac-1.28'

調べてみるとstrcasestr(const char*, const char*)はstring.hで定義されていて、特別必要なさそうなんで該当部分をコメント。今後同じようにコンパイルする時面倒なんでパッチ化。ついでにコピペ用の手順も残しておく。

http://blog.nogisawa.net/wp-content/uploads/2012/08/faac-1.28-mpeg4ip.20120808.patch_.txt

wget http://downloads.sourceforge.net/faac/faac-1.28.tar.gz
tar zvxf faac-1.28.tar.gz
cd faac-1.28
wget http://blog.nogisawa.net/wp-content/uploads/2012/08/faac-1.28-mpeg4ip.20120808.patch_.txt
patch -p0 < faac-1.28-mpeg4ip.20120808.patch_.txt
./configure --prefix=/usr/local
make
make install
cd ..

ついでなんでfaadも。こちらはエラーは出ず。

wget http://downloads.sourceforge.net/faac/faad2-2.7.tar.gz
tar zvxf faad2-2.7.tar.gz
cd faad2-2.7
./configure --prefix=/usr/local
make
make install
cd ..

以上。

コメントを残す