Installing FAAC on linux, getting errors

Kyle Monti picture Kyle Monti · Dec 1, 2010 · Viewed 12.8k times · Source

I am trying to install FAAC on linux. I'm getting errors.

I use this to install.

cd /usr/src
wget http://sourceforge.net/projects/faac/files/faac-src/faac-1.28/faac-1.28.tar.bz2/download
tar -xvjf faac-1.28.tar.bz2
cd faac-1.28
./configure
make
make install

Once I try to make it, I get the error

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

I read up online and it was saying it was interfearing with something, and I had to locate a file and edit it.

How do i fix this installation so it install properly.

Answer

user502515 picture user502515 · Dec 1, 2010

Remove line 126 containing strcasestr from mpeg4ip.h found in the common/mp4v2 folder, as a temporary workaround. It seems it does not properly exclude its own prototype when it is already included by means of glibc's strcasestr (#define _GNU_SOURCE 1).

BTW: Isn't ffmpeg on the way to have its own AAC code such that faac/faad is no longer needed as a dependency...