[FFmpeg-trac] #2659(build system:new): Compiling for i386 on 64bit OSX is hard
FFmpeg
trac at avcodec.org
Tue Jun 11 23:15:17 CEST 2013
#2659: Compiling for i386 on 64bit OSX is hard
-------------------------------------+-------------------------------------
Reporter: hendrik | Owner:
Type: defect | Status: new
Priority: normal | Component: build
Version: git-master | system
Keywords: i386 OSX | Resolution:
Darwin | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by hendrik):
Sorry for being unclear.
The answer is: No. It depends on the used compiler.
`./configure --enable-shared --disable-static --arch=i386 --cc="gcc -m32"`
also leads to
{{{
CC libavcodec/h264_cabac.o
cc1: error in backend: Ran out of registers during register allocation!
make: *** [libavcodec/h264_cabac.o] Error 1
}}}
`./configure --enable-shared --disable-static --arch=i386 --cc="clang
-m32"`
works.
But
`./configure --enable-shared --disable-static --arch=i386 --cc="clang
-m32" --enable-small`
leads to
{{{
CC libavcodec/h264_cabac.o
In file included from libavcodec/h264_cabac.c:43:
libavcodec/x86/h264_i386.h:137:9: error: ran out of registers during
register allocation
"mov %1, %6 \n\t"
^
}}}
But in any case, whoever attempts to build ffmpeg for i386 on OSX has to
know, that `--arch=i386` is ignored. AFAIK, this is not documented
anywhere that's easily accessible. And probably it shouldn't be ignored to
begin with.
One apparently has to specify `--cc` somehow to get this to build for i386
at all.
And when you do, some things still don't work. That's what makes it
''hard'', as in: it takes a few hours to achieve a working result.
Thank you for looking into this.
--
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2659#comment:3>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list