Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS: Missing x86_64 Symbols #37

Closed
dylansturg opened this issue Dec 23, 2014 · 7 comments
Closed

iOS: Missing x86_64 Symbols #37

dylansturg opened this issue Dec 23, 2014 · 7 comments

Comments

@dylansturg
Copy link

I'm using the provided build scrips (thanks by the way!) to build a WebRTC library and I'm adding into my own project. When I try to include arm64 in the valid architectures for the project, I receive linker warnings regarding missing symbols for x86_64. I think that is because the simulator uses x86_64 (I'm pretty new to iOS...) the library built by default seems to only have arm7, arm64, and i386. Is it possible to get it built and working for arm64/x86_64 in an iOS project?

As background, I think Apple is going to start requiring projects use arm64 and want to make sure my project conforms to their standard.

@calitb
Copy link

calitb commented Dec 31, 2014

In the meantime If you want to try it in the simulator you can remove the arm64. you only need to set the project for arm64 when you are going to test it in a device, or if you are submitting to the App Store.

@dylansturg
Copy link
Author

That sounds like a simple enough short-term solution. Thank you @calitb !

@temahussain
Copy link

I am trying to build for 64-bit simulator using target_arch=x64 but it is giving me the following error:

../../chromium/src/third_party/nss/nss/lib/freebl/poly1305/poly1305-donna-x64-sse2-incremental-source.c:23:18: error: __int128 is not supported on this target
typedef unsigned __int128 uint128_t;

Do I need to do anything special?

Any help would be appreciated

@thebehera
Copy link
Contributor

Out of curiosity what's the value of compiling a 64 bit webrtc library for the simulator? In cocoapods, the builds include ARM64, ARM32, and x86 (Simulator)... that should cover all grounds

@rwickliffe
Copy link

Another option I've used successfully is setting the Valid Architectures per SDK as follows:

//:configuration = Debug
VALID_ARCHS = armv7 arm64
VALID_ARCHS[sdk=iphonesimulator*] = armv7
VALID_ARCHS[sdk=iphoneos*] = armv7 arm64

image

@temahussain
Copy link

@thebehera: target_arch=x64 target_subarch=x64

This will compile for both i386 (32-bit simulator) and x86_64 (64-bit simulator)
(iPhone 6 simulator works with 64-bit simulator build. So 'ARM64, ARM32, and x86 (Simulator)' doesn't cover all grounds)

But with webrtc r7887 I am getting the error mentioned above. Though it compiles successfully for target_arch=ia32

@calitb
Copy link

calitb commented Jan 7, 2015

@rwickliffe great solution

@paynerc paynerc mentioned this issue Jan 21, 2015
thebehera added a commit that referenced this issue Jan 21, 2015
Fixes #45 & #37 -- testing atm - dont want to reclone webrtc which could take hours
paynerc added a commit to BullittSystems/webrtc-build-scripts that referenced this issue Jan 22, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants