[Ffmpeg-devel] ffmpeg doesn't compile on Mac OS X anymore...

Patrice Bensoussan patrice.bensoussan
Sat Oct 8 00:28:05 CEST 2005


 >On Thu, Oct 06, 2005 at 09:15:09PM +0100, Patrice Bensoussan wrote:
 >>
 >> It looks like there are two issues when trying to compile on Mac  
OS X
 >> Tiger :
 >>
 >> 1/ When using gcc 3.3, I reach the linking stage but get :
 >>
 >> cc -Wl,-dynamic,-search_paths_first -dynamiclib -Wl,-single_module,-
 >> undefined,dynamic_lookup -flat_namespace -Wl,-install_name,/usr/ 
local/
 >> lib/vhook/null.dylib -g -o null.dylib null.o
 >> ld: flag: -undefined dynamic_lookup can't be used with
 >> MACOSX_DEPLOYMENT_TARGET environment variable set to: 10.1
 >> /usr/bin/libtool: internal link edit command failed
 >> make[1]: *** [null.dylib] Error 1
 >
 >Yes, that's an issue.  You can work around it with
 >
 >export MACOSX_DEPLOYMENT_TARGET=10.3
 >
 >Does anybody know how to fix this properly
 >

Good question... I've had a quick look at the man page for ld, and
i'm wondering why we are using -undefined,dynamic_lookup - 
flat_namespace.
It looks like this is what is causing this new error to appear.
Also, wondering if the created binary would actually run on 10.2 if
we set this variable to 10.3 :/

 From the man page : (it seems that two-level is the default, why is  
this changed?)

TWO-LEVEL AND FLAT NAMESPACES
        Two-level  and  flat  namespaces  refer to how references to  
symbols in
        dynamic libraries are resolved to  a  definition  in   
specific  dynamic
        library.   For  two-level  namespace  that resolution is done  
at static
        link time when each image  (program,  bundle  and  shared   
library)  is
        built.   When  a program is using images built with two-level  
namespace
        there may be different global symbols with the same name  
being used  by
        different images in the program (this is now the default).   
When a pro-
        gram is using all flat namespace images then only one global  
symbol for
        each  global symbol name is used by all images of the program  
(this was
        the default in MacOS X 10.0).

 >> 2/ When using gcc 4.0, compilation aborts with the error (this is
 >> only a warning with gcc 3)
 >> make[1]: *** [mathematics.o] Error 1
 >>
 >That's strange, does the lrintf check in configure fail for you then?
 >
 >Diego

Well not sure how to see this in configure, here is the output :
(btw i'm using --enable-small which explains why I dont't have -O3)

./configure --enable-mp3lame --enable-faac --enable-small
install prefix   /usr/local
source path      /Users/patriceb/tmp/WMA/cvs-HEAD/ffmpeg
C compiler       cc
make             make
CPU              powerpc (generic)
big-endian       yes
inttypes.h       yes
broken inttypes.h no
AltiVec enabled  yes
gprof enabled    no
zlib enabled     yes
libgsm enabled   no
mp3lame enabled  yes
libogg enabled   no
Vorbis enabled   no
Theora enabled   no
FAAD enabled     no
faadbin enabled  no
FAAC enabled     yes
XviD enabled     no
x264 enabled     no
a52 support      no
a52 dlopened     no
DTS support      no
pp support       no
debug symbols    yes
strip symbols    yes
optimize         small
shared pp        no
video hooking    yes
SDL support      no
Imlib2 support   no
FreeType support no
Sun medialib support no
pthreads support no
AMR-NB float support no
AMR-NB fixed support no
AMR-WB float support no
AMR-WB IF2 support no
network support      yes
IPv6 support         no
License: LGPL
Creating config.mak and config.h...

My version of gcc 3.3/4.0 (latest dev tools) :

gcc (GCC) 3.3 20030304 (Apple Computer, Inc. build 1809)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There  
is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR  
PURPOSE.

powerpc-apple-darwin8-gcc-4.0.0 (GCC) 4.0.0 (Apple Computer, Inc.  
build 5026)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There  
is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR  
PURPOSE.






More information about the ffmpeg-devel mailing list