[FFmpeg-user] Compile master on i686

Hans Carlson forbyta at gmx.com
Thu Jul 13 02:45:31 EEST 2017


I'm unable to compile the latest git master on an old i686 Linux (Fedora) 
system I still use.  See errors below.

The last time I compiled on this system was Mar 29, 2017 and it worked 
fine.  The commit ID was (247d0339ca5ddab692aee49baf43cd1324466028).

Here's truncated output from make.  I'm happy to provide more details, 
just not sure what would be useful.  The git clone, and configure ran 
without any errors.  make showed no errors until the ones below.

   $ uname -srvmpi
   Linux 2.6.35.14-106.fc14.i686 #1 SMP Wed Nov 23 13:57:33 UTC 2011 i686 i686 i386
   $ git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg-20170712
   ...
   $ cd ffmpeg-20170712
   $ configure
   ...
   $ make
   ...
   X86ASM	libavfilter/x86/af_afir.o
   libavutil/x86/x86inc.asm:45: error: symbol `HAVE_ALIGNED_STACK' not defined before use
   libavutil/x86/x86inc.asm:58: error: symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:193: error: (DECLARE_REG_SIZE:11) symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:194: error: (DECLARE_REG_SIZE:11) symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:195: error: (DECLARE_REG_SIZE:11) symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:196: error: (DECLARE_REG_SIZE:11) symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:197: error: (DECLARE_REG_SIZE:11) symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:198: error: (DECLARE_REG_SIZE:11) symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:199: error: (DECLARE_REG_SIZE:11) symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:225: error: symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:938: error: (INIT_XMM:5) symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:938: error: (INIT_CPUFLAGS:32) symbol `ARCH_X86_64' not defined before use
   libavutil/x86/x86inc.asm:938: error: (CPUNOP:1) symbol `HAVE_CPUNOP' not defined before use
   libavutil/x86/x86inc.asm:938: error: unknown 'cpu' type
   libavfilter/x86/af_afir.asm:30: error: (INIT_XMM:5) symbol `ARCH_X86_64' not defined before use
   libavfilter/x86/af_afir.asm:30: error: (INIT_CPUFLAGS:32) symbol `ARCH_X86_64' not defined before use
   libavfilter/x86/af_afir.asm:30: error: (CPUNOP:1) symbol `HAVE_CPUNOP' not defined before use
   libavfilter/x86/af_afir.asm:30: error: unknown 'cpu' type
   libavfilter/x86/af_afir.asm:31: error: (INIT_XMM:5) symbol `ARCH_X86_64' not defined before use
   libavfilter/x86/af_afir.asm:31: error: (INIT_CPUFLAGS:32) symbol `ARCH_X86_64' not defined before use
   libavfilter/x86/af_afir.asm:31: error: (CPUNOP:1) symbol `HAVE_CPUNOP' not defined before use
   libavfilter/x86/af_afir.asm:31: error: unknown 'cpu' type
   make: *** [libavfilter/x86/af_afir.o] Error 1

Based on the error messages, it looks like it might not be getting the 
correct values for HAVE_ALIGNED_STACK and ARCH_X86_64?

   $ egrep 'HAVE_ALIGNED_STACK|ARCH_X86_64' config* ffbuild/*
   config.asm:%define ARCH_X86_64 0
   config.asm:%define HAVE_ALIGNED_STACK 1
   config.h:#define ARCH_X86_64 0
   config.h:#define HAVE_ALIGNED_STACK 1
   ffbuild/config.mak:!ARCH_X86_64=yes
   ffbuild/config.mak:HAVE_ALIGNED_STACK=yes

It appears the "ffbuild" subdir that contains all the config files was 
added at some point between Mar 29th and now... Maybe that has something 
to do with it?

FYI.  If I do the following, everything works fine:

   $ git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg-20170712-247d0339ca
   $ cd ffmpeg-20170712-247d0339ca
   $ git checkout 247d0339ca
   $ configure
   $ make


More information about the ffmpeg-user mailing list