[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