BUG: Cannot compile with latest ffmpeg (SVN-r25563)
It is not possible to compile motion 3.2.12 with the latest ffmpeg (SVN-r25563) There is an error while linking (see below)
./configure
*******************************
Configure status
motion 3.2.12
*******************************
OS : Linux
pthread Support: Yes
jpeg Support: Yes
V4L included: Yes
V4L2 supported: Yes
FFmpeg Support: Yes
MYSQL Support: No
PostgreSQL Support: No
CFLAGS: -g -O2 -D_REENTRANT -DHAVE_FFMPEG -I/usr/local/include -DFFMPEG_NEW_INCLUDES -DHAVE_FFMPEG_NEW -DMOTION_V4L2 -DTYPE_32BIT="int" -DHAVE_BSWAP -march=i686
LIBS: -lm -lpthread -ljpeg -L/usr/local/lib -lavformat -lavcodec -lavutil -lm -lz
LDFLAGS: -L/usr/local/lib
Install prefix: /usr/local
make -j3
[...]
/usr/local/lib/libavformat.a(file.o):(.data+0x0): multiple definition of `file_protocol'
ffmpeg.o:(.data+0x40): first defined here
/usr/local/lib/libavcodec.a(bink.o): In function `decode_init':
/tmp/ffmpeg/libavcodec/bink.c:975: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(dnxhddec.o): In function `dnxhd_decode_frame':
/tmp/ffmpeg/libavcodec/dnxhddec.c:309: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(dpx.o): In function `decode_frame':
/tmp/ffmpeg/libavcodec/dpx.c:143: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(dsputil.o): In function `dsputil_init':
/tmp/ffmpeg/libavcodec/dsputil.c:4458: undefined reference to `av_image_copy_plane'
/usr/local/lib/libavcodec.a(eacmv.o): In function `cmv_decode_frame':
/tmp/ffmpeg/libavcodec/eacmv.c:160: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(eamad.o): In function `decode_frame':
/tmp/ffmpeg/libavcodec/eamad.c:264: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(eatgv.o): In function `tgv_decode_frame':
/tmp/ffmpeg/libavcodec/eatgv.c:279: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(gifdec.o): In function `gif_decode_frame':
/tmp/ffmpeg/libavcodec/gifdec.c:300: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(h264.o): In function `decode_slice_header':
/tmp/ffmpeg/libavcodec/h264.c:1918: undefined reference to `av_image_copy'
/usr/local/lib/libavcodec.a(iff.o): In function `decode_init':
/tmp/ffmpeg/libavcodec/iff.c:164: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(indeo3.o): In function `iv_decode_frame':
/tmp/ffmpeg/libavcodec/indeo3.c:999: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(kgv1dec.o): In function `decode_frame':
/tmp/ffmpeg/libavcodec/kgv1dec.c:54: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(mjpegdec.o): In function `ff_mjpeg_decode_sof':
/tmp/ffmpeg/libavcodec/mjpegdec.c:232: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(mpegvideo.o): In function `MPV_common_init':
/tmp/ffmpeg/libavcodec/mpegvideo.c:514: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(nuv.o):/tmp/ffmpeg/libavcodec/nuv.c:115: more undefined references to `av_image_check_size' follow
/usr/local/lib/libavcodec.a(utils.o): In function `avcodec_default_get_buffer':
/tmp/ffmpeg/libavcodec/utils.c:286: undefined reference to `av_image_fill_linesizes'
/tmp/ffmpeg/libavcodec/utils.c:296: undefined reference to `av_image_fill_pointers'
/usr/local/lib/libavcodec.a(utils.o): In function `avcodec_decode_video2':
/tmp/ffmpeg/libavcodec/utils.c:617: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(utils.o): In function `av_parse_video_frame_rate':
/tmp/ffmpeg/libavcodec/utils.c:1114: undefined reference to `av_parse_video_rate'
/usr/local/lib/libavcodec.a(utils.o): In function `av_parse_video_frame_size':
/tmp/ffmpeg/libavcodec/utils.c:1109: undefined reference to `av_parse_video_size'
/usr/local/lib/libavcodec.a(vp3.o): In function `theora_decode_header':
/tmp/ffmpeg/libavcodec/vp3.c:1982: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(vp8.o): In function `update_dimensions':
/tmp/ffmpeg/libavcodec/vp8.c:226: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(vqavideo.o): In function `vqa_decode_init':
/tmp/ffmpeg/libavcodec/vqavideo.c:151: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(xsubdec.o): In function `decode_frame':
/tmp/ffmpeg/libavcodec/xsubdec.c:80: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(yop.o): In function `yop_decode_init':
/tmp/ffmpeg/libavcodec/yop.c:88: undefined reference to `av_image_check_size'
/usr/local/lib/libavformat.a(utils.o): In function `parse_frame_rate':
/tmp/ffmpeg/libavformat/utils.c:3218: undefined reference to `av_parse_video_rate'
/usr/local/lib/libavformat.a(utils.o): In function `parse_image_size':
/tmp/ffmpeg/libavformat/utils.c:3212: undefined reference to `av_parse_video_size'
/usr/local/lib/libavcodec.a(dirac.o): In function `ff_dirac_parse_sequence_header':
/tmp/ffmpeg/libavcodec/dirac.c:272: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(flvdec.o): In function `ff_flv_decode_picture_header':
/tmp/ffmpeg/libavcodec/flvdec.c:86: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(h264_ps.o): In function `ff_h264_decode_seq_parameter_set':
/tmp/ffmpeg/libavcodec/h264_ps.c:346: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `av_picture_copy':
/tmp/ffmpeg/libavcodec/imgconvert.c:809: undefined reference to `av_image_copy'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `avpicture_fill':
/tmp/ffmpeg/libavcodec/imgconvert.c:518: undefined reference to `av_image_check_size'
/tmp/ffmpeg/libavcodec/imgconvert.c:521: undefined reference to `av_image_fill_linesizes'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `ff_fill_pointer':
/tmp/ffmpeg/libavcodec/imgconvert.c:510: undefined reference to `av_image_fill_pointers'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `avpicture_fill':
/tmp/ffmpeg/libavcodec/imgconvert.c:518: undefined reference to `av_image_check_size'
/tmp/ffmpeg/libavcodec/imgconvert.c:521: undefined reference to `av_image_fill_linesizes'
/tmp/ffmpeg/libavcodec/imgconvert.c:524: undefined reference to `av_image_fill_pointers'
/tmp/ffmpeg/libavcodec/imgconvert.c:518: undefined reference to `av_image_check_size'
/tmp/ffmpeg/libavcodec/imgconvert.c:521: undefined reference to `av_image_fill_linesizes'
/tmp/ffmpeg/libavcodec/imgconvert.c:524: undefined reference to `av_image_fill_pointers'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `avpicture_get_size':
/tmp/ffmpeg/libavcodec/imgconvert.c:600: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `avpicture_fill':
/tmp/ffmpeg/libavcodec/imgconvert.c:518: undefined reference to `av_image_check_size'
/tmp/ffmpeg/libavcodec/imgconvert.c:521: undefined reference to `av_image_fill_linesizes'
/tmp/ffmpeg/libavcodec/imgconvert.c:524: undefined reference to `av_image_fill_pointers'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `avpicture_get_size':
/tmp/ffmpeg/libavcodec/imgconvert.c:600: undefined reference to `av_image_check_size'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `avpicture_fill':
/tmp/ffmpeg/libavcodec/imgconvert.c:518: undefined reference to `av_image_check_size'
/tmp/ffmpeg/libavcodec/imgconvert.c:521: undefined reference to `av_image_fill_linesizes'
/tmp/ffmpeg/libavcodec/imgconvert.c:524: undefined reference to `av_image_fill_pointers'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `av_picture_data_copy':
/tmp/ffmpeg/libavcodec/imgconvert.c:801: undefined reference to `av_image_copy'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `ff_get_plane_bytewidth':
/tmp/ffmpeg/libavcodec/imgconvert.c:794: undefined reference to `av_image_get_linesize'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `ff_img_copy_plane':
/tmp/ffmpeg/libavcodec/imgconvert.c:789: undefined reference to `av_image_copy_plane'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `ff_fill_linesize':
/tmp/ffmpeg/libavcodec/imgconvert.c:504: undefined reference to `av_image_fill_linesizes'
/usr/local/lib/libavcodec.a(imgconvert.o): In function `avpicture_fill':
/tmp/ffmpeg/libavcodec/imgconvert.c:524: undefined reference to `av_image_fill_pointers'
collect2: ld returned 1 exit status
make: *** [motion] Error 1
Environment
Motion version: |
3.2.12 |
ffmpeg version: |
|
Shared libraries: |
ffmpeg |
Server OS: |
|
--
BertrandAchard - 24 Oct 2010
Follow up
Hi Bertrand,
Did you try svn version of motion ?
Please give a try.
Cheers,
--
AngelCarpintero - 07 Nov 2010
Fix record
Fixed in GIT and SVN.
Cheers,
--
AngelCarpintero - 29 Oct 2011