[Bf-committers] scons issues with new ffmpeg package

Diego Hernan Borghetti bdiego at gmail.com
Thu Sep 27 17:17:31 CEST 2007


On Thu, 27 Sep 2007, Ken Hughes wrote:

> Error compiling on linux:
>
> gcc -o /home/blender/build/linux2/extern/ffmpeg/libavcodec/flacenc.o -c
> -pipe -fPIC -funsigned-char -fno-strict-aliasing -O0 -g
> -I"/home/blender/blender/extern/ffmpeg"/libswscale
> -I"/home/blender/blender/extern/ffmpeg"/libavcodec -fomit-frame-pointer
> -pthread -g -Wdeclaration-after-statement -Wall -Wno-switch
> -Wdisabled-optimization -Wpointer-arith -Wredundant-decls
> -Wno-pointer-sign -O3 -Wall -Wno-char-subscripts
> -Wdeclaration-after-statement -DXP_UNIX -DHAVE_AV_CONFIG_H
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE
> -I/home/blender/build/linux2/extern/ffmpeg -Iextern/ffmpeg
> -I/home/blender/build/linux2/extern/ffmpeg/libavformat
> -Iextern/ffmpeg/libavformat
> -I/home/blender/build/linux2/extern/ffmpeg/libavcodec
> -Iextern/ffmpeg/libavcodec
> -I/home/blender/build/linux2/extern/ffmpeg/libswscale
> -Iextern/ffmpeg/libswscale
> -I/home/blender/build/linux2/extern/ffmpeg/libavutil
> -Iextern/ffmpeg/libavutil extern/ffmpeg/libavcodec/flacenc.c
> extern/ffmpeg/libavcodec/h264.c: In function ?decode_cabac_residual?:
> extern/ffmpeg/libavcodec/h264.c:5099: warning: passing argument 4 of
> ?decode_significance_8x8_x86? discards qualifiers from pointer target type
> extern/ffmpeg/libavcodec/h264.c: At top level:
> extern/ffmpeg/libavcodec/cabac.h:112: warning: ?put_cabac_static?
> defined but not used
> extern/ffmpeg/libavcodec/cabac.h:158: warning: ?put_cabac_terminate?
> defined but not used
> extern/ffmpeg/libavcodec/cabac.h:186: warning: ?put_cabac_u? defined but
> not used
> extern/ffmpeg/libavcodec/cabac.h:221: warning: ?put_cabac_ueg? defined
> but not used
> extern/ffmpeg/libavcodec/cabac.h:273: warning: ?refill2? defined but not
> used
> extern/ffmpeg/libavcodec/cabac.h:811: warning: ?get_cabac_u? defined but
> not used
> extern/ffmpeg/libavcodec/cabac.h:827: warning: ?get_cabac_ueg? defined
> but not used
> extern/ffmpeg/libavcodec/cabac.h: In function ?get_cabac_noinline?:
> extern/ffmpeg/libavcodec/cabac.h:525: error: PIC register ?%ebx?
> clobbered in ?asm?
> extern/ffmpeg/libavcodec/cabac.h: In function ?decode_cabac_residual?:
> extern/ffmpeg/libavcodec/cabac.h:525: error: PIC register ?%ebx?
> clobbered in ?asm?
> extern/ffmpeg/libavcodec/cabac.h:741: error: PIC register ?%ebx?
> clobbered in ?asm?
> extern/ffmpeg/libavcodec/cabac.h:692: error: PIC register ?%ebx?
> clobbered in ?asm?
> extern/ffmpeg/libavcodec/cabac.h:525: error: PIC register ?%ebx?
> clobbered in ?asm?
> extern/ffmpeg/libavcodec/cabac.h:525: error: PIC register ?%ebx?
> clobbered in ?asm?
> extern/ffmpeg/libavcodec/cabac.h: In function ?decode_cabac_mb_mvd?:
> extern/ffmpeg/libavcodec/cabac.h:525: error: PIC register ?%ebx?
> clobbered in ?asm?
> extern/ffmpeg/libavcodec/cabac.h:525: error: PIC register ?%ebx?
> clobbered in ?asm?
> extern/ffmpeg/libavcodec/cabac.h: In function ?decode_mb_cabac?:
> extern/ffmpeg/libavcodec/cabac.h:525: error: PIC register ?%ebx?
> clobbered in ?asm?
> extern/ffmpeg/libavcodec/cabac.h:525: error: PIC register ?%ebx?
> clobbered in ?asm?
> extern/ffmpeg/libavcodec/cabac.h:525: error: PIC register ?%ebx?
> clobbered in ?asm?
> scons: *** [/home/blender/build/linux2/extern/ffmpeg/libavcodec/h264.o]
> Error 1
> extern/ffmpeg/libavcodec/flacenc.c: In function ?encode_residual?:
> extern/ffmpeg/libavcodec/flacenc.c:756: warning: ?weight? may be used
> uninitialized in this function
> scons: building terminated because of errors.
>

It's weird, this is my user-config.py :

WITH_BF_FFMPEG = 'true'
BF_FFMPEG = "#extern/ffmpeg"
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH = '${BF_FFMPEG}/lib'
BF_FFMPEG_LIB = ''

and work fine (unbuntu 6.06 and slackware 12).

>
> Peter Schlaile wrote:
>> ... are fixed now :-)
>>
>> Seriously: I added scons support for the ffmpeg libraries bundled with
>> blender. (I even learned Python for that purpose... funny language,
>> indeed.)
>>
>> Should work out of the box for most users.
>>
>> If you use the same build-tree for different platforms, you will currently
>> get in trouble, if you don't remove "config.mak" in extern/ffmpeg between
>> builds. (SConstruct outputs a notice on the console during build though)
>>
>> I can simply run "./configure" on each scons-run, but that takes always
>> some time... Suggestions still welcome. (Sadly, you have to run configure
>> within the source tree. It expects to be run there...)
>>
>> Setting BF_FFMPEG_LIB to something different then the empty string will
>> disable the building of the internal libs. (Otherwise, both would get
>> linked in... :)
>>
>> Otherwise: enjoy!
>>
>> Sincerely,
>> Peter
>>
>>
>>
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
>>
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>

-- 
 			Diego


More information about the Bf-committers mailing list