[Ffmpeg-devel] OSX linker option error

Dan Villiom Podlaski Christiansen danchr
Wed Jul 13 14:08:20 CEST 2005

Michael Niedermayer wrote:
> Hi
> On Monday 11 July 2005 22:59, Steven M. Schultz wrote:
>> Hi
>> 	An extraneous option (-d) crept in and causes building on OSX to fail
>> 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'/usr/local/src/ffmpeg' -I'/usr/local/src/ffmpeg'/libavformat
>> -I'/usr/local/src/ffmpeg'/libavcodec -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,-d,-search_paths_first -g -o
>> null.so -dynamiclib -flat_namespace -undefined suppress null.o
>> /usr/bin/libtool: unknown option character `d' in: -d
>> Usage: /usr/bin/libtool -static [-] file [...] [-filelist
>> listfile[,dirname]] [-arch_only arch] [-sacLT] Usage: /usr/bin/libtool
>> -dynamic [-] file [...] [-filelist listfile[,dirname]] [-arch_only arch]
>> [-o output] [-install_name name] [-compatibility_version #]
>> [-current_version #] [-seg1addr 0x#] [-segs_read_only_addr 0x#]
>> [-segs_read_write_addr 0x#] [-seg_addr_table <filename>]
>> [-seg_addr_table_filename <file_system_path>] [-all_load] [-noall_load]
>> make[1]: *** [null.so] Error 1
>> rm null.o
>> make: *** [videohook] Error 2
>> 	-search_paths_first is a valid option but -d is not.  The attached
>> 	patch simply removes the un-needed -d
> the -d option is in this line from configure since 2002, why does it break 
> now?

According to the manual entry for ld(1) in both Darwin 8.2 and 1.3, the 
effect of '-d' is:

 -d     Force  definition  of  common  storage  even if the -r option is
              present.  This option also forces link editor defined 
symbols to
              be defined.  This option is assumed when there is a 
dynamic link
              editor load command in the input and -r is not specified.

However, libtool doesn't recognise it, and I'm not sure if it ever did. 
I don't know why it was added in the first place, but it definitely 
breaks vhooks. As part of my attempt to get dynamic libraries working, I 
removed the '-d'; otherwise I would get linker errors.

- Dan

More information about the ffmpeg-devel mailing list