[Ffmpeg-devel] SVN source (of 20061111) fails to compile

Ivan Lezhnev Jr. lezhnev
Sat Nov 11 12:08:44 CET 2006


Hello everyone!

I'm running Slackware 11.0.0 and am trying to compile the latest ffmpeg code 
(of 20061111) from SVN repository.

I use:

> gcc --version
> gcc (GCC) 3.4.6

> autoconf --version
> autoconf (GNU Autoconf) 2.60
> Written by David J. MacKenzie and Akim Demaille.

> make --version
> GNU Make 3.81


This is how I configure my installation:

> ilj at rootbox:~/pkg-area/src/SVN/ffmpeg % ./configure --prefix=/usr  \
> --enable-mp3lame --enable-libogg --enable-vorbis --enable-faad  \
> --enable-faadbin --enable-faac --enable-a52 --enable-a52bin --enable-x264  \
> --enable-pp --enable-amr_nb --enable-amr_nb-fixed --enable-amr_wb  \
> --enable-amr_if2 --enable-pthreads --disable-debug --enable-gpl  \
> --enable-swscaler --enable-dts --enable-xvid --enable-libgsm  \
> --enable-dc1394 --enable-gprof 
>
> install prefix   /usr
> source path      /home/users/ilj/pkg-area/src/SVN/ffmpeg
> C compiler       gcc
> make             make
> ARCH             x86_32 (generic)
> big-endian       no
> inttypes.h       yes
> broken inttypes.h no
> MMX enabled      yes
> CMOV enabled     no
> CMOV is fast     no
> gprof enabled    yes
> zlib enabled     yes
> libgsm enabled   yes
> mp3lame enabled  yes
> libogg enabled   yes
> Vorbis enabled   yes
> FAAD enabled     yes
> faadbin enabled  yes
> FAAC enabled     yes
> XviD enabled     yes
> x264 enabled     yes
> a52 support      yes
> a52 dlopened     yes
> DTS support      yes
> pp support       yes
> Software Scaler enabled yes
> AVISynth enabled no
> debug symbols    no
> strip symbols    yes
> optimize         yes
> static           yes
> shared           no
> video hooking    yes
> SDL support      yes
> Imlib2 support   no
> FreeType support yes
> Sun medialib support no
> pthreads support yes
> AMR-NB float support no
> AMR-NB fixed support yes
> AMR-WB float support yes
> AMR-WB IF2 support yes
> network support      yes
> IPv6 support         yes
> .align is power-of-two no
> License: GPL
> Creating config.mak and config.h...
>
> AMR WB FLOAT NOTICE ! Make sure you have downloaded TS26.204
> V5.1.0 from
> http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
> and extracted the source to libavcodec/amrwb_float
>
> AMR NB FIXED POINT NOTICE! Make sure you have downloaded TS26.073
> REL-5 version 5.1.0 from
> http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-510.zip
> and extracted src to libavcodec/amr
> You must also add -DMMS_IO and remove -pedantic-errors to/from CFLAGS in
> libavcodec/amr/makefile. i.e. CFLAGS = -Wall -I. $(CFLAGS_$(MODE)) -D$(VAD)
> -DMMS_IO

At this point I downloaded suggested zip archives and unpacked them into the 
directories as instructed in the message above. Also I vimed 
./libavcodec/amr/makefile and now it looks like this:

> ... skipped...
> #
> # compiler flags (for normal, DEBUG, and WMOPS compilation)
> #
> CFLAGS_NORM  = -O3 -DWMOPS=0
> CFLAGS_DEBUG = -g -DDEBUG -DWMOPS=0
> CFLAGS_WMOPS = -O3 -DWMOPS=1
>
> #CFLAGS = -Wall -pedantic-errors -I. $(CFLAGS_$(MODE)) -D$(VAD)
> CFLAGS = -Wall -I. $(CFLAGS_$(MODE)) -D$(VAD) -DMMS_IO
> CFLAGSDEPEND = -MM $(CFLAGS)                    # for make depend
>
>
> TMP=$(MODE:NORM=)
> TMP2=$(TMP:DEBUG=_debug)
> #
> # construct SPC library name:
> ... skipped...

Libraries version I use to compile with ffmpeg:

> libdc1394-1.2.1-i686-1ilj
> libdts-0.0.2-i686-1ilj
> libdv-1.0.0-i686-1ilj
> libgsm-1.0.10.13-i686-1ilj
> libraw1394-1.2.0-i686-1ilj
> x264-2245.20061109-i686-1ilj
> xvidcore-1.1.2-i686-1ilj

Now, I run `make':

> ilj at rootbox:~/pkg-area/src/SVN/ffmpeg % make
> make -C libavutil   all
> ... skipped ...

Please, see attachment (ffmpeg-svn-make-output.tar.gz) for full `make' output.

> ... skipped ...
> -I"/home/users/ilj/pkg-area/src/SVN/ffmpeg"
> -I"/home/users/ilj/pkg-area/src/SVN/ffmpeg"/libavutil -fomit-frame-pointer
> -pthread -Wdeclaration-after-statement -Wall -Wno-switch
> -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -O3 -p  -c -o
> gif.o gif.c gcc -I"/home/users/ilj/pkg-area/src/SVN/ffmpeg"/libswscale
> -DIF2=1  -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -D_ISOC9X_SOURCE -I"/home/users/ilj/pkg-area/src/SVN/ffmpeg"
> -I"/home/users/ilj/pkg-area/src/SVN/ffmpeg"
> -I"/home/users/ilj/pkg-area/src/SVN/ffmpeg"/libavutil -fomit-frame-pointer
> -pthread -Wdeclaration-after-statement -Wall -Wno-switch
> -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -O3 -p  -c -o
> h261.o h261.c gcc -I"/home/users/ilj/pkg-area/src/SVN/ffmpeg"/libswscale
> -DIF2=1  -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> -D_ISOC9X_SOURCE -I"/home/users/ilj/pkg-area/src/SVN/ffmpeg"
> -I"/home/users/ilj/pkg-area/src/SVN/ffmpeg"
> -I"/home/users/ilj/pkg-area/src/SVN/ffmpeg"/libavutil -fomit-frame-pointer
> -pthread -Wdeclaration-after-statement -Wall -Wno-switch
> -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -O3 -p  -c -o
> h264.o h264.c h264.c: In function `hl_decode_mb':
> h264.c:3661: warning: suggest parentheses around arithmetic in operand of ^
> h264.c:3667: warning: suggest parentheses around arithmetic in operand of ^
> h264.c: In function `decode_cabac_residual':
> h264.c:6143: warning: passing arg 4 of `decode_significance_8x8_x86'
> discards qualifiers from pointer target type h264.c:6070: warning: unused
> variable `last'
> cabac.h: In function `get_cabac_noinline':
> cabac.h:522: error: can't find a register in class `GENERAL_REGS' while
> reloading `asm' h264.c: At top level:
> cabac.h:109: warning: 'put_cabac_static' defined but not used
> cabac.h:155: warning: 'put_cabac_terminate' defined but not used
> cabac.h:183: warning: 'put_cabac_u' defined but not used
> cabac.h:218: warning: 'put_cabac_ueg' defined but not used
> cabac.h:270: warning: 'refill2' defined but not used
> cabac.h:808: warning: 'get_cabac_u' defined but not used
> cabac.h:824: warning: 'get_cabac_ueg' defined but not used
> make[1]: *** [h264.o] Error 1
> make[1]: Leaving directory
> `/home/users/ilj/pkg-area/src/SVN/ffmpeg/libavcodec' make: *** [lib] Error
> 2
> ilj at rootbox:~/pkg-area/src/SVN/ffmpeg %

I talked to some of the residents of #ffmpeg irc channel yesterday concerning 
this question, and I was advised to edit `cabac.h'. I would if I knew what to 
do exactly. Unfortunately, I'm not really good at C or whatever language was 
used to write the file.

Well, the question is: what's happening actually?
What does this error mean?
How do I fix it?

I'd appreciate also if you explained to me what these lines mean:

1. What is it? I googled for it, but didn't understand what it is :\
> CMOV enabled     no
> CMOV is fast     no

2. Same. What's it? Do I need it? Where do I get it?
> AVISynth enabled no

3. How do I make a choice?
> static           yes
> shared           no

4. Same. What is it? When (and if) do I need it?
> Imlib2 support   no

5. Same. Do I need it on Linux box?
> Sun medialib support no

6. Does fixed/float options exclude each one? I mean I just can select either 
float or fixed AMR-NB support, correct? Not both simultaneously, right?
> AMR-NB float support no
> AMR-NB fixed support yes
> AMR-WB float support yes
> AMR-WB IF2 support yes

7. What does it mean? :)
> .align is power-of-two no

Well, this is it.

I hope this is the right place to ask these questions.
If not so I apologize in advance.

Thank you

-- 
Ivan Lezhnev Jr.

Europe, Ukraine, Simferopol. Local Time:
Sat Nov 11 12:25:27 EET 2006

Using: Slackware 11.0.0 | Kernel 2.6.18 #3
Disassemble to assemble something pure...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ffmpeg-svn-make-output.tar.gz
Type: application/x-tgz
Size: 4708 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20061111/b03c7064/attachment.bin>



More information about the ffmpeg-devel mailing list