#162 Problem compiling faac 1.28

open
nobody
None
5
2014-09-27
2009-11-08
Pierre
No

# make
make all-recursive
make[1]: Entering directory `/tmp/faac-1.28'
Making all in include
make[2]: Entering directory `/tmp/faac-1.28/include'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/faac-1.28/include'
Making all in libfaac
make[2]: Entering directory `/tmp/faac-1.28/libfaac'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/faac-1.28/libfaac'
Making all in common
make[2]: Entering directory `/tmp/faac-1.28/common'
Making all in mp4v2
make[3]: Entering directory `/tmp/faac-1.28/common/mp4v2'
if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -Wall -s -O3 -march=i686 -MT 3gp.o -MD -MP -MF ".deps/3gp.Tpo" -c -o 3gp.o 3gp.cpp; \ then mv -f ".deps/3gp.Tpo" ".deps/3gp.Po"; else rm -f ".deps/3gp.Tpo"; exit 1; fi
In file included from mp4common.h:29,
from 3gp.cpp: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 `/tmp/faac-1.28/common/mp4v2'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/faac-1.28/common'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/faac-1.28'
make: *** [all] Error 2

Discussion


  • Anonymous
    2010-02-02

    I have similar problem in Ubuntu Karmic.

    $ gcc --version
    gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1
    Copyright (C) 2009 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.

    $ g++ --version
    g++ (Ubuntu 4.4.1-4ubuntu9) 4.4.1
    Copyright (C) 2009 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.

     
    Last edit: Anonymous 21 hours ago
  • It's because the bundled mpeg4ip's libmp4v2 doesn't compile anymore with glibc-2.10 and above. The solution is to use mp4v2 1.9.1 from here:

    http://code.google.com/p/mp4v2/

    And then compile faac from trunk against it, or using patch like this against 1.28:

    http://sources.gentoo.org/viewcvs.py/\*checkout*/gentoo-x86/media-libs/faac/files/faac-1.28-external-libmp4v2.patch?rev=1.1

    I'm afraid the bundled libmp4v2 should be updated to 1.9.1 asap, and new release of faac be done so it builds with either internal 1.9.1 or external 1.9.1 (latter preferred)