Menu

#152 Error during make

open
nobody
Cinelerra (81)
5
2014-08-18
2010-02-02
Anonymous
No

Error is here:
in directory: quicktime

make -C thirdparty/faad2-2.0 && \
mkdir -p i686/faad/ && \
cd i686/faad/ && \
ar x ../../thirdparty/faad2-2.0/libfaad/.libs/libfaad.a
make[1]: Entering directory `/tmp/cinelerra-4.1/quicktime/thirdparty/faad2-2.0'
make all-recursive
make[2]: Entering directory `/tmp/cinelerra-4.1/quicktime/thirdparty/faad2-2.0'
Making all in libfaad
make[3]: Entering directory `/tmp/cinelerra-4.1/quicktime/thirdparty/faad2-2.0/libfaad'
make[4]: Entering directory `/tmp/cinelerra-4.1/quicktime/thirdparty/faad2-2.0'
make[4]: Leaving directory `/tmp/cinelerra-4.1/quicktime/thirdparty/faad2-2.0'
if /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT bits.lo -MD -MP -MF ".deps/bits.Tpo" -c -o bits.lo bits.c; \
then mv -f ".deps/bits.Tpo" ".deps/bits.Plo"; else rm -f ".deps/bits.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I. -I.. -g -O2 -MT bits.lo -MD -MP -MF .deps/bits.Tpo -c bits.c -fPIC -DPIC -o .libs/bits.o
In file included from /usr/include/math.h:95,
from common.h:348,
from bits.c:29:
/usr/include/bits/mathcalls.h:326: error: conflicting types for 'lrintf'
common.h:313: note: previous definition of 'lrintf' was here
make[3]: *** [bits.lo] Error 1
make[3]: Leaving directory `/tmp/cinelerra-4.1/quicktime/thirdparty/faad2-2.0/libfaad'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/cinelerra-4.1/quicktime/thirdparty/faad2-2.0'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/tmp/cinelerra-4.1/quicktime/thirdparty/faad2-2.0'
make: *** [i686/faad] Error 2

System info: Fedora 12 i686
E-mail: cndr -at- seznam -dot- cz

Jarda

Discussion

  • Werner Macho

    Werner Macho - 2010-10-21

    same problem here working on ubuntu lucid lynx ..
    Any suggestions on that?

     
  • roman

    roman - 2010-11-18

    hi there,
    same problem over here, using Fedora 11, gcc version 4.4.1 20090725 (Red Hat 4.4.1-2) (GCC), Cinelerra 4.2 sourcecode (just downloaded.

    the conflicting code looks like this:

    cinelerra-4.2/quicktime/thirdparty/faad2-2.0/libfaad/common.h:
    ...
    #elif (defined(__i386__) && defined(__GNUC__))
    #define HAS_LRINTF
    // from http://www.stereopsis.com/FPU.html
    static INLINE int lrintf(float f)
    {
    int i;
    __asm__ __volatile__ (
    "flds %1 \n\t"
    "fistpl %0 \n\t"
    "=m" (i)
    "m" (f));
    return i;
    }
    #endif
    ...

    vs.
    /usr/include/bits/mathcalls.h:
    ...
    __MATHDECL (long int,lrint,, (_Mdouble_ __x));
    ...

    (
    maybe this helps:
    http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2004-October/030886.html
    )

     
  • Dusan Hokuv

    Dusan Hokuv - 2011-01-30

    same problem on fedora 14 during compile cinelerra 4.2

     
  • Anonymous

    Anonymous - 2011-02-13

    simply do that (you need to haveyasm nasm, libbz and libxv to compile)

    cd cinelerra-4.2/
    cd quicktime/thirdparty/faad2-2.0/libfaad/
    sed -i'' -e 's/lrintf/libfaad_lrintf/g' output.c common.h lt_predict.c
    cd -
    make

    for me it working perfectly under ubuntu 10.04

     
  • feranick

    feranick - 2011-05-18

    I only see this issue with Ubuntu 32 bit (64 bit compiles just fine). This bug is related to the included (and outdated) libfaad library. To successfully compile on a 32 bit system:

    1. I remove the faad2-2.0 folder in the cinelerra-4.2 source:

    /cinelerra-4.2/quicktime/thirdparty/

    2. I replace it with a newer version of the library, which I got from the ubuntu repositories

    https://launchpad.net/ubuntu/+source/faad2

    In details, I downloaded the src tarball and decompressed in the same location as the old one I just removed (see point 1).

    Note that the current library is in version faad2-2.7, while that in cinelerra-4.2 is in version faad2-2.0. You will need to rename the folder faad2-2.7 into faad2-2.0 to allow the compilation to work.

    I hope it helps.

     

Log in to post a comment.

MongoDB Logo MongoDB