The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Valet-THOTP, reference 1.0.0 (299e0b), with Swift 6.4 for Android on 15 Sep 2026 21:43:48 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344844-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ericlewis/Valet-THOTP.git
Reference: 1.0.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/ericlewis/Valet-THOTP
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at 299e0b9 more secure.. wow.
Cloned https://github.com/ericlewis/Valet-THOTP.git
Revision (git rev-parse @):
299e0b9c83d2a32028c8c420128ac0da8c4c8f6d
SUCCESS checkout https://github.com/ericlewis/Valet-THOTP.git at 1.0.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.4
Building package at path:  $PWD
https://github.com/ericlewis/Valet-THOTP.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:abadcff584c273feba50641b454858d377ba30b35ea7287a94f45ebd8afd0ea0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Fetching https://github.com/Square/Valet
Fetching https://github.com/ericlewis/THOTP
[1/6144] Fetching valet
[800/6993] Fetching valet, thotp
Fetched https://github.com/ericlewis/THOTP (0.64s)
Fetched https://github.com/Square/Valet (0.64s)
Computing version for https://github.com/Square/Valet
Computed https://github.com/Square/Valet at 3.2.8 (0.85s)
Computing version for https://github.com/ericlewis/THOTP
Computed https://github.com/ericlewis/THOTP at 1.0.66 (0.20s)
Fetching https://github.com/ericlewis/URL-QueryItem.git
Fetching https://github.com/norio-nomura/Base32.git
[1/1168] Fetching base32
[25/1185] Fetching base32, url-queryitem
Fetched https://github.com/ericlewis/URL-QueryItem.git (0.44s)
[246/1168] Fetching base32
Fetched https://github.com/norio-nomura/Base32.git (0.47s)
Computing version for https://github.com/ericlewis/URL-QueryItem.git
Computed https://github.com/ericlewis/URL-QueryItem.git at 1.0.0 (0.67s)
Computing version for https://github.com/norio-nomura/Base32.git
Computed https://github.com/norio-nomura/Base32.git at 0.9.0 (1.12s)
Creating working copy for https://github.com/norio-nomura/Base32.git
Working copy of https://github.com/norio-nomura/Base32.git resolved at 0.9.0
Creating working copy for https://github.com/ericlewis/URL-QueryItem.git
Working copy of https://github.com/ericlewis/URL-QueryItem.git resolved at 1.0.0
Creating working copy for https://github.com/Square/Valet
Working copy of https://github.com/Square/Valet resolved at 3.2.8
Creating working copy for https://github.com/ericlewis/THOTP
Working copy of https://github.com/ericlewis/THOTP resolved at 1.0.66
Building for debugging...
[Constructing description]
[Planning deferred tasks]
[54 / 100] Valet
error: SwiftCompile normal aarch64 failed with a nonzero exit code. Command line:     cd /host

/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Internal/SecItem.swift:39:20: error: cannot find type 'OSStatus' in scope
 37 |     internal enum DataResult<SuccessType> {
 38 |         case success(SuccessType)
 39 |         case error(OSStatus)
    |                    `- error: cannot find type 'OSStatus' in scope
 40 |
 41 |         var value: SuccessType? {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Internal/SecItem.swift:55:20: error: cannot find type 'OSStatus' in scope
 53 |     internal enum Result {
 54 |         case success
 55 |         case error(OSStatus)
    |                    `- error: cannot find type 'OSStatus' in scope
 56 |
 57 |         var didSucceed: Bool {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/KeychainQueryConvertible.swift:24:2: error: Objective-C interoperability is disabled
22 |
23 |
24 | @objc(VALKeychainQueryConvertible)
   |  `- error: Objective-C interoperability is disabled
25 | public protocol KeychainQueryConvertible {
26 |
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveAccessControl.swift:73:36: error: cannot find type 'SecAccessControlCreateFlags' in scope
 71 |     // MARK: Internal Properties
 72 |
 73 |     internal var secAccessControl: SecAccessControlCreateFlags {
    |                                    `- error: cannot find type 'SecAccessControlCreateFlags' in scope
 74 |         switch self {
 75 |         case .userPresence:
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:26:2: error: Objective-C interoperability is disabled
 24 | /// Reads and writes keychain elements that are stored on the Secure Enclave using Accessibility attribute `.whenPasscodeSetThisDeviceOnly`. Accessing these keychain elements will require the user to confirm their presence via Touch ID, Face ID, or passcode entry. If no passcode is set on the device, accessing the keychain via a `SecureEnclaveValet` will fail. Data is removed from the Secure Enclave when the user removes a passcode from the device.
 25 | @available(macOS 10.11, *)
 26 | @objc(VALSecureEnclaveValet)
    |  `- error: Objective-C interoperability is disabled
 27 | public final class SecureEnclaveValet: NSObject {
 28 |
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:68:47: error: cannot find 'NSMapTable' in scope
 66 |     // MARK: Private Class Properties
 67 |
 68 |     private static let identifierToValetMap = NSMapTable<NSString, SecureEnclaveValet>.strongToWeakObjects()
    |                                               `- error: cannot find 'NSMapTable' in scope
 69 |
 70 |     // MARK: Initialization
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:100:6: error: Objective-C interoperability is disabled
 98 |
 99 |     public let identifier: Identifier
100 |     @objc
    |      `- error: Objective-C interoperability is disabled
101 |     public let accessControl: SecureEnclaveAccessControl
102 |
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:107:6: error: Objective-C interoperability is disabled
105 |     /// - returns: `true` if the keychain is accessible for reading and writing, `false` otherwise.
106 |     /// - note: Determined by writing a value to the keychain and then reading it back out. Will never prompt the user for Face ID, Touch ID, or password.
107 |     @objc
    |      `- error: Objective-C interoperability is disabled
108 |     public func canAccessKeychain() -> Bool {
109 |         return SecureEnclave.canAccessKeychain(with: service, identifier: identifier)
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:115:6: error: Objective-C interoperability is disabled
113 |     /// - parameter key: A Key that can be used to retrieve the `object` from the keychain.
114 |     /// - returns: `false` if the keychain is not accessible.
115 |     @objc(setObject:forKey:)
    |      `- error: Objective-C interoperability is disabled
116 |     @discardableResult
117 |     public func set(object: Data, forKey key: String) -> Bool {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:135:6: error: Objective-C interoperability is disabled
133 |     /// - returns: `true` if a value has been set for the given key, `false` otherwise.
134 |     /// - note: Will never prompt the user for Face ID, Touch ID, or password.
135 |     @objc(containsObjectForKey:)
    |      `- error: Objective-C interoperability is disabled
136 |     public func containsObject(forKey key: String) -> Bool {
137 |         return execute(in: lock) {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:145:6: error: Objective-C interoperability is disabled
143 |     /// - parameter key: A Key that can be used to retrieve the `string` from the keychain.
144 |     /// - returns: `true` if the operation succeeded, or `false` if the keychain is not accessible.
145 |     @objc(setString:forKey:)
    |      `- error: Objective-C interoperability is disabled
146 |     @discardableResult
147 |     public func set(string: String, forKey key: String) -> Bool {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:164:6: error: Objective-C interoperability is disabled
162 |     /// Removes a key/object pair from the keychain.
163 |     /// - returns: `false` if the keychain is not accessible.
164 |     @objc(removeObjectForKey:)
    |      `- error: Objective-C interoperability is disabled
165 |     @discardableResult
166 |     public func removeObject(forKey key: String) -> Bool {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:174:6: error: Objective-C interoperability is disabled
172 |     /// Removes all key/object pairs accessible by this Valet instance from the keychain.
173 |     /// - returns: `false` if the keychain is not accessible.
174 |     @objc
    |      `- error: Objective-C interoperability is disabled
175 |     @discardableResult
176 |     public func removeAllObjects() -> Bool {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:187:6: error: Objective-C interoperability is disabled
185 |     /// - returns: Whether the migration succeeded or failed.
186 |     /// - note: The keychain is not modified if a failure occurs.
187 |     @objc(migrateObjectsMatchingQuery:removeOnCompletion:)
    |      `- error: Objective-C interoperability is disabled
188 |     public func migrateObjects(matching query: [String : AnyHashable], removeOnCompletion: Bool) -> MigrationResult {
189 |         return execute(in: lock) {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:199:6: error: Objective-C interoperability is disabled
197 |     /// - returns: Whether the migration succeeded or failed.
198 |     /// - note: The keychain is not modified if a failure occurs.
199 |     @objc(migrateObjectsFromKeychain:removeOnCompletion:)
    |      `- error: Objective-C interoperability is disabled
200 |     public func migrateObjects(from keychain: KeychainQueryConvertible, removeOnCompletion: Bool) -> MigrationResult {
201 |         return migrateObjects(matching: keychain.keychainQuery, removeOnCompletion: removeOnCompletion)
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:225:6: error: Objective-C interoperability is disabled
223 |     /// - parameter identifier: A non-empty string that uniquely identifies a SecureEnclaveValet.
224 |     /// - returns: A SecureEnclaveValet that reads/writes keychain elements with the desired flavor.
225 |     @objc(valetWithIdentifier:accessControl:)
    |      `- error: Objective-C interoperability is disabled
226 |     public class func 🚫swift_valet(with identifier: String, accessControl: SecureEnclaveAccessControl) -> SecureEnclaveValet? {
227 |         guard let identifier = Identifier(nonEmpty: identifier) else {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:235:6: error: Objective-C interoperability is disabled
233 |     /// - parameter identifier: A non-empty string that must correspond with the value for keychain-access-groups in your Entitlements file.
234 |     /// - returns: A SecureEnclaveValet that reads/writes keychain elements that can be shared across applications written by the same development team.
235 |     @objc(sharedAccessGroupValetWithIdentifier:accessControl:)
    |      `- error: Objective-C interoperability is disabled
236 |     public class func 🚫swift_sharedAccessGroupValet(with identifier: String, accessControl: SecureEnclaveAccessControl) -> SecureEnclaveValet? {
237 |         guard let identifier = Identifier(nonEmpty: identifier) else {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:249:6: error: Objective-C interoperability is disabled
247 |     /// - returns: The data currently stored in the keychain for the provided key. Returns `nil` if no object exists in the keychain for the specified key, or if the keychain is inaccessible.
248 |     @available(swift, obsoleted: 1.0)
249 |     @objc(objectForKey:userPrompt:userCancelled:)
    |      `- error: Objective-C interoperability is disabled
250 |     public func 🚫swift_object(forKey key: String, withPrompt userPrompt: String, userCancelled: UnsafeMutablePointer<ObjCBool>?) -> Data? {
251 |         switch object(forKey: key, withPrompt: userPrompt) {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift:266:6: error: Objective-C interoperability is disabled
264 |     /// - returns: The string currently stored in the keychain for the provided key. Returns `nil` if no string exists in the keychain for the specified key, or if the keychain is inaccessible.
265 |     @available(swift, obsoleted: 1.0)
266 |     @objc(stringForKey:userPrompt:userCancelled:)
    |      `- error: Objective-C interoperability is disabled
267 |     public func 🚫swift_string(forKey key: String, withPrompt userPrompt: String, userCancelled: UnsafeMutablePointer<ObjCBool>?) -> String? {
268 |         switch string(forKey: key, withPrompt: userPrompt) {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:25:2: error: Objective-C interoperability is disabled
 23 |
 24 | /// Reads and writes keychain elements.
 25 | @objc(VALValet)
    |  `- error: Objective-C interoperability is disabled
 26 | public final class Valet: NSObject, KeychainQueryConvertible {
 27 |
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:67:47: error: cannot find 'NSMapTable' in scope
 65 |     // MARK: Private Class Properties
 66 |
 67 |     private static let identifierToValetMap = NSMapTable<NSString, Valet>.strongToWeakObjects()
    |                                               `- error: cannot find 'NSMapTable' in scope
 68 |
 69 |     // MARK: Private Class Functions
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:131:6: error: Objective-C interoperability is disabled
129 |     // MARK: Public Properties
130 |
131 |     @objc
    |      `- error: Objective-C interoperability is disabled
132 |     public let accessibility: Accessibility
133 |     public let identifier: Identifier
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:139:6: error: Objective-C interoperability is disabled
137 |     /// - returns: `true` if the keychain is accessible for reading and writing, `false` otherwise.
138 |     /// - note: Determined by writing a value to the keychain and then reading it back out.
139 |     @objc
    |      `- error: Objective-C interoperability is disabled
140 |     public func canAccessKeychain() -> Bool {
141 |         return execute(in: lock) {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:149:6: error: Objective-C interoperability is disabled
147 |     /// - parameter key: A Key that can be used to retrieve the `object` from the keychain.
148 |     /// - returns: `false` if the keychain is not accessible.
149 |     @objc(setObject:forKey:)
    |      `- error: Objective-C interoperability is disabled
150 |     @discardableResult
151 |     public func set(object: Data, forKey key: String) -> Bool {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:159:6: error: Objective-C interoperability is disabled
157 |     /// - parameter key: A Key used to retrieve the desired object from the keychain.
158 |     /// - returns: The data currently stored in the keychain for the provided key. Returns `nil` if no object exists in the keychain for the specified key, or if the keychain is inaccessible.
159 |     @objc(objectForKey:)
    |      `- error: Objective-C interoperability is disabled
160 |     public func object(forKey key: String) -> Data? {
161 |         return execute(in: lock) {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:168:6: error: Objective-C interoperability is disabled
166 |     /// - parameter key: The key to look up in the keychain.
167 |     /// - returns: `true` if a value has been set for the given key, `false` otherwise.
168 |     @objc(containsObjectForKey:)
    |      `- error: Objective-C interoperability is disabled
169 |     public func containsObject(forKey key: String) -> Bool {
170 |         return execute(in: lock) {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:178:6: error: Objective-C interoperability is disabled
176 |     /// - parameter key: A Key that can be used to retrieve the `string` from the keychain.
177 |     /// - returns: `true` if the operation succeeded, or `false` if the keychain is not accessible.
178 |     @objc(setString:forKey:)
    |      `- error: Objective-C interoperability is disabled
179 |     @discardableResult
180 |     public func set(string: String, forKey key: String) -> Bool {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:188:6: error: Objective-C interoperability is disabled
186 |     /// - parameter key: A Key used to retrieve the desired object from the keychain.
187 |     /// - returns: The string currently stored in the keychain for the provided key. Returns `nil` if no string exists in the keychain for the specified key, or if the keychain is inaccessible.
188 |     @objc(stringForKey:)
    |      `- error: Objective-C interoperability is disabled
189 |     public func string(forKey key: String) -> String? {
190 |         return execute(in: lock) {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:196:6: error: Objective-C interoperability is disabled
194 |
195 |     /// - returns: The set of all (String) keys currently stored in this Valet instance.
196 |     @objc
    |      `- error: Objective-C interoperability is disabled
197 |     public func allKeys() -> Set<String> {
198 |         return execute(in: lock) {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:205:6: error: Objective-C interoperability is disabled
203 |     /// Removes a key/object pair from the keychain.
204 |     /// - returns: `false` if the keychain is not accessible.
205 |     @objc(removeObjectForKey:)
    |      `- error: Objective-C interoperability is disabled
206 |     @discardableResult
207 |     public func removeObject(forKey key: String) -> Bool {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:215:6: error: Objective-C interoperability is disabled
213 |     /// Removes all key/object pairs accessible by this Valet instance from the keychain.
214 |     /// - returns: `false` if the keychain is not accessible.
215 |     @objc
    |      `- error: Objective-C interoperability is disabled
216 |     @discardableResult
217 |     public func removeAllObjects() -> Bool {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:228:6: error: Objective-C interoperability is disabled
226 |     /// - returns: Whether the migration succeeded or failed.
227 |     /// - note: The keychain is not modified if a failure occurs.
228 |     @objc(migrateObjectsMatchingQuery:removeOnCompletion:)
    |      `- error: Objective-C interoperability is disabled
229 |     public func migrateObjects(matching query: [String : AnyHashable], removeOnCompletion: Bool) -> MigrationResult {
230 |         return execute(in: lock) {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:240:6: error: Objective-C interoperability is disabled
238 |     /// - returns: Whether the migration succeeded or failed.
239 |     /// - note: The keychain is not modified if a failure occurs.
240 |     @objc(migrateObjectsFromValet:removeOnCompletion:)
    |      `- error: Objective-C interoperability is disabled
241 |     public func migrateObjects(from keychain: KeychainQueryConvertible, removeOnCompletion: Bool) -> MigrationResult {
242 |         return migrateObjects(matching: keychain.keychainQuery, removeOnCompletion: removeOnCompletion)
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:286:6: error: Objective-C interoperability is disabled
284 |     /// - returns: A Valet that reads/writes keychain elements with the desired accessibility.
285 |     @available(swift, obsoleted: 1.0)
286 |     @objc(valetWithIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
287 |     public class func 🚫swift_vanillaValet(with identifier: String, accessibility: Accessibility) -> Valet? {
288 |         guard let identifier = Identifier(nonEmpty: identifier) else {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:298:6: error: Objective-C interoperability is disabled
296 |     /// - returns: A Valet that reads/writes iCloud-shared keychain elements with the desired accessibility.
297 |     @available(swift, obsoleted: 1.0)
298 |     @objc(iCloudValetWithIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
299 |     public class func 🚫swift_iCloudValet(with identifier: String, accessibility: CloudAccessibility) -> Valet? {
300 |         guard let identifier = Identifier(nonEmpty: identifier) else {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:310:6: error: Objective-C interoperability is disabled
308 |     /// - returns: A Valet that reads/writes keychain elements that can be shared across applications written by the same development team.
309 |     @available(swift, obsoleted: 1.0)
310 |     @objc(valetWithSharedAccessGroupIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
311 |     public class func 🚫swift_vanillaSharedAccessGroupValet(with identifier: String, accessibility: Accessibility) -> Valet? {
312 |         guard let identifier = Identifier(nonEmpty: identifier) else {
/host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift:322:6: error: Objective-C interoperability is disabled
320 |     /// - returns: A Valet that reads/writes iCloud-shared keychain elements that can be shared across applications written by the same development team.
321 |     @available(swift, obsoleted: 1.0)
322 |     @objc(iCloudValetWithSharedAccessGroupIdentifier:accessibility:)
    |      `- error: Objective-C interoperability is disabled
323 |     public class func 🚫swift_iCloudSharedAccessGroupValet(with identifier: String, accessibility: CloudAccessibility) -> Valet? {
324 |         guard let identifier = Identifier(nonEmpty: identifier) else {
Failed frontend command:
/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Accessibility.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/CloudAccessibility.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/ErrorHandler.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Identifier.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Internal/Configuration.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Internal/Keychain.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Internal/SecItem.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Internal/Service.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/KeychainQueryConvertible.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/MigrationResult.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclave.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveAccessControl.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SecureEnclaveValet.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SinglePromptSecureEnclaveValet.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/SwiftCompatibility.swift /host/spi-builder-workspace/.build/checkouts/Valet/Sources/Valet/Valet.swift -target aarch64-unknown-linux-android28 -Xllvm -aarch64-use-tbi -disable-objc-interop -sdk /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot -sysroot /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot -I /host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -suppress-warnings -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/plugins/testing\#/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_android.artifactbundle/swift-android/swift-resources/usr/lib/swift-aarch64 -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/lib/clang/18 -Xcc -fno-omit-frame-pointer -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-android-aarch64/Valet-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-android-aarch64/Valet-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-android-aarch64/Valet-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Valet -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-android-aarch64/Valet-t.build/Objects-normal/aarch64/Valet_const_extract_protocols.json -in-process-plugin-server-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/plugins -plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-android-aarch64/Valet-t.build/Objects-normal/aarch64/Modules/Valet.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-android-aarch64/Valet-t.build/Objects-normal/aarch64/Modules/Valet.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-android-aarch64/Valet-t.build/Objects-normal/aarch64/Valet-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-android-aarch64/Valet-t.build/Objects-normal/aarch64/Valet-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-android-aarch64/Valet-t.build/Objects-normal/aarch64/Valet-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Valet.build/Debug-android-aarch64/Valet-t.build/Objects-normal/aarch64/Modules/Valet.swiftmodule
error: Build failed
BUILD FAILURE 6.4 android