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 KeychainStore, reference 3.2.0 (9113d6), with Swift 6.1 for Linux on 26 Apr 2025 15:26:48 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/JuanjoArreola/KeychainStore.git
Reference: 3.2.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/JuanjoArreola/KeychainStore
 * tag               3.2.0      -> FETCH_HEAD
HEAD is now at 9113d6c public final KeychainStore
Cloned https://github.com/JuanjoArreola/KeychainStore.git
Revision (git rev-parse @):
9113d6c38383eee13fefea3271793cc5790bd3ec
SUCCESS checkout https://github.com/JuanjoArreola/KeychainStore.git at 3.2.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/JuanjoArreola/KeychainStore.git
https://github.com/JuanjoArreola/KeychainStore.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "KeychainStore",
  "name" : "KeychainStore",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "KeychainStore",
      "targets" : [
        "KeychainStore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "KeychainStoreTests",
      "module_type" : "SwiftTarget",
      "name" : "KeychainStoreTests",
      "path" : "Tests/KeychainStoreTests",
      "sources" : [
        "InstanceStoreTests.swift",
        "StringTests.swift"
      ],
      "target_dependencies" : [
        "KeychainStore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KeychainStore",
      "module_type" : "SwiftTarget",
      "name" : "KeychainStore",
      "path" : "Sources/KeychainStore",
      "product_memberships" : [
        "KeychainStore"
      ],
      "sources" : [
        "AbstractKeychainStore.swift",
        "KeychainAccessibility.swift",
        "KeychainStore.swift",
        "KeychainStoreError.swift",
        "KeychainStringStore.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/8] Compiling KeychainStore KeychainStore.swift
[4/8] Compiling KeychainStore KeychainStringStore.swift
[5/8] Compiling KeychainStore KeychainStoreError.swift
[6/8] Compiling KeychainStore KeychainAccessibility.swift
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:21:20: error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
19 |         switch self {
20 |         case .afterFirstUnlock:
21 |             return kSecAttrAccessibleAfterFirstUnlock as String
   |                    `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
22 |         case .afterFirstUnlockThisDeviceOnly:
23 |             return kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:23:20: error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
21 |             return kSecAttrAccessibleAfterFirstUnlock as String
22 |         case .afterFirstUnlockThisDeviceOnly:
23 |             return kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly as String
   |                    `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
24 |         case .always:
25 |             return kSecAttrAccessibleAlways as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:25:20: error: cannot find 'kSecAttrAccessibleAlways' in scope
23 |             return kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly as String
24 |         case .always:
25 |             return kSecAttrAccessibleAlways as String
   |                    `- error: cannot find 'kSecAttrAccessibleAlways' in scope
26 |         case .whenPasscodeSetThisDeviceOnly:
27 |             return kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:27:20: error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
25 |             return kSecAttrAccessibleAlways as String
26 |         case .whenPasscodeSetThisDeviceOnly:
27 |             return kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly as String
   |                    `- error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
28 |         case .alwaysThisDeviceOnly:
29 |             return kSecAttrAccessibleAlwaysThisDeviceOnly as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:29:20: error: cannot find 'kSecAttrAccessibleAlwaysThisDeviceOnly' in scope
27 |             return kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly as String
28 |         case .alwaysThisDeviceOnly:
29 |             return kSecAttrAccessibleAlwaysThisDeviceOnly as String
   |                    `- error: cannot find 'kSecAttrAccessibleAlwaysThisDeviceOnly' in scope
30 |         case .whenUnlocked:
31 |             return kSecAttrAccessibleWhenUnlocked as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:31:20: error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
29 |             return kSecAttrAccessibleAlwaysThisDeviceOnly as String
30 |         case .whenUnlocked:
31 |             return kSecAttrAccessibleWhenUnlocked as String
   |                    `- error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
32 |         case .whenUnlockedThisDeviceOnly:
33 |             return kSecAttrAccessibleWhenUnlockedThisDeviceOnly as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:33:20: error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
31 |             return kSecAttrAccessibleWhenUnlocked as String
32 |         case .whenUnlockedThisDeviceOnly:
33 |             return kSecAttrAccessibleWhenUnlockedThisDeviceOnly as String
   |                    `- error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
34 |         }
35 |     }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/8] Emitting module KeychainStore
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:11:24: error: cannot find 'kSecClass' in scope
  9 | import Foundation
 10 |
 11 | private let secClass = kSecClass as String
    |                        `- error: cannot find 'kSecClass' in scope
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:12:30: error: cannot find 'kSecAttrGeneric' in scope
 10 |
 11 | private let secClass = kSecClass as String
 12 | private let secAttrGeneric = kSecAttrGeneric as String
    |                              `- error: cannot find 'kSecAttrGeneric' in scope
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:13:30: error: cannot find 'kSecAttrService' in scope
 11 | private let secClass = kSecClass as String
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
    |                              `- error: cannot find 'kSecAttrService' in scope
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:14:34: error: cannot find 'kSecAttrAccessGroup' in scope
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
    |                                  `- error: cannot find 'kSecAttrAccessGroup' in scope
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:15:29: error: cannot find 'kSecAttrAccount' in scope
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
    |                             `- error: cannot find 'kSecAttrAccount' in scope
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:16:29: error: cannot find 'kSecMatchLimit' in scope
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
    |                             `- error: cannot find 'kSecMatchLimit' in scope
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:17:29: error: cannot find 'kSecReturnData' in scope
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
    |                             `- error: cannot find 'kSecReturnData' in scope
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:18:28: error: cannot find 'kSecValueData' in scope
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
    |                            `- error: cannot find 'kSecValueData' in scope
 19 | private let secAttrAccessible = kSecAttrAccessible as String
 20 | private let secReturnAttributes = kSecReturnAttributes as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:19:33: error: cannot find 'kSecAttrAccessible' in scope
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
    |                                 `- error: cannot find 'kSecAttrAccessible' in scope
 20 | private let secReturnAttributes = kSecReturnAttributes as String
 21 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:20:35: error: cannot find 'kSecReturnAttributes' in scope
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
 20 | private let secReturnAttributes = kSecReturnAttributes as String
    |                                   `- error: cannot find 'kSecReturnAttributes' in scope
 21 |
 22 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:172:24: error: cannot find type 'OSStatus' in scope
170 | }
171 |
172 | func error(from staus: OSStatus) -> KeychainStoreError {
    |                        `- error: cannot find type 'OSStatus' in scope
173 |     switch staus {
174 |     case errSecItemNotFound:
[8/8] Compiling KeychainStore AbstractKeychainStore.swift
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:11:24: error: cannot find 'kSecClass' in scope
  9 | import Foundation
 10 |
 11 | private let secClass = kSecClass as String
    |                        `- error: cannot find 'kSecClass' in scope
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:12:30: error: cannot find 'kSecAttrGeneric' in scope
 10 |
 11 | private let secClass = kSecClass as String
 12 | private let secAttrGeneric = kSecAttrGeneric as String
    |                              `- error: cannot find 'kSecAttrGeneric' in scope
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:13:30: error: cannot find 'kSecAttrService' in scope
 11 | private let secClass = kSecClass as String
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
    |                              `- error: cannot find 'kSecAttrService' in scope
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:14:34: error: cannot find 'kSecAttrAccessGroup' in scope
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
    |                                  `- error: cannot find 'kSecAttrAccessGroup' in scope
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:15:29: error: cannot find 'kSecAttrAccount' in scope
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
    |                             `- error: cannot find 'kSecAttrAccount' in scope
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:16:29: error: cannot find 'kSecMatchLimit' in scope
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
    |                             `- error: cannot find 'kSecMatchLimit' in scope
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:17:29: error: cannot find 'kSecReturnData' in scope
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
    |                             `- error: cannot find 'kSecReturnData' in scope
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:18:28: error: cannot find 'kSecValueData' in scope
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
    |                            `- error: cannot find 'kSecValueData' in scope
 19 | private let secAttrAccessible = kSecAttrAccessible as String
 20 | private let secReturnAttributes = kSecReturnAttributes as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:19:33: error: cannot find 'kSecAttrAccessible' in scope
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
    |                                 `- error: cannot find 'kSecAttrAccessible' in scope
 20 | private let secReturnAttributes = kSecReturnAttributes as String
 21 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:20:35: error: cannot find 'kSecReturnAttributes' in scope
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
 20 | private let secReturnAttributes = kSecReturnAttributes as String
    |                                   `- error: cannot find 'kSecReturnAttributes' in scope
 21 |
 22 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:172:24: error: cannot find type 'OSStatus' in scope
170 | }
171 |
172 | func error(from staus: OSStatus) -> KeychainStoreError {
    |                        `- error: cannot find type 'OSStatus' in scope
173 |     switch staus {
174 |     case errSecItemNotFound:
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:39:23: error: cannot find 'kSecClassGenericPassword' in scope
 37 |     private func keychainQuery(forKey key: String) -> [String: Any] {
 38 |         var query: [String: Any] = [
 39 |             secClass: kSecClassGenericPassword,
    |                       `- error: cannot find 'kSecClassGenericPassword' in scope
 40 |             secAttrAcount: account,
 41 |             secAttrService: key
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:56:32: error: cannot find 'kSecMatchLimitOne' in scope
 54 |     open func data(forKey key: String) throws -> Data? {
 55 |         var query = keychainQuery(forKey: key)
 56 |         query[secMatchLimit] = kSecMatchLimitOne
    |                                `- error: cannot find 'kSecMatchLimitOne' in scope
 57 |         query[secReturnData] = kCFBooleanTrue
 58 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:57:32: error: cannot find 'kCFBooleanTrue' in scope
 55 |         var query = keychainQuery(forKey: key)
 56 |         query[secMatchLimit] = kSecMatchLimitOne
 57 |         query[secReturnData] = kCFBooleanTrue
    |                                `- error: cannot find 'kCFBooleanTrue' in scope
 58 |
 59 |         var result: AnyObject?
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:61:13: error: cannot find 'SecItemCopyMatching' in scope
 59 |         var result: AnyObject?
 60 |         let status = withUnsafeMutablePointer(to: &result) {
 61 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |             `- error: cannot find 'SecItemCopyMatching' in scope
 62 |         }
 63 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:61:42: error: cannot find type 'CFDictionary' in scope
 59 |         var result: AnyObject?
 60 |         let status = withUnsafeMutablePointer(to: &result) {
 61 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |                                          `- error: cannot find type 'CFDictionary' in scope
 62 |         }
 63 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:63:22: error: cannot find 'errSecSuccess' in scope
 61 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
 62 |         }
 63 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
 64 |             return result as? Data
 65 |         } else if status == errSecItemNotFound {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:65:29: error: cannot find 'errSecItemNotFound' in scope
 63 |         if status == errSecSuccess {
 64 |             return result as? Data
 65 |         } else if status == errSecItemNotFound {
    |                             `- error: cannot find 'errSecItemNotFound' in scope
 66 |             return nil
 67 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:73:32: error: cannot find 'kSecMatchLimitOne' in scope
 71 |     public func hasKey(_ key: String) throws -> Bool {
 72 |         var query = keychainQuery(forKey: key)
 73 |         query[secMatchLimit] = kSecMatchLimitOne
    |                                `- error: cannot find 'kSecMatchLimitOne' in scope
 74 |         query[secReturnData] = kCFBooleanFalse
 75 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:74:32: error: cannot find 'kCFBooleanFalse' in scope
 72 |         var query = keychainQuery(forKey: key)
 73 |         query[secMatchLimit] = kSecMatchLimitOne
 74 |         query[secReturnData] = kCFBooleanFalse
    |                                `- error: cannot find 'kCFBooleanFalse' in scope
 75 |
 76 |         var result: AnyObject?
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:78:13: error: cannot find 'SecItemCopyMatching' in scope
 76 |         var result: AnyObject?
 77 |         let status = withUnsafeMutablePointer(to: &result) {
 78 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |             `- error: cannot find 'SecItemCopyMatching' in scope
 79 |         }
 80 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:78:42: error: cannot find type 'CFDictionary' in scope
 76 |         var result: AnyObject?
 77 |         let status = withUnsafeMutablePointer(to: &result) {
 78 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |                                          `- error: cannot find type 'CFDictionary' in scope
 79 |         }
 80 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:80:22: error: cannot find 'errSecSuccess' in scope
 78 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
 79 |         }
 80 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
 81 |             return true
 82 |         } else if status == errSecItemNotFound {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:82:29: error: cannot find 'errSecItemNotFound' in scope
 80 |         if status == errSecSuccess {
 81 |             return true
 82 |         } else if status == errSecItemNotFound {
    |                             `- error: cannot find 'errSecItemNotFound' in scope
 83 |             return false
 84 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:99:22: error: cannot find 'SecItemAdd' in scope
 97 |         query[secAttrAccessible] = accessibility.rawValue
 98 |
 99 |         let status = SecItemAdd(query as CFDictionary, nil)
    |                      `- error: cannot find 'SecItemAdd' in scope
100 |         if status == errSecDuplicateItem {
101 |             try self.update(data: data, forKey: key)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:99:42: error: cannot find type 'CFDictionary' in scope
 97 |         query[secAttrAccessible] = accessibility.rawValue
 98 |
 99 |         let status = SecItemAdd(query as CFDictionary, nil)
    |                                          `- error: cannot find type 'CFDictionary' in scope
100 |         if status == errSecDuplicateItem {
101 |             try self.update(data: data, forKey: key)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:99:56: error: 'nil' requires a contextual type
 97 |         query[secAttrAccessible] = accessibility.rawValue
 98 |
 99 |         let status = SecItemAdd(query as CFDictionary, nil)
    |                                                        `- error: 'nil' requires a contextual type
100 |         if status == errSecDuplicateItem {
101 |             try self.update(data: data, forKey: key)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:100:22: error: cannot find 'errSecDuplicateItem' in scope
 98 |
 99 |         let status = SecItemAdd(query as CFDictionary, nil)
100 |         if status == errSecDuplicateItem {
    |                      `- error: cannot find 'errSecDuplicateItem' in scope
101 |             try self.update(data: data, forKey: key)
102 |         } else if status != errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:102:29: error: cannot find 'errSecSuccess' in scope
100 |         if status == errSecDuplicateItem {
101 |             try self.update(data: data, forKey: key)
102 |         } else if status != errSecSuccess {
    |                             `- error: cannot find 'errSecSuccess' in scope
103 |             throw error(from: status)
104 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:116:22: error: cannot find 'SecItemUpdate' in scope
114 |         let updateQuery = [secValueData: data]
115 |
116 |         let status = SecItemUpdate(query as CFDictionary, updateQuery as CFDictionary)
    |                      `- error: cannot find 'SecItemUpdate' in scope
117 |         if status != errSecSuccess {
118 |             throw error(from: status)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:116:45: error: cannot find type 'CFDictionary' in scope
114 |         let updateQuery = [secValueData: data]
115 |
116 |         let status = SecItemUpdate(query as CFDictionary, updateQuery as CFDictionary)
    |                                             `- error: cannot find type 'CFDictionary' in scope
117 |         if status != errSecSuccess {
118 |             throw error(from: status)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:116:74: error: cannot find type 'CFDictionary' in scope
114 |         let updateQuery = [secValueData: data]
115 |
116 |         let status = SecItemUpdate(query as CFDictionary, updateQuery as CFDictionary)
    |                                                                          `- error: cannot find type 'CFDictionary' in scope
117 |         if status != errSecSuccess {
118 |             throw error(from: status)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:117:22: error: cannot find 'errSecSuccess' in scope
115 |
116 |         let status = SecItemUpdate(query as CFDictionary, updateQuery as CFDictionary)
117 |         if status != errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
118 |             throw error(from: status)
119 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:126:23: error: cannot find 'kSecClassGenericPassword' in scope
124 |     open func allKeys() throws -> [String] {
125 |         var query: [String: Any] = [
126 |             secClass: kSecClassGenericPassword,
    |                       `- error: cannot find 'kSecClassGenericPassword' in scope
127 |             secAttrAcount: account,
128 |             secReturnAttributes: kCFBooleanTrue as Any,
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:128:34: error: cannot find 'kCFBooleanTrue' in scope
126 |             secClass: kSecClassGenericPassword,
127 |             secAttrAcount: account,
128 |             secReturnAttributes: kCFBooleanTrue as Any,
    |                                  `- error: cannot find 'kCFBooleanTrue' in scope
129 |             secMatchLimit: kSecMatchLimitAll]
130 |         if let accessGroup = accessGroup {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:129:28: error: cannot find 'kSecMatchLimitAll' in scope
127 |             secAttrAcount: account,
128 |             secReturnAttributes: kCFBooleanTrue as Any,
129 |             secMatchLimit: kSecMatchLimitAll]
    |                            `- error: cannot find 'kSecMatchLimitAll' in scope
130 |         if let accessGroup = accessGroup {
131 |             query[secAttrAccessGroup] = accessGroup
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:136:13: error: cannot find 'SecItemCopyMatching' in scope
134 |         var result: AnyObject?
135 |         let status = withUnsafeMutablePointer(to: &result) {
136 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |             `- error: cannot find 'SecItemCopyMatching' in scope
137 |         }
138 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:136:42: error: cannot find type 'CFDictionary' in scope
134 |         var result: AnyObject?
135 |         let status = withUnsafeMutablePointer(to: &result) {
136 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |                                          `- error: cannot find type 'CFDictionary' in scope
137 |         }
138 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:138:22: error: cannot find 'errSecSuccess' in scope
136 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
137 |         }
138 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
139 |             guard let items = result as? [[String: Any]] else {
140 |                 return []
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:144:27: error: cannot find 'errSecItemNotFound' in scope
142 |             return items.compactMap({ $0[secAttrService] as? String })
143 |         }
144 |         else if status == errSecItemNotFound {
    |                           `- error: cannot find 'errSecItemNotFound' in scope
145 |             return []
146 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:155:22: error: cannot find 'SecItemDelete' in scope
153 |     open func deleteItem(forKey key: String) throws {
154 |         let query = keychainQuery(forKey: key)
155 |         let status = SecItemDelete(query as CFDictionary)
    |                      `- error: cannot find 'SecItemDelete' in scope
156 |         if status != errSecSuccess {
157 |             throw error(from: status)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:155:45: error: cannot find type 'CFDictionary' in scope
153 |     open func deleteItem(forKey key: String) throws {
154 |         let query = keychainQuery(forKey: key)
155 |         let status = SecItemDelete(query as CFDictionary)
    |                                             `- error: cannot find type 'CFDictionary' in scope
156 |         if status != errSecSuccess {
157 |             throw error(from: status)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:156:22: error: cannot find 'errSecSuccess' in scope
154 |         let query = keychainQuery(forKey: key)
155 |         let status = SecItemDelete(query as CFDictionary)
156 |         if status != errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
157 |             throw error(from: status)
158 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:174:10: error: cannot find 'errSecItemNotFound' in scope
172 | func error(from staus: OSStatus) -> KeychainStoreError {
173 |     switch staus {
174 |     case errSecItemNotFound:
    |          `- error: cannot find 'errSecItemNotFound' in scope
175 |         return KeychainStoreError.itemNotFound
176 |     default:
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/7] Compiling KeychainStore KeychainStoreError.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/7] Compiling KeychainStore KeychainStore.swift
[4/7] Emitting module KeychainStore
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:11:24: error: cannot find 'kSecClass' in scope
  9 | import Foundation
 10 |
 11 | private let secClass = kSecClass as String
    |                        `- error: cannot find 'kSecClass' in scope
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:12:30: error: cannot find 'kSecAttrGeneric' in scope
 10 |
 11 | private let secClass = kSecClass as String
 12 | private let secAttrGeneric = kSecAttrGeneric as String
    |                              `- error: cannot find 'kSecAttrGeneric' in scope
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:13:30: error: cannot find 'kSecAttrService' in scope
 11 | private let secClass = kSecClass as String
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
    |                              `- error: cannot find 'kSecAttrService' in scope
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:14:34: error: cannot find 'kSecAttrAccessGroup' in scope
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
    |                                  `- error: cannot find 'kSecAttrAccessGroup' in scope
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:15:29: error: cannot find 'kSecAttrAccount' in scope
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
    |                             `- error: cannot find 'kSecAttrAccount' in scope
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:16:29: error: cannot find 'kSecMatchLimit' in scope
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
    |                             `- error: cannot find 'kSecMatchLimit' in scope
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:17:29: error: cannot find 'kSecReturnData' in scope
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
    |                             `- error: cannot find 'kSecReturnData' in scope
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:18:28: error: cannot find 'kSecValueData' in scope
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
    |                            `- error: cannot find 'kSecValueData' in scope
 19 | private let secAttrAccessible = kSecAttrAccessible as String
 20 | private let secReturnAttributes = kSecReturnAttributes as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:19:33: error: cannot find 'kSecAttrAccessible' in scope
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
    |                                 `- error: cannot find 'kSecAttrAccessible' in scope
 20 | private let secReturnAttributes = kSecReturnAttributes as String
 21 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:20:35: error: cannot find 'kSecReturnAttributes' in scope
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
 20 | private let secReturnAttributes = kSecReturnAttributes as String
    |                                   `- error: cannot find 'kSecReturnAttributes' in scope
 21 |
 22 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:172:24: error: cannot find type 'OSStatus' in scope
170 | }
171 |
172 | func error(from staus: OSStatus) -> KeychainStoreError {
    |                        `- error: cannot find type 'OSStatus' in scope
173 |     switch staus {
174 |     case errSecItemNotFound:
[5/7] Compiling KeychainStore AbstractKeychainStore.swift
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:11:24: error: cannot find 'kSecClass' in scope
  9 | import Foundation
 10 |
 11 | private let secClass = kSecClass as String
    |                        `- error: cannot find 'kSecClass' in scope
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:12:30: error: cannot find 'kSecAttrGeneric' in scope
 10 |
 11 | private let secClass = kSecClass as String
 12 | private let secAttrGeneric = kSecAttrGeneric as String
    |                              `- error: cannot find 'kSecAttrGeneric' in scope
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:13:30: error: cannot find 'kSecAttrService' in scope
 11 | private let secClass = kSecClass as String
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
    |                              `- error: cannot find 'kSecAttrService' in scope
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:14:34: error: cannot find 'kSecAttrAccessGroup' in scope
 12 | private let secAttrGeneric = kSecAttrGeneric as String
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
    |                                  `- error: cannot find 'kSecAttrAccessGroup' in scope
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:15:29: error: cannot find 'kSecAttrAccount' in scope
 13 | private let secAttrService = kSecAttrService as String
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
    |                             `- error: cannot find 'kSecAttrAccount' in scope
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:16:29: error: cannot find 'kSecMatchLimit' in scope
 14 | private let secAttrAccessGroup = kSecAttrAccessGroup as String
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
    |                             `- error: cannot find 'kSecMatchLimit' in scope
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:17:29: error: cannot find 'kSecReturnData' in scope
 15 | private let secAttrAcount = kSecAttrAccount as String
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
    |                             `- error: cannot find 'kSecReturnData' in scope
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:18:28: error: cannot find 'kSecValueData' in scope
 16 | private let secMatchLimit = kSecMatchLimit as String
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
    |                            `- error: cannot find 'kSecValueData' in scope
 19 | private let secAttrAccessible = kSecAttrAccessible as String
 20 | private let secReturnAttributes = kSecReturnAttributes as String
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:19:33: error: cannot find 'kSecAttrAccessible' in scope
 17 | private let secReturnData = kSecReturnData as String
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
    |                                 `- error: cannot find 'kSecAttrAccessible' in scope
 20 | private let secReturnAttributes = kSecReturnAttributes as String
 21 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:20:35: error: cannot find 'kSecReturnAttributes' in scope
 18 | private let secValueData = kSecValueData as String
 19 | private let secAttrAccessible = kSecAttrAccessible as String
 20 | private let secReturnAttributes = kSecReturnAttributes as String
    |                                   `- error: cannot find 'kSecReturnAttributes' in scope
 21 |
 22 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:172:24: error: cannot find type 'OSStatus' in scope
170 | }
171 |
172 | func error(from staus: OSStatus) -> KeychainStoreError {
    |                        `- error: cannot find type 'OSStatus' in scope
173 |     switch staus {
174 |     case errSecItemNotFound:
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:39:23: error: cannot find 'kSecClassGenericPassword' in scope
 37 |     private func keychainQuery(forKey key: String) -> [String: Any] {
 38 |         var query: [String: Any] = [
 39 |             secClass: kSecClassGenericPassword,
    |                       `- error: cannot find 'kSecClassGenericPassword' in scope
 40 |             secAttrAcount: account,
 41 |             secAttrService: key
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:56:32: error: cannot find 'kSecMatchLimitOne' in scope
 54 |     open func data(forKey key: String) throws -> Data? {
 55 |         var query = keychainQuery(forKey: key)
 56 |         query[secMatchLimit] = kSecMatchLimitOne
    |                                `- error: cannot find 'kSecMatchLimitOne' in scope
 57 |         query[secReturnData] = kCFBooleanTrue
 58 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:57:32: error: cannot find 'kCFBooleanTrue' in scope
 55 |         var query = keychainQuery(forKey: key)
 56 |         query[secMatchLimit] = kSecMatchLimitOne
 57 |         query[secReturnData] = kCFBooleanTrue
    |                                `- error: cannot find 'kCFBooleanTrue' in scope
 58 |
 59 |         var result: AnyObject?
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:61:13: error: cannot find 'SecItemCopyMatching' in scope
 59 |         var result: AnyObject?
 60 |         let status = withUnsafeMutablePointer(to: &result) {
 61 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |             `- error: cannot find 'SecItemCopyMatching' in scope
 62 |         }
 63 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:61:42: error: cannot find type 'CFDictionary' in scope
 59 |         var result: AnyObject?
 60 |         let status = withUnsafeMutablePointer(to: &result) {
 61 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |                                          `- error: cannot find type 'CFDictionary' in scope
 62 |         }
 63 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:63:22: error: cannot find 'errSecSuccess' in scope
 61 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
 62 |         }
 63 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
 64 |             return result as? Data
 65 |         } else if status == errSecItemNotFound {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:65:29: error: cannot find 'errSecItemNotFound' in scope
 63 |         if status == errSecSuccess {
 64 |             return result as? Data
 65 |         } else if status == errSecItemNotFound {
    |                             `- error: cannot find 'errSecItemNotFound' in scope
 66 |             return nil
 67 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:73:32: error: cannot find 'kSecMatchLimitOne' in scope
 71 |     public func hasKey(_ key: String) throws -> Bool {
 72 |         var query = keychainQuery(forKey: key)
 73 |         query[secMatchLimit] = kSecMatchLimitOne
    |                                `- error: cannot find 'kSecMatchLimitOne' in scope
 74 |         query[secReturnData] = kCFBooleanFalse
 75 |
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:74:32: error: cannot find 'kCFBooleanFalse' in scope
 72 |         var query = keychainQuery(forKey: key)
 73 |         query[secMatchLimit] = kSecMatchLimitOne
 74 |         query[secReturnData] = kCFBooleanFalse
    |                                `- error: cannot find 'kCFBooleanFalse' in scope
 75 |
 76 |         var result: AnyObject?
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:78:13: error: cannot find 'SecItemCopyMatching' in scope
 76 |         var result: AnyObject?
 77 |         let status = withUnsafeMutablePointer(to: &result) {
 78 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |             `- error: cannot find 'SecItemCopyMatching' in scope
 79 |         }
 80 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:78:42: error: cannot find type 'CFDictionary' in scope
 76 |         var result: AnyObject?
 77 |         let status = withUnsafeMutablePointer(to: &result) {
 78 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |                                          `- error: cannot find type 'CFDictionary' in scope
 79 |         }
 80 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:80:22: error: cannot find 'errSecSuccess' in scope
 78 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
 79 |         }
 80 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
 81 |             return true
 82 |         } else if status == errSecItemNotFound {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:82:29: error: cannot find 'errSecItemNotFound' in scope
 80 |         if status == errSecSuccess {
 81 |             return true
 82 |         } else if status == errSecItemNotFound {
    |                             `- error: cannot find 'errSecItemNotFound' in scope
 83 |             return false
 84 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:99:22: error: cannot find 'SecItemAdd' in scope
 97 |         query[secAttrAccessible] = accessibility.rawValue
 98 |
 99 |         let status = SecItemAdd(query as CFDictionary, nil)
    |                      `- error: cannot find 'SecItemAdd' in scope
100 |         if status == errSecDuplicateItem {
101 |             try self.update(data: data, forKey: key)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:99:42: error: cannot find type 'CFDictionary' in scope
 97 |         query[secAttrAccessible] = accessibility.rawValue
 98 |
 99 |         let status = SecItemAdd(query as CFDictionary, nil)
    |                                          `- error: cannot find type 'CFDictionary' in scope
100 |         if status == errSecDuplicateItem {
101 |             try self.update(data: data, forKey: key)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:99:56: error: 'nil' requires a contextual type
 97 |         query[secAttrAccessible] = accessibility.rawValue
 98 |
 99 |         let status = SecItemAdd(query as CFDictionary, nil)
    |                                                        `- error: 'nil' requires a contextual type
100 |         if status == errSecDuplicateItem {
101 |             try self.update(data: data, forKey: key)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:100:22: error: cannot find 'errSecDuplicateItem' in scope
 98 |
 99 |         let status = SecItemAdd(query as CFDictionary, nil)
100 |         if status == errSecDuplicateItem {
    |                      `- error: cannot find 'errSecDuplicateItem' in scope
101 |             try self.update(data: data, forKey: key)
102 |         } else if status != errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:102:29: error: cannot find 'errSecSuccess' in scope
100 |         if status == errSecDuplicateItem {
101 |             try self.update(data: data, forKey: key)
102 |         } else if status != errSecSuccess {
    |                             `- error: cannot find 'errSecSuccess' in scope
103 |             throw error(from: status)
104 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:116:22: error: cannot find 'SecItemUpdate' in scope
114 |         let updateQuery = [secValueData: data]
115 |
116 |         let status = SecItemUpdate(query as CFDictionary, updateQuery as CFDictionary)
    |                      `- error: cannot find 'SecItemUpdate' in scope
117 |         if status != errSecSuccess {
118 |             throw error(from: status)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:116:45: error: cannot find type 'CFDictionary' in scope
114 |         let updateQuery = [secValueData: data]
115 |
116 |         let status = SecItemUpdate(query as CFDictionary, updateQuery as CFDictionary)
    |                                             `- error: cannot find type 'CFDictionary' in scope
117 |         if status != errSecSuccess {
118 |             throw error(from: status)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:116:74: error: cannot find type 'CFDictionary' in scope
114 |         let updateQuery = [secValueData: data]
115 |
116 |         let status = SecItemUpdate(query as CFDictionary, updateQuery as CFDictionary)
    |                                                                          `- error: cannot find type 'CFDictionary' in scope
117 |         if status != errSecSuccess {
118 |             throw error(from: status)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:117:22: error: cannot find 'errSecSuccess' in scope
115 |
116 |         let status = SecItemUpdate(query as CFDictionary, updateQuery as CFDictionary)
117 |         if status != errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
118 |             throw error(from: status)
119 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:126:23: error: cannot find 'kSecClassGenericPassword' in scope
124 |     open func allKeys() throws -> [String] {
125 |         var query: [String: Any] = [
126 |             secClass: kSecClassGenericPassword,
    |                       `- error: cannot find 'kSecClassGenericPassword' in scope
127 |             secAttrAcount: account,
128 |             secReturnAttributes: kCFBooleanTrue as Any,
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:128:34: error: cannot find 'kCFBooleanTrue' in scope
126 |             secClass: kSecClassGenericPassword,
127 |             secAttrAcount: account,
128 |             secReturnAttributes: kCFBooleanTrue as Any,
    |                                  `- error: cannot find 'kCFBooleanTrue' in scope
129 |             secMatchLimit: kSecMatchLimitAll]
130 |         if let accessGroup = accessGroup {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:129:28: error: cannot find 'kSecMatchLimitAll' in scope
127 |             secAttrAcount: account,
128 |             secReturnAttributes: kCFBooleanTrue as Any,
129 |             secMatchLimit: kSecMatchLimitAll]
    |                            `- error: cannot find 'kSecMatchLimitAll' in scope
130 |         if let accessGroup = accessGroup {
131 |             query[secAttrAccessGroup] = accessGroup
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:136:13: error: cannot find 'SecItemCopyMatching' in scope
134 |         var result: AnyObject?
135 |         let status = withUnsafeMutablePointer(to: &result) {
136 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |             `- error: cannot find 'SecItemCopyMatching' in scope
137 |         }
138 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:136:42: error: cannot find type 'CFDictionary' in scope
134 |         var result: AnyObject?
135 |         let status = withUnsafeMutablePointer(to: &result) {
136 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
    |                                          `- error: cannot find type 'CFDictionary' in scope
137 |         }
138 |         if status == errSecSuccess {
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:138:22: error: cannot find 'errSecSuccess' in scope
136 |             SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
137 |         }
138 |         if status == errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
139 |             guard let items = result as? [[String: Any]] else {
140 |                 return []
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:144:27: error: cannot find 'errSecItemNotFound' in scope
142 |             return items.compactMap({ $0[secAttrService] as? String })
143 |         }
144 |         else if status == errSecItemNotFound {
    |                           `- error: cannot find 'errSecItemNotFound' in scope
145 |             return []
146 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:155:22: error: cannot find 'SecItemDelete' in scope
153 |     open func deleteItem(forKey key: String) throws {
154 |         let query = keychainQuery(forKey: key)
155 |         let status = SecItemDelete(query as CFDictionary)
    |                      `- error: cannot find 'SecItemDelete' in scope
156 |         if status != errSecSuccess {
157 |             throw error(from: status)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:155:45: error: cannot find type 'CFDictionary' in scope
153 |     open func deleteItem(forKey key: String) throws {
154 |         let query = keychainQuery(forKey: key)
155 |         let status = SecItemDelete(query as CFDictionary)
    |                                             `- error: cannot find type 'CFDictionary' in scope
156 |         if status != errSecSuccess {
157 |             throw error(from: status)
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:156:22: error: cannot find 'errSecSuccess' in scope
154 |         let query = keychainQuery(forKey: key)
155 |         let status = SecItemDelete(query as CFDictionary)
156 |         if status != errSecSuccess {
    |                      `- error: cannot find 'errSecSuccess' in scope
157 |             throw error(from: status)
158 |         }
/host/spi-builder-workspace/Sources/KeychainStore/AbstractKeychainStore.swift:174:10: error: cannot find 'errSecItemNotFound' in scope
172 | func error(from staus: OSStatus) -> KeychainStoreError {
173 |     switch staus {
174 |     case errSecItemNotFound:
    |          `- error: cannot find 'errSecItemNotFound' in scope
175 |         return KeychainStoreError.itemNotFound
176 |     default:
[6/7] Compiling KeychainStore KeychainAccessibility.swift
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:21:20: error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
19 |         switch self {
20 |         case .afterFirstUnlock:
21 |             return kSecAttrAccessibleAfterFirstUnlock as String
   |                    `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlock' in scope
22 |         case .afterFirstUnlockThisDeviceOnly:
23 |             return kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:23:20: error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
21 |             return kSecAttrAccessibleAfterFirstUnlock as String
22 |         case .afterFirstUnlockThisDeviceOnly:
23 |             return kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly as String
   |                    `- error: cannot find 'kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly' in scope
24 |         case .always:
25 |             return kSecAttrAccessibleAlways as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:25:20: error: cannot find 'kSecAttrAccessibleAlways' in scope
23 |             return kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly as String
24 |         case .always:
25 |             return kSecAttrAccessibleAlways as String
   |                    `- error: cannot find 'kSecAttrAccessibleAlways' in scope
26 |         case .whenPasscodeSetThisDeviceOnly:
27 |             return kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:27:20: error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
25 |             return kSecAttrAccessibleAlways as String
26 |         case .whenPasscodeSetThisDeviceOnly:
27 |             return kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly as String
   |                    `- error: cannot find 'kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly' in scope
28 |         case .alwaysThisDeviceOnly:
29 |             return kSecAttrAccessibleAlwaysThisDeviceOnly as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:29:20: error: cannot find 'kSecAttrAccessibleAlwaysThisDeviceOnly' in scope
27 |             return kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly as String
28 |         case .alwaysThisDeviceOnly:
29 |             return kSecAttrAccessibleAlwaysThisDeviceOnly as String
   |                    `- error: cannot find 'kSecAttrAccessibleAlwaysThisDeviceOnly' in scope
30 |         case .whenUnlocked:
31 |             return kSecAttrAccessibleWhenUnlocked as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:31:20: error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
29 |             return kSecAttrAccessibleAlwaysThisDeviceOnly as String
30 |         case .whenUnlocked:
31 |             return kSecAttrAccessibleWhenUnlocked as String
   |                    `- error: cannot find 'kSecAttrAccessibleWhenUnlocked' in scope
32 |         case .whenUnlockedThisDeviceOnly:
33 |             return kSecAttrAccessibleWhenUnlockedThisDeviceOnly as String
/host/spi-builder-workspace/Sources/KeychainStore/KeychainAccessibility.swift:33:20: error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
31 |             return kSecAttrAccessibleWhenUnlocked as String
32 |         case .whenUnlockedThisDeviceOnly:
33 |             return kSecAttrAccessibleWhenUnlockedThisDeviceOnly as String
   |                    `- error: cannot find 'kSecAttrAccessibleWhenUnlockedThisDeviceOnly' in scope
34 |         }
35 |     }
[7/7] Compiling KeychainStore KeychainStringStore.swift
BUILD FAILURE 6.1 linux