pristineio / webrtc-build-scripts

A set of build scripts useful for building WebRTC libraries for Android and iOS.
BSD 3-Clause "New" or "Revised" License
1.12k stars 448 forks source link

Issue with linker on iOS #12

Closed sarsonj closed 10 years ago

sarsonj commented 10 years ago

Hi,

I tried cocoapods version of lib and it works fine with demo project. However, when linking in my project, I get:

ld: b/bl/blx thumb2 branch out of range (35827308 max is +/-16MB): from _WebRtcIlbcfix_CbSearch (0x00123138) to _WebRtcSpl_CrossCorrelation (0x0234E990) in '_WebRtcIlbcfix_CbSearch'

Any idea, how to fix this issue?

Thanks,

Jindrich

thebehera commented 10 years ago

I have never seen that error so I'm totally taking a stab in the dark 1st guess - make sure your valid architectures are set to i386 and armv7 only 2nd guess - might be a conflicting binary under "link binary with libraries" -- (maybe libstdc++)?

sarsonj commented 10 years ago

Thanks, none of this is in my project.

Strange is, that when I build for simulator (i386), it works.

I will try to rebuild WebRTC using your script, maybe the problem is with too many static libs, that I have in my project.

thebehera commented 10 years ago

Yeah, I'm not too sure if I can be of too much more help. Maybe try stripping the library of all the debug symbols to shrink the size? I'm also suprised the cocoapods didn't set the architectures and frameworks for you. But I'm still working on fixing cocoapods for now (hit the filesize limit, can't update the repo anymore)

On Fri, Aug 15, 2014 at 10:27 AM, Jindrich Sarson notifications@github.com wrote:

Thanks, none of this is in my project.

Strange is, that when I build for simulator (i386), it works.

I will try to rebuild WebRTC using your script, maybe the problem is with too many static libs, that I have in my project.

— Reply to this email directly or view it on GitHub https://github.com/pristineio/webrtc-build-scripts/issues/12#issuecomment-52318855 .

sarsonj commented 10 years ago

After some examination it looks like it is Apple bug in LLVM.

The workaround is to add -mno-thumb to Other C/C++ flags. The code is less optimal probably then, but it works.

thebehera commented 10 years ago

Man, thats out of my scope. I'm glad you found this and posted this so others can see. Thanks! I'll close the issue.