I have a script that cross-compiles ffmpeg on Ubuntu for Windows. Because it is faster to download a snapshot and extract it than doing a git clone the script uses http://ffmpeg.org/releases/ffmpeg-snapshot-git.tar.bz2
Recently I ran into unresolved externals in x86/dirac_dwt_init.c/o. Details below. A clumsy workaround: $ rm -f libavcodec/x86/dirac* $ git stash The problem seems to be that the snapshots differ from a git clone and for instance contain >50 untracked files, amongst which: libavcodec/x86/dirac_dwt.c libavcodec/x86/dirac_dwt.h libavcodec/x86/diracdsp_mmx.c libavcodec/x86/diracdsp_mmx.h libavcodec/x86/diracdsp_yasm.asm libavcodec/x86/dwt_yasm.asm libavcodec/x86/vc1dsp.asm A git clone has only these files: libavcodec/x86/diracdsp.asm libavcodec/x86/diracdsp_init.c libavcodec/x86/dirac_dwt.asm libavcodec/x86/dirac_dwt_init.c Question: why are the snapshots different from a git clone? -- Jan Details of the builds below (more undefined references) /sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt_init.c:138: undefined reference to `ff_vertical_compose_dd137iL0_mmx' libavcodec/libavcodec.a(dirac_dwt_init.o): In function `vertical_compose_dirac53iH0_mmx': /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt_init.c:138: undefined reference to `ff_vertical_compose_dirac53iH0_mmx' libavcodec/libavcodec.a(dirac_dwt_init.o): In function `vertical_compose_dd97iH0_mmx': /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt_init.c:138: undefined reference to `ff_vertical_compose_dd97iH0_mmx' libavcodec/libavcodec.a(dirac_dwt_init.o): In function `vertical_compose53iL0_mmx': /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt_init.c:138: undefined reference to `ff_vertical_compose53iL0_mmx' collect2: error: ld returned 1 exit status collect2: error: ld returned 1 exit status make: *** [ffmpeg_g.exe] Error 1 make: *** Waiting for unfinished jobs.... make: *** [ffplay_g.exe] Error 1 jan@box:~/sandbox/win32/ffmpeg$ ls -la /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac* -rw-rw-r-- 1 jan jan 8500 Jul 22 18:20 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp.asm -rw-rw-r-- 1 jan jan 122 Aug 2 01:09 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp.d -rw-rw-r-- 1 jan jan 8883 Jul 22 18:20 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp_init.c -rw-rw-r-- 1 jan jan 225 Aug 2 01:09 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp_init.d -rw-rw-r-- 1 jan jan 17146 Aug 2 01:09 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp_init.o -rw-r--r-- 1 jan jan 6752 Jul 21 2014 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp_mmx.c -rw-r--r-- 1 jan jan 2176 Nov 1 2012 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp_mmx.h -rw-rw-r-- 1 jan jan 4262 Aug 2 01:09 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp.o -rw-rw-r-- 1 jan jan 6687 Jul 26 2015 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp_yasm.asm -rw-rw-r-- 1 jan jan 7514 Feb 6 19:20 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt.asm -rw-r--r-- 1 jan jan 6946 Jul 21 2014 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt.c -rw-rw-r-- 1 jan jan 243 Aug 2 01:09 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt.d -rw-r--r-- 1 jan jan 1190 May 25 2013 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt.h -rw-rw-r-- 1 jan jan 7800 Feb 6 19:20 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt_init.c -rw-rw-r-- 1 jan jan 226 Aug 2 01:09 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt_init.d -rw-rw-r-- 1 jan jan 18426 Aug 2 01:09 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt_init.o -rw-rw-r-- 1 jan jan 15806 Aug 2 01:09 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt.o jan@box:~/sandbox/win32/ffmpeg$ rm -f /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac* jan@box:~/sandbox/win32/ffmpeg$ git stash Saved working directory and index state WIP on master: d9b0b1a applied HEAD is now at d9b0b1a applied jan@box:~/sandbox/win32/ffmpeg$ ls -la /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac* -rw-rw-r-- 1 jan jan 8500 Aug 2 01:16 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp.asm -rw-rw-r-- 1 jan jan 8883 Aug 2 01:16 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/diracdsp_init.c -rw-rw-r-- 1 jan jan 7514 Aug 2 01:16 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt.asm -rw-rw-r-- 1 jan jan 7800 Aug 2 01:16 /home/jan/sandbox/win32/ffmpeg/libavcodec/x86/dirac_dwt_init.c jan@box:~/sandbox/win32/ffmpeg$ git status Untracked files: (use "git add <file>..." to include in what will be committed) libavcodec/aac_tablegen.c libavcodec/aac_tablegen.h libavcodec/aac_tablegen_decl.h libavcodec/aacsbr_fixed_tablegen.c libavcodec/aacsbr_tablegen.c libavcodec/arm/dcadsp_init_arm.c libavcodec/arm/dcadsp_neon.S libavcodec/arm/dcadsp_vfp.S libavcodec/arm/dct-test.c libavcodec/dct-test.c libavcodec/dsd_tablegen.c libavcodec/fft-fixed-test.c libavcodec/fft-fixed32-test.c libavcodec/fft-test.c libavcodec/g723_1_data.h libavcodec/golomb-test.c libavcodec/hevc_parse.c libavcodec/imgconvert.h libavcodec/libaacplus.c libavcodec/libdcadec.c libavcodec/libstagefright.cpp libavcodec/libutvideo.h libavcodec/libutvideodec.cpp libavcodec/libutvideoenc.cpp libavcodec/libvo-aacenc.c libavcodec/mathops.c libavcodec/motion-test.c libavcodec/ppc/dct-test.c libavcodec/svq3.h libavcodec/x86/dct-test.c libavcodec/x86/dirac_dwt.c libavcodec/x86/dirac_dwt.h libavcodec/x86/diracdsp_mmx.c libavcodec/x86/diracdsp_mmx.h libavcodec/x86/diracdsp_yasm.asm libavcodec/x86/dwt_yasm.asm libavcodec/x86/vc1dsp.asm libavfilter/filtfmts.c libavformat/libquvi.c libavformat/md5enc.c libavformat/noproxy-test.c libavformat/seek-test.c libavformat/url-test.c libavresample/avresample-test.c libavutil/softfloat.c libavutil/utf8.c libavutil/x86_cpu.h libswresample/swresample-test.c libswscale/colorspace-test.c libswscale/swscale-test.c tests/ref/fate/indeo2 tests/ref/fate/indeo3 tests/ref/fate/rscc tests/ref/fate/screenpresso tests/ref/fate/sgi-gray tests/ref/vsynth/vsynth_lena-ffv1-v3-yuv420 tools/build_libstagefright jan@box:~/sandbox/win32/ffmpeg$ make YASM libavcodec/x86/dirac_dwt.o STRIP libavcodec/x86/dirac_dwt.o CC libavcodec/x86/dirac_dwt_init.o YASM libavcodec/x86/diracdsp.o STRIP libavcodec/x86/diracdsp.o CC libavcodec/x86/diracdsp_init.o AR libavcodec/libavcodec.a LD ffmpeg_g.exe CP ffmpeg.exe STRIP ffmpeg.exe LD ffplay_g.exe CP ffplay.exe STRIP ffplay.exe LD ffprobe_g.exe CP ffprobe.exe STRIP ffprobe.exe _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel