[Ffmpeg-devel] ffmpeg doesn't compile on Mac OS X anymore...
Diego Biurrun
diego
Wed Oct 12 10:24:13 CEST 2005
On Tue, Oct 11, 2005 at 11:20:58PM -0400, Lina Pezzella wrote:
> >
> >Grab a latest CVS snapshot and compile on 10.3.9. The build fails.
> >If I export that variable the build finishes. This is the bug.
>
> Ah. I understand now. This is expected behavior. The Darwin linker
> expects that variable to be set in order to use newer linker features
> such as the ones employed by my patch. I agree that it is undesirable
> to have to set a variable manually before compilation, but this is
> the solution that Apple has given us. If you try to compile other
> open source programs, they frequently fail the same way when this
> variable isn't set.
I believe that the build system should then set that variable in order
for the build to complete.
> This said, there may be some way to "fix" the ffmpeg code such that
> the Darwin linker doesn't fail complaining about undefined objects
> like it used to with --enable-shared. Unfortunately, I'm not talented
> enough to do this. If you want to have a go at it, the error as
> reported is:
>
> make -C vhook all
> cc -fPIC -O3 -g -Wall -Wno-switch -no-cpp-precomp -pipe -fomit-frame-
> pointer -force_cpusubtype_ALL -Wno-sign-compare -faltivec -I.. -I'/
> Users/burgundy/ffmpeg' -I'/Users/burgundy/ffmpeg'/libavformat -I'/
> Users/burgundy/ffmpeg'/libavcodec -I'/Users/burgundy/ffmpeg'/
> libavutil -DHAVE_AV_CONFIG_H `freetype-config --cflags` -c -o
> null.o null.c
> null.c: In function 'Process':
> null.c:59: warning: pointer targets in passing argument 2 of
> 'avpicture_fill' differ in signedness
> cc -Wl,-dynamic,-search_paths_first -dynamiclib -Wl,-single_module -
> flat_namespace -Wl,-install_name,/usr/local/lib/vhook/null.dylib -g -
> o null.dylib null.o
> ld: Undefined symbols:
> _av_free
> _av_malloc
> _av_mallocz
> _avpicture_fill
> _avpicture_get_size
> _img_convert
> /usr/bin/libtool: internal link edit command failed
> make[1]: *** [null.dylib] Error 1
> rm null.o
> make: *** [videohook] Error 2
>
> Note that this isn't really an error, it's a product of the Darwin
> linker being stricter than the GNU linker.
>
> So basically to recap, my patch makes ffmpeg work on Panther and
> Tiger, but MACOSX_DEPLOYMENT_TARGET has to be set, as the Darwin
> linker expects it. In order to get rid of the requirement of setting
> this variable, one would need to remove -undefined dynamic_lookup
> from configure. In order to do this, the above bug would need to be
> resolved somehow.
Does anybody have an idea how to fix this?
Diego
More information about the ffmpeg-devel
mailing list