How to Resolve Undefined Symbols for Architecture x86_64 While Compiling FFmpeg with x264?

I am working on compiling FFmpeg version 0.9.0.git with x264 version 0.120 on an x86_64 system, and I am encountering an issue during the build process.

Here’s how I am configuring FFmpeg:
./configure --enable-gpl --enable-libmp3lame \
    --enable-static --disable-shared --enable-libx264 \
    --enable-pthreads --disable-doc --enable-avfilter \
    --disable-ffplay --disable-ffserver --disable-ffprobe

After configuring, I run make, but during the linking phase, I get the following error:
LD  ffmpeg_g
Undefined symbols for architecture x86_64:
  "_MM_FIX_0_707106781", referenced from:
      _filter in libavfilter.a(vf_fspp.o)
  "_MM_FIX_0_541196100", referenced from:
      _filter in libavfilter.a(vf_fspp.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1

I expected the build to complete successfully without errors, allowing me to use the compiled FFmpeg with x264

Instead, the build process failed with the linker unable to find certain symbols (_MM_FIX_0_707106781 and _MM_FIX_0_541196100) for the x86_64 architecture, which seem to be referenced by the file vf_fspp.o in libavfilter.a.

I tried cleaning the build directory and recompiling, but the issue persists.

Does anyone have experience with this specific error or know how to resolve the undefined symbols for architecture x86_64? Any advice on what I might be missing or what additional dependencies I need to check for?
Solution
Stack Overflow
I am compiling mplayer with llvm-gcc-4.2.1.

With '-O1' (which disables link time optimization), the program successfully compiles and links. With '-O2' or '-O1 -flto', ld complains of undefined
Was this page helpful?