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

Dominik 'Rathann' Mierzejewski dominik
Mon Dec 8 10:06:19 CET 2008


On Monday, 08 December 2008 at 10:00, ?????????? ??????????? wrote:
> 
> On 07 ??? 2008, at 9:57 ??, David DeHaven wrote:
> 
> >
> >>> Can FFmpeg be built on an OSX 10.4 system?
> >>
> >> Yes, FFmpeg can be built on 10.4 with no problems.
> >
> > And on Leopard targeting 10.4 with -mmacosx-version-min=10.4 or
> > setting MACOSX_DEPLOYMENT_TARGET to 10.4 in my case. Though I only
> > build a minimal LGPL version of lavxxx shared libs otherwise it's
> > static, but it works and runs on 10.4 and 10.5.
> >
> > The only system related issues I really have are with mplayer linking
> > against libraries installed by MacPorts, and those are eliminated by
> > removing /opt/local/bin from the PATH before configuring.
> >
> > <checking>
> > Oh, I also specify the 10.4 SDK using "-isysroot /Developer/SDKs/
> > MacOSX10.4u.sdk"
> 
> 
> In general, these flags were enough. But, in some parts of ffmpeg this  
> is not suffucient.
> 
> 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?

Regards,
R.

-- 
MPlayer http://mplayerhq.hu | RPMFusion http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
	-- from "Collected Sayings of Muad'Dib" by the Princess Irulan


>From =?UTF-8?B?zqDOsc69zrHOs865z47PhM63z4IgzprOsc+Ez4POsc67zr/Pjc67?=  Mon Dec  8 10:24:09 2008
From: =?UTF-8?B?zqDOsc69zrHOs865z47PhM63z4IgzprOsc+Ez4POsc67zr/Pjc67?= (=?UTF-8?B?zqDOsc69zrHOs865z47PhM63z4IgzprOsc+Ez4POsc67zr/Pjc67?=)
Date: Mon, 8 Dec 2008 11:24:09 +0200
Subject: [FFmpeg-devel] In Leopard library is broken if compiled with
	Tiger compatibility
In-Reply-To: <20081208090619.GC5102 at mokona.greysector.net>
References: <AB08EDC6-8DEE-456A-8E3B-2A3B78D03254 at panayotis.com>
	<yw1xk5acxhs3.fsf at thrashbarg.mansr.com>
	<D2800AF4-5846-40C2-8DA0-02B1610FEA23 at panayotis.com>
	<yw1xfxl0xgc8.fsf at thrashbarg.mansr.com>
	<34539a480812070614r1a17171fn70ce697e0e4a184d at mail.gmail.com>
	<9E2BFF69-3505-4B56-BDE1-C334F69F764C at sagetv.com>
	<25C30851-B449-46D0-9834-4F33BCF04F8A at panayotis.com>
	<20081208090619.GC5102 at mokona.greysector.net>
Message-ID: <87FC7223-A126-4796-8687-19714BABDF2A at panayotis.com>


On 08 ??? 2008, at 11:06 ??, Dominik 'Rathann' Mierzejewski wrote:

> On Monday, 08 December 2008 at 10:00, ??????????  
> ??????????? wrote:
>>
>> On 07 ??? 2008, at 9:57 ??, David DeHaven wrote:
>>
>>>
>>>>> Can FFmpeg be built on an OSX 10.4 system?
>>>>
>>>> Yes, FFmpeg can be built on 10.4 with no problems.
>>>
>>> And on Leopard targeting 10.4 with -mmacosx-version-min=10.4 or
>>> setting MACOSX_DEPLOYMENT_TARGET to 10.4 in my case. Though I only
>>> build a minimal LGPL version of lavxxx shared libs otherwise it's
>>> static, but it works and runs on 10.4 and 10.5.
>>>
>>> The only system related issues I really have are with mplayer  
>>> linking
>>> against libraries installed by MacPorts, and those are eliminated by
>>> removing /opt/local/bin from the PATH before configuring.
>>>
>>> <checking>
>>> Oh, I also specify the 10.4 SDK using "-isysroot /Developer/SDKs/
>>> MacOSX10.4u.sdk"
>>
>>
>> In general, these flags were enough. But, in some parts of ffmpeg  
>> this
>> is not suffucient.
>>
>> 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 )



More information about the ffmpeg-devel mailing list