[Ffmpeg-devel] Re: ffmpeg on OS X
Patrice Bensoussan
patrice.bensoussan
Thu Oct 20 00:05:57 CEST 2005
>
>
> On Oct 18, 2005, at 7:31 PM, ffmpeg-devel-request <at>
mplayerhq.hu wrote:
>
> > Also, I had to use -undefined suppress for vhook libs... not
sure how
> > it's meant to be used, but I guess binaries
> > using this libs should actually link with all the required libs).
>
> The use of -undefined suppress means that ld won't check for
> undefined symbols when linking.
>
> >
> > -SHFLAGS="-dynamiclib -Wl,-single_module,-undefined,dynamic_lookup"
> > +SHFLAGS="-dynamiclib -Wl"
>
> Leaving out the -single_module will break 64-bit systems, as the
> default (multi_module) is 32-bit only. Not that I have a 64-bit
> system to test this on...but things seem to be moving that way, so
> this may not be a smart change.
>
Well I don't think it would break on 64 bit systems unless you
actually compile in 64-mode,
which I suspect is not the default even on a G5. Anyway I guess it's
safe to keep -single_module...
> > - SHFLAGS += -flat_namespace
> > + SHFLAGS += -flat_namespace -undefined suppress
>
> Forcing -flat_namespace is not exactly a good thing -- this should
> probably be changed at some point. The Mac OS X static linker under
> flat_namespace records only the names of libraries, not which
> functions are to be found in which library. Thus if you happen to
> link to two libraries which define the same symbol, you will get an
> error. This is probably not desirable behavior. The default is now a
> two level namespace, which fixes this problem. The issue with the two
> level namespace is that all undefined references must be satisfied at
> static link time, thus -undefined suppress is not an option with two
> level namespace. Short of fixing the unresolved symbols in the code
> (which is really what should happen), the only option I know of is to
> do -undefined dynamic_lookup (which is a 10.3 and greater-only
feature).
>
OK, I guess we'll need to change -flat_namespace at some point... but
is it OK
to keep -flat_namespace -undefined suppress for now?
Thanks for your comments,
Patrice
> Hopefully this helps more than it confuses.
>
> --Lina Pezzella
> Gentoo Developer
>
More information about the ffmpeg-devel
mailing list