The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build MuslimData, reference main (0bdaa0), with Swift 6.0 for macOS (SPM) on 5 Nov 2024 06:35:14 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kosratdev/muslim-data-ios.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kosratdev/muslim-data-ios
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 0bdaa05 Merge branch 'main' of github.com:KosratDAhmad/MuslimData
Cloned https://github.com/kosratdev/muslim-data-ios.git
Revision (git rev-parse @):
0bdaa05fcdccd022c89bf7a6951a9b6aba42787f
SUCCESS checkout https://github.com/kosratdev/muslim-data-ios.git at main
Fetching https://github.com/groue/GRDB.swift.git
[1/109896] Fetching grdb.swift
Fetched https://github.com/groue/GRDB.swift.git from cache (27.53s)
Computing version for https://github.com/groue/GRDB.swift.git
Computed https://github.com/groue/GRDB.swift.git at 6.26.0 (3.21s)
Creating working copy for https://github.com/groue/GRDB.swift.git
Working copy of https://github.com/groue/GRDB.swift.git resolved at 6.26.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "muslim-data-ios",
      "name": "MuslimData",
      "url": "https://github.com/kosratdev/muslim-data-ios.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/muslim-data-ios",
      "dependencies": [
        {
          "identity": "grdb.swift",
          "name": "GRDB",
          "url": "https://github.com/groue/GRDB.swift.git",
          "version": "6.26.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/GRDB.swift",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/kosratdev/muslim-data-ios.git
[1/2430] Fetching muslim-data-ios
Fetched https://github.com/kosratdev/muslim-data-ios.git from cache (5.20s)
Fetching https://github.com/groue/GRDB.swift.git from cache
Fetched https://github.com/groue/GRDB.swift.git from cache (0.73s)
Computing version for https://github.com/groue/GRDB.swift.git
Computed https://github.com/groue/GRDB.swift.git at 6.26.0 (0.03s)
Creating working copy for https://github.com/groue/GRDB.swift.git
Working copy of https://github.com/groue/GRDB.swift.git resolved at 6.26.0
Creating working copy for https://github.com/kosratdev/muslim-data-ios.git
Working copy of https://github.com/kosratdev/muslim-data-ios.git resolved at main (0bdaa05)
warning: '.resolve-product-dependencies': dependency 'muslim-data-ios' is not used by any target
Found 1 product dependencies
  - GRDB
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/kosratdev/muslim-data-ios.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/7] Write sources
[2/7] Copying muslim_db_v2.1.0.db
[2/7] Copying CHANGELOG.md
[3/7] Copying Info.plist
[5/7] Copying PrivacyInfo.xcprivacy
[6/7] Write swift-version--7754E27361AE5C74.txt
[8/157] Compiling GRDB SQLFunctions.swift
[9/157] Compiling GRDB SQLOperators.swift
[10/157] Compiling GRDB SQLOrdering.swift
[11/157] Compiling GRDB SQLRelation.swift
[12/157] Compiling GRDB SQLSelection.swift
[13/157] Compiling GRDB SQLSubquery.swift
[14/157] Compiling GRDB Table.swift
[15/157] Compiling GRDB SQLColumnGenerator.swift
[16/157] Compiling GRDB SQLGenerationContext.swift
[17/157] Compiling GRDB SQLIndexGenerator.swift
[18/157] Compiling GRDB SQLQueryGenerator.swift
[19/157] Compiling GRDB SQLTableAlterationGenerator.swift
[20/157] Compiling GRDB SQLTableGenerator.swift
[21/157] Compiling GRDB SQLInterpolation+QueryInterface.swift
[22/157] Compiling GRDB ColumnDefinition.swift
[23/157] Compiling GRDB Database+SchemaDefinition.swift
[24/173] Emitting module GRDB
[25/173] Compiling GRDB StandardLibrary.swift
[26/173] Compiling GRDB TransactionClock.swift
[27/173] Compiling GRDB TransactionObserver.swift
[28/173] Compiling GRDB WALSnapshot.swift
[29/173] Compiling GRDB WALSnapshotTransaction.swift
[30/173] Compiling GRDB Database+Dump.swift
[31/173] Compiling GRDB DatabaseReader+dump.swift
[32/173] Compiling GRDB DumpFormat.swift
[33/173] Compiling GRDB DebugDumpFormat.swift
[34/173] Compiling GRDB JSONDumpFormat.swift
[35/173] Compiling GRDB LineDumpFormat.swift
[36/173] Compiling GRDB ListDumpFormat.swift
[37/173] Compiling GRDB QuoteDumpFormat.swift
[38/173] Compiling GRDB Export.swift
[39/173] Compiling GRDB FTS3.swift
[40/173] Compiling GRDB FTS3Pattern.swift
[41/173] Compiling GRDB FTS3TokenizerDescriptor.swift
[42/173] Compiling GRDB MutablePersistableRecord+Update.swift
[43/173] Compiling GRDB MutablePersistableRecord+Upsert.swift
[44/173] Compiling GRDB MutablePersistableRecord.swift
[45/173] Compiling GRDB PersistableRecord+Insert.swift
[46/173] Compiling GRDB PersistableRecord+Save.swift
[47/173] Compiling GRDB PersistableRecord+Upsert.swift
[48/173] Compiling GRDB PersistableRecord.swift
[49/173] Compiling GRDB Record.swift
[50/173] Compiling GRDB TableRecord.swift
[51/173] Compiling GRDB CaseInsensitiveIdentifier.swift
[52/173] Compiling GRDB Inflections+English.swift
[53/173] Compiling GRDB Inflections.swift
[54/173] Compiling GRDB LockedBox.swift
[55/173] Compiling GRDB OnDemandFuture.swift
[56/173] Compiling GRDB OrderedDictionary.swift
[57/173] Compiling GRDB Pool.swift
[58/173] Compiling GRDB DatabaseSnapshotPool.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[59/173] Compiling GRDB DatabaseValue.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[60/173] Compiling GRDB DatabaseValueConvertible.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[61/173] Compiling GRDB DatabaseWriter.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[62/173] Compiling GRDB FetchRequest.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[63/173] Compiling GRDB Row.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[64/173] Compiling GRDB RowAdapter.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[65/173] Compiling GRDB RowDecodingError.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[66/173] Compiling GRDB SQL.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[67/173] Compiling GRDB SQLInterpolation.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[68/173] Compiling GRDB SQLRequest.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[69/173] Compiling GRDB SchedulingWatchdog.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[70/173] Compiling GRDB SerializedDatabase.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[71/173] Compiling GRDB Statement.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[72/173] Compiling GRDB StatementAuthorizer.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[73/173] Compiling GRDB StatementColumnConvertible.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[74/173] Compiling GRDB CGFloat.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:116:19: error: cannot find 'strcmp' in scope
114 |             // they are prevented when the truncate optimization is disabled.
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
118 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:117:19: error: cannot find 'strcmp' in scope
115 |             // Let's always authorize such deletions by returning SQLITE_OK:
116 |             guard strcmp(cString1, "sqlite_master") != 0 else { return SQLITE_OK }
117 |             guard strcmp(cString1, "sqlite_temp_master") != 0 else { return SQLITE_OK }
    |                   `- error: cannot find 'strcmp' in scope
118 |
119 |             let tableName = String(cString: cString1)
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:141:16: error: cannot find 'strcmp' in scope
139 |         case SQLITE_TRANSACTION:
140 |             guard let cString1 else { return SQLITE_OK }
141 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:143:23: error: cannot find 'strcmp' in scope
141 |             if strcmp(cString1, "BEGIN") == 0 {
142 |                 transactionEffect = .beginTransaction
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:145:23: error: cannot find 'strcmp' in scope
143 |             } else if strcmp(cString1, "COMMIT") == 0 {
144 |                 transactionEffect = .commitTransaction
145 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
146 |                 transactionEffect = .rollbackTransaction
147 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:153:16: error: cannot find 'strcmp' in scope
151 |             guard let cString1 else { return SQLITE_OK }
152 |             guard let name = cString2.map(String.init) else { return SQLITE_OK }
153 |             if strcmp(cString1, "BEGIN") == 0 {
    |                `- error: cannot find 'strcmp' in scope
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:155:23: error: cannot find 'strcmp' in scope
153 |             if strcmp(cString1, "BEGIN") == 0 {
154 |                 transactionEffect = .beginSavepoint(name)
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:157:23: error: cannot find 'strcmp' in scope
155 |             } else if strcmp(cString1, "RELEASE") == 0 {
156 |                 transactionEffect = .releaseSavepoint(name)
157 |             } else if strcmp(cString1, "ROLLBACK") == 0 {
    |                       `- error: cannot find 'strcmp' in scope
158 |                 transactionEffect = .rollbackSavepoint(name)
159 |             }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/GRDB.swift/GRDB/Core/StatementAuthorizer.swift:174:16: error: cannot find 'strcmp' in scope
172 |             if sqlite3_libversion_number() < 3038000,
173 |                let cString2,
174 |                strcmp(cString2, "sqlite_drop_column") == 0
    |                `- error: cannot find 'strcmp' in scope
175 |             {
176 |                 invalidatesDatabaseSchemaCache = true
[75/173] Compiling GRDB Configuration.swift
[76/173] Compiling GRDB Cursor.swift
[77/173] Compiling GRDB Database+Schema.swift
[78/173] Compiling GRDB Database+Statements.swift
[79/173] Compiling GRDB Database.swift
[80/173] Compiling GRDB DatabaseBackupProgress.swift
[81/173] Compiling GRDB DatabaseCollation.swift
[82/173] Compiling GRDB DatabaseError.swift
[83/173] Compiling GRDB DatabaseFunction.swift
[84/173] Compiling GRDB DatabasePool.swift
[85/173] Compiling GRDB DatabasePublishers.swift
[86/173] Compiling GRDB DatabaseQueue.swift
[87/173] Compiling GRDB DatabaseReader.swift
[88/173] Compiling GRDB DatabaseRegion.swift
[89/173] Compiling GRDB DatabaseRegionObservation.swift
[90/173] Compiling GRDB DatabaseSchemaCache.swift
[91/173] Compiling GRDB DatabaseSnapshot.swift
[92/173] Compiling GRDB FTS4.swift
[93/173] Compiling GRDB FTS5.swift
[94/173] Compiling GRDB FTS5CustomTokenizer.swift
[95/173] Compiling GRDB FTS5Pattern.swift
[96/173] Compiling GRDB FTS5Tokenizer.swift
[97/173] Compiling GRDB FTS5TokenizerDescriptor.swift
[98/173] Compiling GRDB FTS5WrapperTokenizer.swift
[99/173] Compiling GRDB Fixits.swift
[100/173] Compiling GRDB JSONColumn.swift
[101/173] Compiling GRDB SQLJSONExpressible.swift
[102/173] Compiling GRDB SQLJSONFunctions.swift
[103/173] Compiling GRDB DatabaseMigrator.swift
[104/173] Compiling GRDB Migration.swift
[105/173] Compiling GRDB FTS3+QueryInterface.swift
[106/173] Compiling GRDB FTS5+QueryInterface.swift
[107/173] Compiling GRDB ForeignKey.swift
[108/173] Compiling GRDB Association.swift
[109/173] Compiling GRDB AssociationAggregate.swift
[110/173] Compiling GRDB BelongsToAssociation.swift
[111/173] Compiling GRDB HasManyAssociation.swift
[112/173] Compiling GRDB HasManyThroughAssociation.swift
[113/173] Compiling GRDB HasOneAssociation.swift
[114/173] Compiling GRDB HasOneThroughAssociation.swift
[115/173] Compiling GRDB JoinAssociation.swift
[116/173] Compiling GRDB CommonTableExpression.swift
[117/173] Compiling GRDB QueryInterfaceRequest.swift
[118/173] Compiling GRDB RequestProtocols.swift
[119/173] Compiling GRDB Column.swift
[120/173] Compiling GRDB DatabasePromise.swift
[121/173] Compiling GRDB SQLAssociation.swift
[122/173] Compiling GRDB SQLCollection.swift
[123/173] Compiling GRDB SQLExpression.swift
[124/173] Compiling GRDB SQLForeignKeyRequest.swift
[125/173] Compiling GRDB Data.swift
[126/173] Compiling GRDB DatabaseDateComponents.swift
[127/173] Compiling GRDB DatabaseValueConvertible+ReferenceConvertible.swift
[128/173] Compiling GRDB Date.swift
[129/173] Compiling GRDB Decimal.swift
[130/173] Compiling GRDB NSData.swift
[131/173] Compiling GRDB NSNull.swift
[132/173] Compiling GRDB NSNumber.swift
[133/173] Compiling GRDB NSString.swift
[134/173] Compiling GRDB SQLiteDateParser.swift
[135/173] Compiling GRDB URL.swift
[136/173] Compiling GRDB UUID.swift
[137/173] Compiling GRDB DatabaseValueConvertible+Decodable.swift
[138/173] Compiling GRDB DatabaseValueConvertible+Encodable.swift
[139/173] Compiling GRDB DatabaseValueConvertible+RawRepresentable.swift
[140/173] Compiling GRDB JSONRequiredEncoder.swift
[141/173] Compiling GRDB Optional.swift
[142/173] Compiling GRDB ForeignKeyDefinition.swift
[143/173] Compiling GRDB IndexDefinition.swift
[144/173] Compiling GRDB TableAlteration.swift
[145/173] Compiling GRDB TableDefinition.swift
[146/173] Compiling GRDB VirtualTableModule.swift
[147/173] Compiling GRDB TableRecord+Association.swift
[148/173] Compiling GRDB TableRecord+QueryInterfaceRequest.swift
[149/173] Compiling GRDB EncodableRecord+Encodable.swift
[150/173] Compiling GRDB EncodableRecord.swift
[151/173] Compiling GRDB FetchableRecord+Decodable.swift
[152/173] Compiling GRDB FetchableRecord+TableRecord.swift
[153/173] Compiling GRDB FetchableRecord.swift
[154/173] Compiling GRDB MutablePersistableRecord+DAO.swift
[155/173] Compiling GRDB MutablePersistableRecord+Delete.swift
[156/173] Compiling GRDB MutablePersistableRecord+Insert.swift
[157/173] Compiling GRDB MutablePersistableRecord+Save.swift
[158/173] Compiling GRDB ReadWriteBox.swift
[159/173] Compiling GRDB ReceiveValuesOn.swift
[160/173] Compiling GRDB Refinable.swift
[161/173] Compiling GRDB Utils.swift
[162/173] Compiling GRDB DatabaseCancellable.swift
[163/173] Compiling GRDB ValueConcurrentObserver.swift
[164/173] Compiling GRDB ValueWriteOnlyObserver.swift
[165/173] Compiling GRDB Fetch.swift
[166/173] Compiling GRDB Map.swift
[167/173] Compiling GRDB RemoveDuplicates.swift
[168/173] Compiling GRDB Trace.swift
[169/173] Compiling GRDB ValueReducer.swift
[170/173] Compiling GRDB SharedValueObservation.swift
[171/173] Compiling GRDB ValueObservation.swift
[172/173] Compiling GRDB ValueObservationScheduler.swift
[173/173] Compiling GRDB resource_bundle_accessor.swift
BUILD FAILURE 6.0 macosSpm