Linker command failure duplicate symbol _ff_log2_tab in static libraries

After adding the library per the instructions, I get this build error. Attached is a shot of my linked libraries

ld: warning: directory not found for option ‘-F/Users/brianroberson/Library/Developer/Xcode/DerivedData/BMR-asbtfbvpstqwotbvxdemougplkmm/Build/Products/Debug-iphonesimulator/include’

duplicate symbol _ff_log2_tab in:

lib/libav-11.4/lib/libavcodec.a(log2_tab.o)

lib/libav-11.4/lib/libavformat.a(log2_tab.o)

duplicate symbol _ff_log2_tab in:

lib/libav-11.4/lib/libavcodec.a(log2_tab.o)

lib/libav-11.4/lib/libavutil.a(log2_tab.o)

ld: 2 duplicate symbols for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Hi Brian,

If you don’t need MediaService, you can remove libav-11.4, speex-1.2rc2, x264, MediaLibiOS3x folders from the ‘lib’ folder. In this way the media static libs will be removed from ‘Build Phases -> Link Binary With Libraries’ and the duplicate symbols will disappear.

Another way is to give us your project which contains this problem - it will be investigated. Because now it cannot be reproduce.

Regards,
Slava

Brian, did you use some media function in your BMR project with Parse? Maybe it uses ffmpeg?

You can try BMRmanualFixed.zip from Dropbox

HI have the same problem described above. However, when removing the libraries you are mentioning, I get the following:

Undefined symbols for architecture arm64:

OBJC_CLASS$_MPMediaDecoder”, referenced from:

  objc-class-ref in backendless.a(MediaPlayer.o)

OBJC_CLASS$_BroadcastStreamClient”, referenced from:

  objc-class-ref in backendless.a(MediaPublisher.o)

ld: symbol(s) not found for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Any ideas? I have “all_load” among “other linker flags” which I need for CorePlot.
Thanks for your help

ok I might have fixed this for now. If you are using CorePlot and Backendless there is an issue with CorePot requiring all_load and all_load messing up with Backendless (?). Anyways, if you use force_load + path of the CorePlot static library, everything will work (at least plots display and backendless doesnt trigger errors, but I haven’t called any APIs yet)

Hi Marco,

I created the project with CorePlot and Backendless-ios-SDK pods, it simply make login to backendless app: https://drive.google.com/file/d/0B3yyaWhA4ib0a1llMzNIZ05jb2M/view?usp=sharing
It is built and works fine for me, please try it and compare with your project.

Regards,
Slava

Thank you for the quick response.

Just a quick comment on this, that might help others. True that you can build and run the app easily combining coreplot and backendless without bothering about the “other linker flags”. However, if you do create a plot, it will crash. This is probably some issue with coreplot, and it is still a must I believe to include at least force_load and the path of the coreplot library when using coreplot (which does not get in conflict with backendless, while all_load does).

I have the same prolem. But when i remove those 3 folders, i get this error:
http://support.backendless.com/public/attachments/cc992a93e919eccb8522497ad1eb9e58.png</img>