Realm-cocoa: Swift 3.1 Carthage Build

Created on 27 Mar 2017  ·  17Comments  ·  Source: realm/realm-cocoa

Xcode 8.3 is now available and Realm 2.4.4 won't build. Can you please provide an updated Carthage build that uses Swift 3.1?

Thanks!

T-Enhancement

Most helpful comment

We've actually supported building and passing all tests with Swift 3.1 as of Xcode 8.3 beta 2. But we don't produce binaries for beta Xcode versions due to high churn. But we'll push a release with Xcode 8.3 binaries soon!

You can build Realm with Carthage and Xcode 8.3 from source by running the following command:

carthage update --no-use-binaries

I'll keep this open until a release is available with binaries built with Xcode 8.3 so you can be notified of when that happens. Probably tomorrow.

All 17 comments

We've actually supported building and passing all tests with Swift 3.1 as of Xcode 8.3 beta 2. But we don't produce binaries for beta Xcode versions due to high churn. But we'll push a release with Xcode 8.3 binaries soon!

You can build Realm with Carthage and Xcode 8.3 from source by running the following command:

carthage update --no-use-binaries

I'll keep this open until a release is available with binaries built with Xcode 8.3 so you can be notified of when that happens. Probably tomorrow.

You guys are always on the ball. 👍 Thank you!

@cliftonlabrum Carthage uses pre-built binary only when they were built with the same version of the Swift compiler from 0.20. No longer need to --no-use-binaries :)
https://github.com/Carthage/Carthage/releases/tag/0.20.0

Any idea when the updated binaries might be available? I just upgraded to Xcode 8.3 and I'm currently unable to launch my app:

dyld: Symbol not found: __TMps13IndexableBase
Referenced from: /private/var/containers/Bundle/Application/3D42EB1F-24BC-4D9B-9CFA-31F6BFFD18A6/CustomerApp.app/Frameworks/RealmSwift.framework/RealmSwift
Expected in: /private/var/containers/Bundle/Application/3D42EB1F-24BC-4D9B-9CFA-31F6BFFD18A6/CustomerApp.app/Frameworks/libswiftCore.dylib
in /private/var/containers/Bundle/Application/3D42EB1F-24BC-4D9B-9CFA-31F6BFFD18A6/CustomerApp.app/Frameworks/RealmSwift.framework/RealmSwift
Message from debugger: Terminated due to signal 6

edit Didn't read far enough. I see that you are expecting to have the binaries available tomorrow.

@kishikawakatsumi I just discovered that yesterday, thanks! I upgraded Carthage, did a new carthage update on Realm, and it worked. :)

carthage update --no-use-binaries

* Fetching realm-cocoa
Checking out realm-cocoa at "v2.4.4"
xcodebuild output can be found in /var/folders/vd/cxm9zzdj66q9k996zp51v3j00000gq/T/carthage-xcodebuild.i47Zr8.log
*
Building scheme "Realm" in Realm.xcworkspace
Build Failed
Task failed with exit code 65:
/usr/bin/xcrun xcodebuild -workspace /Users/lc/Desktop/Gf/Cart/Carthage/Checkouts/realm-cocoa/Carthage/Realm.xcworkspace -scheme Realm -configuration Release -derivedDataPath /Users/lc/Library/Caches/org.carthage.CarthageKit/DerivedData/realm-cocoa/v2.4.4 -sdk watchos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES clean build

@springlo could you please share the contents of the log file? /var/folders/vd/cxm9zzdj66q9k996zp51v3j00000gq/T/carthage-xcodebuild.i47Zr8.log

Realm 2.5.0 is out, along with Carthage binaries: https://github.com/realm/realm-cocoa/releases/tag/v2.5.0

re: dyld: Symbol not found: __TMps13IndexableBase

First, I removed my older Swift modules, and replaced with new ones using carthage. [I did not specify —no-use-binaries] because this link from above -- (https://github.com/Carthage/Carthage/releases/tag/0.20.0) says I don’t need to.
I receive this error (only in one project so far, at least a dozen others don't have this issue):
dyld: Symbol not found: __TMps13IndexableBase
Referenced from: /Users/Alex/Library/Developer/CoreSimulator/Devices/743F0FAB-B924-4998-B9C3-6BF441543603/data/Containers/Bundle/Application/67820A31-B2D2-48E2-A3F8-CB3F1E802A77/Status.app/Frameworks/RealmSwift.framework/RealmSwift
Expected in: /Users/Alex/Library/Developer/CoreSimulator/Devices/743F0FAB-B924-4998-B9C3-6BF441543603/data/Containers/Bundle/Application/67820A31-B2D2-48E2-A3F8-CB3F1E802A77/Status.app/Frameworks/libswiftCore.dylib
in /Users/Alex/Library/Developer/CoreSimulator/Devices/743F0FAB-B924-4998-B9C3-6BF441543603/data/Containers/Bundle/Application/67820A31-B2D2-48E2-A3F8-CB3F1E802A77/Status.app/Frameworks/RealmSwift.framework/RealmSwift

I created a new framework using the —no-use-binaries variant, and have the same issue:
dyld: Symbol not found: __TMps13IndexableBase
Referenced from: /Users/Alex/Library/Developer/CoreSimulator/Devices/743F0FAB-B924-4998-B9C3-6BF441543603/data/Containers/Bundle/Application/4BFE81DD-14D4-4611-92F4-DF674C622D32/Status.app/Frameworks/RealmSwift.framework/RealmSwift
Expected in: /Users/Alex/Library/Developer/CoreSimulator/Devices/743F0FAB-B924-4998-B9C3-6BF441543603/data/Containers/Bundle/Application/4BFE81DD-14D4-4611-92F4-DF674C622D32/Status.app/Frameworks/libswiftCore.dylib
in /Users/Alex/Library/Developer/CoreSimulator/Devices/743F0FAB-B924-4998-B9C3-6BF441543603/data/Containers/Bundle/Application/4BFE81DD-14D4-4611-92F4-DF674C622D32/Status.app/Frameworks/RealmSwift.framework/RealmSwift

What other information can I provide?

What other information can I provide?

You're likely using incompatible Swift versions. The Carthage binaries we produce are always built with the latest stable version of Xcode at the time of the release. So our Realm Swift 2.6.2 Carthage binaries were built with Xcode 8.3.2. No other version of Xcode will work with these binaries.

But I also tried no-use-binaries before reporting the problem and that didn't solve it.

Sent from my iPhone

On Apr 24, 2017, at 1:49 PM, JP Simard notifications@github.com wrote:

What other information can I provide?

You're likely using incompatible Swift versions. The Carthage binaries we produce are always built with the latest stable version of Xcode at the time of the release. So our Realm Swift 2.6.2 Carthage binaries were built with Xcode 8.3.2. No other version of Xcode will work with these binaries.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

But I also tried no-use-binaries before reporting the problem and that didn't solve it.

Do you have more than one version of the Swift compiler installed? The error you're seeing stems from mismatched Swift versions.

I'm using Xcode 8.3.2. And Carthage 0.20.1. There must be some other variable. I'll try installing everything on my old mac and let you know if I learn anything. As I mentioned, everything works fine on all my other projects.
I appreciate all your hard work. I really like having something to aspire to.

Sent from my iPhone

On Apr 24, 2017, at 1:49 PM, JP Simard notifications@github.com wrote:

What other information can I provide?

You're likely using incompatible Swift versions. The Carthage binaries we produce are always built with the latest stable version of Xcode at the time of the release. So our Realm Swift 2.6.2 Carthage binaries were built with Xcode 8.3.2. No other version of Xcode will work with these binaries.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Interesting. I had copied Xcode from my other mac and halfway during the latest upgrade it restarted and instead of the 2 GB file it was working on, it downloaded a 4 GB file. I'll work it through the other machine, then my current one. I appreciate the rapid feedback.

On Apr 24, 2017, at 5:35 PM, JP Simard notifications@github.com wrote:

But I also tried no-use-binaries before reporting the problem and that didn't solve it.

Do you have more than one version of the Swift compiler installed? The error you're seeing stems from mismatched Swift versions.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I deleted Xcode off my machine (then rebooted), downloaded a new copy from the app store. I'm now running 8.3.2 (8E2002).
I then downloaded Realm 2.6.2 from the link provided in the documentation at: static.realm.io
I replaced the Realm and RealmSwift frameworks with the new ones in the swift-3.1 folder, did a full clean of the build and built my app. When I try to run it, I still get:
dyld: Symbol not found: __TMps13IndexableBase

Sorry to hear that. Can you email us an archive of the Xcode project that we can attempt to build on our side to reproduce the issue? [email protected]

Thank you for your offer. I created a new project and copied over the files I needed and the new project compiles without issue. I presume there was cruft somewhere that somehow never got cleared out. In the future I will try building a new copy of the project before reporting an issue. No need to reopen this one.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dmorrow picture dmorrow  ·  3Comments

dennisgec picture dennisgec  ·  3Comments

jpsim picture jpsim  ·  3Comments

yangmeyer picture yangmeyer  ·  3Comments

carvalho-oak picture carvalho-oak  ·  3Comments