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

Crashes on "Undefined symbols for architecture i386" when running rake #17

Open
stabenfeldt opened this issue May 9, 2013 · 15 comments

Comments

@stabenfeldt
Copy link

I´ve added Parse to the Gemfile, Rakefile and app_delegate.
Also put Parse.framework in the vendor dir.

I downloaded the SDK from https://parse.com/downloads/ios/parse-library/latest.
It looks like it´s build for a different type of architecture? Any clue why I get this error message?

$ rake
     Build ./build/iPhoneSimulator-6.1-Development
     Build vendor/Parse.framework
      Link ./build/iPhoneSimulator-6.1-Development/Beers.app/Beers
Undefined symbols for architecture i386:
  "_FBTokenInformationExpirationDateKey", referenced from:
      -[PFFacebookTokenCachingStrategy cacheTokenInformation:] in Parse(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy expirationDate] in Parse(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy setExpirationDate:] in Parse(PFFacebookTokenCachingStrategy.o)
  "_FBTokenInformationTokenKey", referenced from:
      -[PFFacebookTokenCachingStrategy accessToken] in Parse(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy setAccessToken:] in Parse(PFFacebookTokenCachingStrategy.o)
  "_FBTokenInformationUserFBIDKey", referenced from:
      -[PFFacebookTokenCachingStrategy facebookId] in Parse(PFFacebookTokenCachingStrategy.o)
      -[PFFacebookTokenCachingStrategy setFacebookId:] in Parse(PFFacebookTokenCachingStrategy.o)
  "_OBJC_CLASS_$_FBRequest", referenced from:
      objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
  "_OBJC_CLASS_$_FBSession", referenced from:
      objc-class-ref in Parse(PFFacebookAuthenticationProvider.o)
  "_OBJC_CLASS_$_FBSessionTokenCachingStrategy", referenced from:
      _OBJC_CLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
  "_OBJC_METACLASS_$_FBSessionTokenCachingStrategy", referenced from:
      _OBJC_METACLASS_$_PFFacebookTokenCachingStrategy in Parse(PFFacebookTokenCachingStrategy.o)
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
rake aborted!
$ ld -v
@(#)PROGRAM:ld  PROJECT:ld64-136
configured to support archs: armv6 armv7 armv7s i386 x86_64
LTO support using: LLVM version 3.2svn, from Apple Clang 4.2 (build 425.0.28)
@adelevie
Copy link
Owner

adelevie commented May 9, 2013

Sorry not sure about this one. I probably won't be using Rubymotion for the next couple weeks, but I hope you can get this one figured out.

@stabenfeldt
Copy link
Author

Forgot to say that I´ve put my project at Github: https://github.com/stabenfeldt/beer-nitron/tree/feature/parse_com

I´ll update you here if I find a solution! :)

@stabenfeldt
Copy link
Author

@adelevie Which version of the Parse Library are you using?

@jamonholmgren
Copy link
Contributor

@stabenfeldt
Copy link
Author

Thanks for the tip, but I could not find any solutions that worked. :(

Here is some more system info:

$ clang --version
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.3.0
Thread model: posix

I´m running Xcode 4.6.2 (4H1003)

@jamonholmgren
Copy link
Contributor

Have you sent an email to feedback@parse.com? They're usually pretty helpful.

@stabenfeldt
Copy link
Author

Thanks for the tips. Just tried that, but it´s not possible:

You can no longer submit Parse support requests directly via email. You can find solutions to common issues at the Parse Help & Community (https://parse.com/help) portal.

:-)

Martin Stabenfeldt
tlf: +47 9344 1707

On Tuesday, May 14, 2013 at 6:08 PM, Jamon Holmgren wrote:

Have you sent an email to feedback@parse.com (mailto:feedback@parse.com)? They're usually pretty helpful.


Reply to this email directly or view it on GitHub (#17 (comment)).

@jamonholmgren
Copy link
Contributor

Facebook... 👎

@jamonholmgren
Copy link
Contributor

There is a link on the right:

"Have a more private or sensitive question?
Contact us directly."

That might work.

@stabenfeldt
Copy link
Author

Nah, I can't find that link on https://www.facebook.com/parseit

Martin Stabenfeldt
tlf: +47 9344 1707

On Tuesday, May 14, 2013 at 7:41 PM, Jamon Holmgren wrote:

There is a link on the right:
"Have a more private or sensitive question?
Contact us directly."
That might work.


Reply to this email directly or view it on GitHub (#17 (comment)).

@stabenfeldt
Copy link
Author

Ok, found the "contact us" on https://parse.com/help :)

Martin Stabenfeldt
tlf: +47 9344 1707

On Tuesday, May 14, 2013 at 7:41 PM, Jamon Holmgren wrote:

There is a link on the right:
"Have a more private or sensitive question?
Contact us directly."
That might work.


Reply to this email directly or view it on GitHub (#17 (comment)).

@hramos
Copy link

hramos commented May 14, 2013

@jamonholmgren just to be clear, I turned off direct emails to feedback@parse.com long before the Facebook acquisition. I wanted to make sure that everyone who opens a new issue with Parse is logged in to their Parse account when submitting a ticket, which helps me identify much quicker which apps they're talking about, as well as letting me know that they actually are the owner of the Parse account

@stabenfeldt are you using the -ObjC or -all_load compiler flag, or does Ruby Motion use these by default? That's going to tell the compiler to load all frameworks referenced by your code, so you'll need to make sure to also add the Facebook SDK to your dependencies, even if you're not using it. You can avoid adding the Facebook SDK this by using -force_load explicitly for each framework instead of lazily loading every framework.

See Using the Parse iOS SDK without including the Facebook SDK for more details.

@jamonholmgren
Copy link
Contributor

@hramos Thanks for the clarification. My reply was meant to be flippant and tongue-in-cheek. I don't have a problem with Parse being bought by Facebook. :)

@lukeholder
Copy link

any update on this? I am getting the same error, cant figure out how to remove the facebook dep in my rubymotion project for parsemodel.

@lukeholder
Copy link

solved it temporarily by manually adding the facebook sdk to my project:

app.vendor_project('/Users/lh/Documents/FacebookSDK/FacebookSDK.framework', :static,
    :products => ['FacebookSDK'],
    :headers_dir => 'Headers')

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