I’m running 64-bit Lion but I need to compile a 32-bit version of ffmpeg because another library I’m using is only available as 32-bit. I’ve tried a number of different configurations but they’re all giving me errors. Here’s what I’ve tried:
./configure –disable-static –enable-shared –disable-outdev=sdl –disable-bzlib –disable-libfreetype –disable-libopenjpeg –enable-zlib –enable-runtime-cpudetect –arch=i386 –extra-cflags="-arch i386" –extra-ldflags="-arch i386" –target-os=darwin –enable-cross-compile
./configure –disable-static –enable-shared –disable-outdev=sdl –disable-bzlib –disable-libfreetype –disable-libopenjpeg –enable-zlib –enable-runtime-cpudetect –arch=i386 –extra-cflags="-arch i386" –extra-ldflags="-arch i386"
./configure –disable-static –enable-shared –disable-outdev=sdl –disable-bzlib –disable-libfreetype –disable-libopenjpeg –enable-zlib –enable-runtime-cpudetect –arch=x86_32
I either get a "ran out of registers during register allocation" error during make or gcc complains that cross-compile is not active.
I was able to get this working on ffmpeg build 08d2cee4 by using clang instead of gcc. So here was configure line that worked:
Thanks to Carl on libav-user!
Here was my thread in case it helps anyone: http://ffmpeg.org/pipermail/libav-user/2011-December/001013.html