[FFmpeg-devel] In Leopard library is broken if compiled with Tiger compatibility

David DeHaven dave
Mon Dec 8 17:37:38 CET 2008

>>> The problem is actually the flag -D_POSIX_C_SOURCE=200112
>>> When this flag is not present, the compilation succeeds.
>> What's the exact error you're getting when it's present?
> The problem is not in compile time, but in run time.
> Since some library functions in Leopard follow now the Unix standards,
> these are named functions in Leopard with an appended $UNIX2003  
> string.
> For example, function "_strtod" is named as "_strtod$UNIX2003"
> This happens only if you compile in Leopard. If you want to keep
> backwards compatibility with Tiger, you need to use the proposed
> methods above.
> Unfortunately, even then, the code which is produced by ffmpeg still
> has unresolved symbols (i.e. functions named  *$UNIX2003 )

I will reiterate:
-isysroot /Developer/SDKs/MacOSX10.4u.sdk

I have NO such problems when building on Leopard:
$ otool -Iv build/stage/bin/mplayer | grep UNIX
$ otool -Iv build/stage/bin/ffmpeg | grep UNIX
$ otool -Iv build/stage/bin/mplayer | grep strtod
0x00d02e1a   423 _strtod
$ otool -Iv build/stage/bin/ffmpeg | grep strtod
0x00978cea  3179 _strtod


More information about the ffmpeg-devel mailing list