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

Xcode 11 (iOS 13) Warnings #29

Open
agrinman opened this issue Jun 6, 2019 · 4 comments
Open

Xcode 11 (iOS 13) Warnings #29

agrinman opened this issue Jun 6, 2019 · 4 comments

Comments

@agrinman
Copy link

agrinman commented Jun 6, 2019

Have you tried cargo lipo binaries with Xcode 11 + iOS 13?
Any idea why I might be getting warnings in Xcode like this:

Building for iOS, but linking in object file (/Users/alex/projects/test/target/universal/release/libtest.a(regex-9fdff7e9d3741c5f.regex.8gmc3yl8-cgu.4.rcgu.o)) built for 

There are about 1k of them for all my depenencies in the chain.

Thanks!

@TimNN
Copy link
Owner

TimNN commented Jun 6, 2019

Can you post a bit more of the error message? It’s kind of cut-off at the „for“ at the end.

@agrinman
Copy link
Author

agrinman commented Jun 6, 2019

@TimNN that's actually the entire message that Xcode spits out

@eyeplum
Copy link

eyeplum commented Jul 8, 2019

I'm having a similar issue when linking a x86_64 static library produced by cargo build in a macOS application, the error message was with the same format and I can confirm the message was not cut-off (I also tried to build in the command line, got the same linker warnings as output).

My initial suspicion was that the new version of the Apple platforms require a new load command in the Mach-O header to verify the platform of a library. But after comparing a sample static library produced by Xcode 11 (which doesn't emit the warning when linked to) and another sample static library produced by cargo build I couldn't find any hard evidence. I've also noticed that my sample static library produced by clang and ar also seems fine (i.e. no warning emitted when linked to), that made me even more confused.

@oflebbe
Copy link

oflebbe commented Oct 12, 2019

lipo is used for creating FAT executable, containing both 32bit and 64bit arm code on iOS . Since iOS does not support 32bit executable any more on iOS 12 there is no need for lipo any more.
I double checked with lipo -detailed_info on a sample Xcode 13 project for iOS.

lipo -detailed_info ..../xtest/xtest input file ..../xtest.app/xtest is not a fat file

Same might be true for Xcode 13 for Catalina. since 32bit is unsupported now as well.

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

4 participants