0

I'm running Xcode 8.0 build version 8S174q and Apple Swift version 3.0 (swiftlang-800.0.34.6 clang-800.0.33).

Pauls-Mac-mini:~ paul$ xcrun xcodebuild -version
Xcode 8.0
Build version 8S174q
Pauls-Mac-mini:~ paul$ xcrun swift -version
Apple Swift version 3.0 (swiftlang-800.0.34.6 clang-800.0.33)
Target: x86_64-apple-macosx10.9
Pauls-Mac-mini:~ paul$ xcrun --find swift
/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift

From https://github.com/stephencelis/SQLite.swift I've installed version 0.11.0 (note it is written in Swift 3). I've tried the three installation methods on that web page and after a day of mucking around still cannot get sqlite.swift to compile. Via the Xcode Report Navigator (CMD-8) I see hundreds of compilation errors, a couple of which I've pasted below.

/Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Core/Connection.swift:69:9: error: expected declaration
        fileprivate init(rawValue:Int32) {
        ^
/Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Core/Connection.swift:58:17: note: in declaration of 'Operation'
    public enum Operation {
                ^
/Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Core/Connection.swift:69:20: error: consecutive declarations on a line must be separated by ';'
        fileprivate init(rawValue:Int32) {
                   ^

I initially suspected that the swift 3.0 compiler was not being used, but from looking at the compile command (below) that doesn't seem to be the case.

I've tried 3 ways to install SQLite.swift - using Carthage, cocoapods and installing SQLite.swift as an Xcode sub-project. I cannot build SQlite.swift.

Please help! I'm new to iOS development, Xcode and the tools, so am stumped by this. Below I've added some more detailed information such as the compilation command that is generating the errors. Can you suggest a possible solution or even something I can try to get this subproject to build?

CompileSwift normal x86_64 /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Typed/CoreFunctions.swift
    cd /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift
    /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Typed/CoreFunctions.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Extensions/RTree.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Core/Blob.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Foundation.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Core/Connection.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Typed/Expression.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Helpers.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Typed/Collation.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Typed/Setter.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Typed/CustomFunctions.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Extensions/FTS4.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Core/Value.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Typed/Operators.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Typed/Schema.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Typed/Query.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Core/Statement.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Typed/AggregateFunctions.swift /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/SQLite/Extensions/FTS5.swift -target x86_64-apple-ios10.0 -enable-objc-interop -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.0.sdk -I /Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Products/Debug-iphonesimulator -I /Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift/CocoaPods/iphonesimulator-10.0 -F /Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Products/Debug-iphonesimulator -application-extension -enable-testing -g -import-underlying-module -module-cache-path /Users/paul/Library/Developer/Xcode/DerivedData/ModuleCache -serialize-debugging-options -Xcc "-I/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/swift-overrides.hmap" -Xcc -iquote -Xcc "/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/SQLite-generated-files.hmap" -Xcc "-I/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/SQLite-own-target-headers.hmap" -Xcc "-I/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/SQLite-all-non-framework-target-headers.hmap" -Xcc -ivfsoverlay -Xcc /Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/all-product-headers.yaml -Xcc -iquote -Xcc "/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/SQLite-project-headers.hmap" -Xcc -I/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Products/Debug-iphonesimulator/include -Xcc "-I/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/DerivedSources/x86_64" -Xcc "-I/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/DerivedSources" -Xcc -DDEBUG=1 -Xcc -ivfsoverlay -Xcc "/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/unextended-module-overlay.yaml" -Xcc -working-directory/Users/paul/Documents/MySandbox/TestThreeSqlite/SQLite.swift -emit-module-doc-path "/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/Objects-normal/x86_64/CoreFunctions~partial.swiftdoc" -Onone -module-name SQLite -emit-module-path "/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/Objects-normal/x86_64/CoreFunctions~partial.swiftmodule" -serialize-diagnostics-path "/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/Objects-normal/x86_64/CoreFunctions.dia" -emit-dependencies-path "/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/Objects-normal/x86_64/CoreFunctions.d" -emit-reference-dependencies-path "/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/Objects-normal/x86_64/CoreFunctions.swiftdeps" -o "/Users/paul/Library/Developer/Xcode/DerivedData/TestThreeSqlite-hfrusllbfhbivxajwyfswvzejkpl/Build/Intermediates/SQLite.build/Debug-iphonesimulator/SQLite iOS.build/Objects-normal/x86_64/CoreFunctions.o"
pbm
  • 5,081
  • 4
  • 18
  • 31

1 Answers1

1

The problem was caused by using a version of swift that did not support some new swift language features that are in version 0.11.0 of https://github.com/stephencelis/SQLite.swift (for example the fileprivate access level modifier). It was difficult to correlate the Xcode beta build to the swift version (swiftlang-800.0.34.6 clang-800.0.33 in this case) to the swift language release notes (https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/RevisionHistory.html).

I upgraded to Xcode 8.1 which uses Swift 3.0.1 and now see no build problems. Now that Xcode is no longer beta I hope cross referencing between xcode versions, swift language codes and swift release notes will be easier.

pbm
  • 5,081
  • 4
  • 18
  • 31