Installation instructions don't mention arm64 architecture settings on target => linker errors

361 views
Skip to first unread message

David Dancy

unread,
Dec 2, 2013, 11:51:18 PM12/2/13
to mobile-c...@googlegroups.com
Installation instructions here: http://docs.couchbase.com/couchbase-lite/cbl-ios/#setting-up-the-initial-database.

On a stock standard Xcode 5 installation I followed them to the letter and ended up with linker errors.

ld: warning: ignoring file /Users/davidd/Documents/Projects/Objective-C/CouchTester/CouchTester/CouchbaseLite.framework/CouchbaseLite, missing required architecture arm64 in file /Users/davidd/Documents/Projects/Objective-C/CouchTester/CouchTester/CouchbaseLite.framework/CouchbaseLite (3 slices)
ld: warning: ignoring file /Users/davidd/Documents/Projects/Objective-C/CouchTester/CouchTester/CouchbaseLiteListener.framework/CouchbaseLiteListener, missing required architecture arm64 in file /Users/davidd/Documents/Projects/Objective-C/CouchTester/CouchTester/CouchbaseLiteListener.framework/CouchbaseLiteListener (3 slices)
Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_CBLManager", referenced from:
      objc-class-ref in CTAppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I'm a bit new to the whole idea, but I infer that the Couchbase Lite frameworks weren't compiled for arm64.

If I set Architectures/Architectures to "Standard Architectures (armv7, armv7s) and omit the arm64 support, the linker errors go away.

May I suggest adjusting either the compile settings in the project (to include arm64) or the documentation (to mention removing arm64 if it's been included by default)?

Thanks for an amazing framework - hope this helps to make it even better.

Cheers

David

Amy Kurtzman

unread,
Dec 3, 2013, 12:30:42 AM12/3/13
to mobile-c...@googlegroups.com
Hi David,

i’m sorry you ran into trouble with this. As I understand it, the regular iOS build does not include a 64-bit ARM binary. You can find more information about that here: https://github.com/couchbase/couchbase-lite-ios/wiki/Building-Couchbase-Lite#64-bit-ios.

Were you adding Couchbase Lite to an existing project? I’m not sure why you encountered this problem, and am trying to get a better idea of the circumstances so I can update the document appropriately.

I’ll check with Jens tomorrow too. Thank you for letting me know about the issue with the documentation.

Best regards,
Amy
Couchbase Logo  
Always Scalable, Always On NoSQ


Amy Kurtzman
Senior Technical Writer
Phone: 650-417-7500

Email: a...@couchbase.com
From: David Dancy <david...@gmail.com>
Reply-To: "mobile-c...@googlegroups.com" <mobile-c...@googlegroups.com>
Date: Monday, December 2, 2013 at 8:51 PM
To: "mobile-c...@googlegroups.com" <mobile-c...@googlegroups.com>
Subject: Installation instructions don't mention arm64 architecture settings on target => linker errors

--
You received this message because you are subscribed to the Google Groups "Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mobile-couchba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mobile-couchbase/ab4c0487-3469-4393-9042-0d18c7320227%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Jens Alfke

unread,
Dec 3, 2013, 1:07:12 AM12/3/13
to mobile-c...@googlegroups.com

On Dec 2, 2013, at 8:51 PM, David Dancy <david...@gmail.com> wrote:

Installation instructions here: http://docs.couchbase.com/couchbase-lite/cbl-ios/#setting-up-the-initial-database.
On a stock standard Xcode 5 installation I followed them to the letter and ended up with linker errors.

The documentation is for the beta 1 release, which came out shortly before Apple announced 64-bit support in iOS.

Beta 2 will ship with a 64-bit version of the framework. In the meantime you can check out and build the ‘stable’ branch of the Github repo using the instructions that Amy linked to.

—Jens

David Dancy

unread,
Dec 3, 2013, 7:09:47 AM12/3/13
to mobile-c...@googlegroups.com
Amy,

Thanks for getting involved. To answer your question, I was adding CBL to a test project that I'm putting together to use in learning how to use it. I was able to work out the problem and fix it, but thought it might be helpful to have a note in the documentation about the build configuration. As Jens has pointed out though this is all likely to be resolved when Beta 2 ships.

Cheers

David Dancy

unread,
Dec 3, 2013, 7:10:34 AM12/3/13
to mobile-c...@googlegroups.com
Great news, thanks!
Reply all
Reply to author
Forward
0 new messages