[FFmpeg-user] duplicate symbol

桃源老師 xanadu6291 at dream.jp
Tue Oct 9 17:03:39 EEST 2018


Hello list member,

> 2018/10/09 午後10:42、桃源老師 <xanadu6291 at dream.jp>のメール:
> 
> Hello Reindl -san, 
> 
>> 2018/10/09 午後10:21、Reindl Harald <h.reindl at thelounge.net>のメール:
>> 
>> 
>> http://www.catb.org/esr/faqs/smart-questions.html#beprecise
>> 
>> Am 09.10.18 um 14:56 schrieb 桃源老師:
>>> Hello list member, 
>>> 
>>> I’m now trying to build static ffmpeg on macOS Mojave 10.14.
>>> 
>>> Then I got the following "duplicate symbol” error at linking.
>>> 
>>> How can I fix it???   Please help me!!
>>> 
>>> 
>>> CC	fftools/ffmpeg_videotoolbox.o
>>> LD	ffmpeg_g
>>> duplicate symbol _get_rdmult_delta in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encodeframe.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encodeframe.c.o)
>>> duplicate symbol _init_tpl_stats in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _init_gop_frames in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _get_quantize_error in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _round_floor in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _mc_flow_dispenser in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _motion_compensated_prediction in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _mode_estimation in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _wht_fwd_txfm in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _tpl_model_update in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _tpl_model_store in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _tpl_model_update_b in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> duplicate symbol _get_overlap_area in:
>>>   /Volumes/ffmpeg_compile/lib/libaom.a(encoder.c.o)
>>>   /Volumes/ffmpeg_compile/lib/libvpx.a(vp9_encoder.c.o)
>>> ld: 13 duplicate symbols for architecture x86_64
>>> clang: error: linker command failed with exit code 1 (use -v to see invocation)
>>> make: *** [ffmpeg_g] Error 1
> 
> 
> 1. I can successfully configure ffmpeg.
> 2.Then I run “make” command.
> 3.Near last portion of “make” process, "LD	ffmpeg_g” tells me it’s final linking process, then I got “duplicate symbol” error on that process.
> 4.The console output of near the error is above.
> 
> 
> Am I explained what is my problem is?

So with my poor poor knowledge, I found the following:

$ cd /Volumes/ffmpeg_compile/lib/

$ nm libaom.a | grep get_overlap_area
0000000000008840 T _get_overlap_area
$ nm libvpx.a | grep get_overlap_area
0000000000004dc0 T _get_overlap_area

$ nm libaom.a | grep tpl_model_update_b
00000000000089d0 T _tpl_model_update_b
$ nm libvpx.a | grep tpl_model_update_b
0000000000004fc0 T _tpl_model_update_b

So  libaom.a and  libvpx.a seems to have same something. 

“Duplicated Symbol” means above?  “nm” command result should not have same result?

AND Is it the problem of google product?  Not of ffmpeg?


Best Regards,



// Miya aka. TougenRoushi



More information about the ffmpeg-user mailing list