[Bf-committers] scons issues with new ffmpeg package

Renato Perini rperini at email.it
Sun Sep 30 14:47:17 CEST 2007


Works for me too, but now I have problems with blenderplayer linking:
Linking program ==> 'blenderplayer'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x15b): 
In function `free_anim_ffmpeg':
anim.c: undefined reference to `avcodec_close'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x169):anim.c: 
undefined reference to `av_close_input_file'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x177):anim.c: 
undefined reference to `av_free'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x185):anim.c: 
undefined reference to `av_free'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x193):anim.c: 
undefined reference to `sws_freeContext'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x39b): 
In function `IMB_anim_absolute':
anim.c: undefined reference to `avpicture_fill'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x4cd):anim.c: 
undefined reference to `av_seek_frame'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x523):anim.c: 
undefined reference to `avcodec_flush_buffers'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x547):anim.c: 
undefined reference to `av_read_frame'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x61e):anim.c: 
undefined reference to `av_open_input_file'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x631):anim.c: 
undefined reference to `av_find_stream_info'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x65e):anim.c: 
undefined reference to `dump_format'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x6d6):anim.c: 
undefined reference to `avcodec_find_decoder'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x6f6):anim.c: 
undefined reference to `avcodec_open'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x7ac):anim.c: 
undefined reference to `avcodec_alloc_frame'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x7ba):anim.c: 
undefined reference to `avcodec_alloc_frame'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x7dd):anim.c: 
undefined reference to `avpicture_get_size'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x858):anim.c: 
undefined reference to `sws_getContext'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x98e):anim.c: 
undefined reference to `avcodec_decode_video'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0xa5d):anim.c: 
undefined reference to `sws_scale'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x1094):anim.c: 
undefined reference to `av_read_frame'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x10d4):anim.c: 
undefined reference to `avcodec_decode_video'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x1131):anim.c: 
undefined reference to `av_close_input_file'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x1176):anim.c: 
undefined reference to `av_seek_frame'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x120e):anim.c: 
undefined reference to `av_close_input_file'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x1275):anim.c: 
undefined reference to `avcodec_close'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x1283):anim.c: 
undefined reference to `av_close_input_file'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x1291):anim.c: 
undefined reference to `av_free'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(anim.o)(.text+0x129f):anim.c: 
undefined reference to `av_free'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(util.o)(.text+0x37): 
In function `do_init_ffmpeg':
util.c: undefined reference to `av_register_all'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(util.o)(.text+0x7e9): 
In function `imb_get_anim_type':
util.c: undefined reference to `av_open_input_file'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(util.o)(.text+0x7fc):util.c: 
undefined reference to `av_find_stream_info'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(util.o)(.text+0x84f):util.c: 
undefined reference to `av_close_input_file'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(util.o)(.text+0x85c):util.c: 
undefined reference to `avcodec_close'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(util.o)(.text+0x867):util.c: 
undefined reference to `av_close_input_file'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(util.o)(.text+0x884):util.c: 
undefined reference to `avcodec_find_decoder'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(util.o)(.text+0x894):util.c: 
undefined reference to `avcodec_open'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(util.o)(.text+0x8a0):util.c: 
undefined reference to `avcodec_close'
/home/mjordan/Blender/build/linux2/lib/libbf_imbuf.a(util.o)(.text+0x8ab):util.c: 
undefined reference to `av_close_input_file'
collect2: ld returned 1 exit status
scons: *** [/home/mjordan/Blender/build/linux2/bin/blenderplayer] Error 1
scons: building terminated because of errors.
mjordan:~/Blender/blender-dev$

Linux, gcc 2.2.1



olivS ha scritto:
> Le Jeudi 27 Septembre 2007 09:10, Peter Schlaile a écrit :
>   
>> ... 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!
>>     
>
> It worked perfectly for me, too:
>
> Kubuntu 6.06 LTS, gcc 4.0.3
>
> with the user-config.py proposed by bdiego:
> WITH_BF_FFMPEG = 'true'
> BF_FFMPEG = "#extern/ffmpeg"
> BF_FFMPEG_INC = '${BF_FFMPEG}/include'
> BF_FFMPEG_LIBPATH = '${BF_FFMPEG}/lib'
> BF_FFMPEG_LIB = ''
>
> PS: I renamed config.mak to config.mak.old, so I didn't went through a 
> full ./configure myself
>
> Cheers,
>   

 
 
 --
 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 
 Sponsor:
 Una nuova mania dilaga...contagiati anche tu su zabart.it
* 
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=7073&d=30-9


More information about the Bf-committers mailing list