The Swift Package Index logo.Swift Package Index

Build Information

Failed to build PerfectNotifications, reference main (babe4a), with Swift 6.4 for Android on 16 Sep 2026 03:10:12 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-53886770-0":/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/perfectlysoft/perfect-notifications.git
Reference: main
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/perfectlysoft/perfect-notifications
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at babe4af Merge pull request #19 from PerfectlySoft/swift6-modernization
Cloned https://github.com/perfectlysoft/perfect-notifications.git
Revision (git rev-parse @):
babe4af25c637920cfbeacbfc6a4107e88a078f4
SUCCESS checkout https://github.com/perfectlysoft/perfect-notifications.git at main
========================================
Build
========================================
Selected platform:         android
Swift version:             6.4
Building package at path:  $PWD
https://github.com/perfectlysoft/perfect-notifications.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886770-0":/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/apple/swift-crypto.git
[1/18529] Fetching swift-crypto
Fetched https://github.com/apple/swift-crypto.git (1.15s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 3.15.1 (2.29s)
Fetching https://github.com/apple/swift-asn1.git
[1/1983] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git (0.48s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.2 (1.58s)
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 3.15.1
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.2
Building for debugging...
[Constructing description]
[Planning deferred tasks]
[24 / 426] PerfectNotifications
[48 / 426] CCryptoBoringSSL
[51 / 426] CCryptoBoringSSL
[54 / 426] CCryptoBoringSSL
[57 / 426] CCryptoBoringSSL
[58 / 426] CCryptoBoringSSL
[60 / 426] CCryptoBoringSSL
[62 / 426] CCryptoBoringSSL
[66 / 426] CCryptoBoringSSL
[67 / 426] CCryptoBoringSSL
[69 / 426] CCryptoBoringSSL
[72 / 426] CCryptoBoringSSL
[74 / 426] CCryptoBoringSSL
[76 / 426] CCryptoBoringSSL
[78 / 426] CCryptoBoringSSL
[83 / 426] CCryptoBoringSSL
[90 / 426] CCryptoBoringSSL
[93 / 426] CCryptoBoringSSL
[94 / 426] CCryptoBoringSSL
[96 / 426] CCryptoBoringSSL
[99 / 426] CCryptoBoringSSL
[101 / 426] CCryptoBoringSSL
[104 / 426] CCryptoBoringSSL
[107 / 426] CCryptoBoringSSL
[108 / 426] CCryptoBoringSSL
[109 / 426] CCryptoBoringSSL
[111 / 426] CCryptoBoringSSL
[117 / 426] CCryptoBoringSSL
[119 / 426] CCryptoBoringSSL
[123 / 426] CCryptoBoringSSL
[126 / 426] CCryptoBoringSSL
[130 / 426] CCryptoBoringSSL
[132 / 426] CCryptoBoringSSL
[136 / 426] CCryptoBoringSSL
[141 / 426] CCryptoBoringSSL
[148 / 426] CCryptoBoringSSL
[157 / 426] CCryptoBoringSSL
[170 / 426] CCryptoBoringSSL
[172 / 426] CCryptoBoringSSL
[174 / 426] CCryptoBoringSSL
[178 / 426] CCryptoBoringSSL
[179 / 426] CCryptoBoringSSL
[186 / 426] CCryptoBoringSSL
[188 / 426] CCryptoBoringSSL
[193 / 426] CCryptoBoringSSL
[194 / 426] CCryptoBoringSSL
[196 / 426] CCryptoBoringSSL
[197 / 426] CCryptoBoringSSL
[201 / 426] CCryptoBoringSSL
[205 / 426] CCryptoBoringSSL
[207 / 426] CCryptoBoringSSL
[209 / 426] CCryptoBoringSSL
[213 / 426] CCryptoBoringSSL
[214 / 426] CCryptoBoringSSL
[215 / 426] CCryptoBoringSSL
[221 / 426] CCryptoBoringSSL
[228 / 426] CCryptoBoringSSL
[231 / 426] CCryptoBoringSSL
[232 / 426] CCryptoBoringSSL
[238 / 426] CCryptoBoringSSL
[240 / 426] CCryptoBoringSSL
[242 / 426] CCryptoBoringSSL
[243 / 426] CCryptoBoringSSL
[249 / 426] CCryptoBoringSSL
[257 / 426] CCryptoBoringSSL
[265 / 426] CCryptoBoringSSL
[270 / 426] CCryptoBoringSSL
[279 / 426] CCryptoBoringSSL
[281 / 426] CCryptoBoringSSL
[285 / 426] CCryptoBoringSSL
[287 / 426] CCryptoBoringSSL
[291 / 426] CCryptoBoringSSL
[292 / 426] CCryptoBoringSSL
[297 / 426] CCryptoBoringSSL
[300 / 426] CCryptoBoringSSL
[301 / 426] CCryptoBoringSSL
[305 / 426] CCryptoBoringSSL
[307 / 426] CCryptoBoringSSL
[309 / 426] CCryptoBoringSSL
[311 / 426] CCryptoBoringSSL
[314 / 426] CCryptoBoringSSL
[318 / 426] CCryptoBoringSSL
[320 / 426] CCryptoBoringSSL
[327 / 426] CCryptoBoringSSL
[337 / 426] CCryptoBoringSSL
[341 / 426] CCryptoBoringSSL
[346 / 426] CCryptoBoringSSL
[349 / 426] CCryptoBoringSSL
[353 / 426] CCryptoBoringSSL
[354 / 426] CCryptoBoringSSL
[356 / 426] CCryptoBoringSSL
[358 / 426] CCryptoBoringSSL
[359 / 426] CCryptoBoringSSL
[368 / 426] CCryptoBoringSSL
[377 / 426] CCryptoBoringSSL
[385 / 426] CCryptoBoringSSL
[387 / 426] CCryptoBoringSSL
[390 / 426] CCryptoBoringSSL
[392 / 426] CCryptoBoringSSL
[394 / 426] CCryptoBoringSSL
[396 / 426] CCryptoBoringSSL
[398 / 426] CCryptoBoringSSL
[401 / 426] CCryptoBoringSSL
[402 / 426]
[406 / 435] CryptoBoringWrapper
[408 / 435] CryptoBoringWrapper
[411 / 435] CryptoBoringWrapper
[411 / 435] CCryptoBoringSSL
[418 / 436]
[422 / 445] Crypto
[424 / 445] Crypto
[425 / 445] Crypto
[434 / 446] PerfectNotifications
[438 / 453] PerfectNotifications
[439 / 453] PerfectNotifications
[440 / 453] PerfectNotifications
[441 / 453] CryptoBoringWrapper
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift failed with a nonzero exit code. Command line:     cd /host
    builtin-SwiftPerFileCompile APNSClient.swift
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:54:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 52 |     private let credentials: APNSCredentials
 53 |     private let environment: Environment
 54 |     private let urlSession: URLSession
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 55 |
 56 |     // MARK: Init
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:68:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 66 |     public init(keyID: String, teamID: String, privateKeyPath: String,
 67 |                 environment: Environment = .sandbox,
 68 |                 urlSession: URLSession = .shared) throws {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 69 |         self.credentials = try APNSCredentials(keyID: keyID, teamID: teamID, privateKeyPath: privateKeyPath)
 70 |         self.environment = environment
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:68:43: error: value of type '_' expected to be instance of class or class-constrained type
 66 |     public init(keyID: String, teamID: String, privateKeyPath: String,
 67 |                 environment: Environment = .sandbox,
 68 |                 urlSession: URLSession = .shared) throws {
    |                                           `- error: value of type '_' expected to be instance of class or class-constrained type
 69 |         self.credentials = try APNSCredentials(keyID: keyID, teamID: teamID, privateKeyPath: privateKeyPath)
 70 |         self.environment = environment
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:68:43: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 66 |     public init(keyID: String, teamID: String, privateKeyPath: String,
 67 |                 environment: Environment = .sandbox,
 68 |                 urlSession: URLSession = .shared) throws {
    |                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 69 |         self.credentials = try APNSCredentials(keyID: keyID, teamID: teamID, privateKeyPath: privateKeyPath)
 70 |         self.environment = environment
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:77:29: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 75 |     public init(keyID: String, teamID: String, pemString: String,
 76 |                 environment: Environment = .sandbox,
 77 |                 urlSession: URLSession = .shared) throws {
    |                             `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 78 |         self.credentials = try APNSCredentials(keyID: keyID, teamID: teamID, pemString: pemString)
 79 |         self.environment = environment
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:77:43: error: value of type '_' expected to be instance of class or class-constrained type
 75 |     public init(keyID: String, teamID: String, pemString: String,
 76 |                 environment: Environment = .sandbox,
 77 |                 urlSession: URLSession = .shared) throws {
    |                                           `- error: value of type '_' expected to be instance of class or class-constrained type
 78 |         self.credentials = try APNSCredentials(keyID: keyID, teamID: teamID, pemString: pemString)
 79 |         self.environment = environment
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:77:43: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 75 |     public init(keyID: String, teamID: String, pemString: String,
 76 |                 environment: Environment = .sandbox,
 77 |                 urlSession: URLSession = .shared) throws {
    |                                           `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 78 |         self.credentials = try APNSCredentials(keyID: keyID, teamID: teamID, pemString: pemString)
 79 |         self.environment = environment
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:54:17: error: stored property 'urlSession' of 'Sendable'-conforming struct 'APNSClient' has non-Sendable type 'AnyObject'
 52 |     private let credentials: APNSCredentials
 53 |     private let environment: Environment
 54 |     private let urlSession: URLSession
    |                 `- error: stored property 'urlSession' of 'Sendable'-conforming struct 'APNSClient' has non-Sendable type 'AnyObject'
 55 |
 56 |     // MARK: Init
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:105:23: error: cannot find 'URLRequest' in scope
103 |     ) async throws -> APNSResponse {
104 |         let url = URL(string: "https://\(environment.host)/3/device/\(deviceToken)")!
105 |         var request = URLRequest(url: url)
    |                       `- error: cannot find 'URLRequest' in scope
106 |         request.httpMethod = "POST"
107 |         request.httpBody   = notification.payload
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:124:23: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
122 |
123 |         let data: Data
124 |         let response: URLResponse
    |                       `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
125 |         do {
126 |             (data, response) = try await urlSession.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:126:53: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
124 |         let response: URLResponse
125 |         do {
126 |             (data, response) = try await urlSession.data(for: request)
    |                                                     `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
127 |         } catch {
128 |             throw APNSClientError.network("\(error)")
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:131:35: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
129 |         }
130 |
131 |         guard let http = response as? HTTPURLResponse else {
    |                                   `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
132 |             throw APNSClientError.invalidResponse
133 |         }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:131:39: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
129 |         }
130 |
131 |         guard let http = response as? HTTPURLResponse else {
    |                                       `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
132 |             throw APNSClientError.invalidResponse
133 |         }
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:135:27: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
133 |         }
134 |
135 |         let apnsID = http.value(forHTTPHeaderField: "apns-id")
    |                           `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'value'
136 |
137 |         guard http.statusCode != 200 else {
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:137:20: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
135 |         let apnsID = http.value(forHTTPHeaderField: "apns-id")
136 |
137 |         guard http.statusCode != 200 else {
    |                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
138 |             return APNSResponse(statusCode: 200, apnsID: apnsID, error: nil)
139 |         }
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:143:50: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
141 |         if !data.isEmpty, let body = try? JSONDecoder().decode(APNSErrorBody.self, from: data) {
142 |             let err = APNSResponseError(reason: body.reason, timestamp: body.timestamp)
143 |             return APNSResponse(statusCode: http.statusCode, apnsID: apnsID, error: err)
    |                                                  `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
144 |         }
145 |         return APNSResponse(statusCode: http.statusCode, apnsID: apnsID, error: nil)
/host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift:145:46: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
143 |             return APNSResponse(statusCode: http.statusCode, apnsID: apnsID, error: err)
144 |         }
145 |         return APNSResponse(statusCode: http.statusCode, apnsID: apnsID, error: nil)
    |                                              `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
146 |     }
147 |
Failed frontend command:
/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-frontend -frontend -c -primary-file /host/spi-builder-workspace/Sources/PerfectNotifications/APNSClient.swift /host/spi-builder-workspace/Sources/PerfectNotifications/APNSCredentials.swift /host/spi-builder-workspace/Sources/PerfectNotifications/APNSNotification.swift /host/spi-builder-workspace/Sources/PerfectNotifications/APNSPushType.swift /host/spi-builder-workspace/Sources/PerfectNotifications/APNSResponse.swift -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/PerfectNotifications.build/Debug-android-aarch64/PerfectNotifications-t.build/Objects-normal/aarch64/APNSClient.d -emit-const-values-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/PerfectNotifications.build/Debug-android-aarch64/PerfectNotifications-t.build/Objects-normal/aarch64/APNSClient.swiftconstvalues -emit-reference-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/PerfectNotifications.build/Debug-android-aarch64/PerfectNotifications-t.build/Objects-normal/aarch64/APNSClient.swiftdeps -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/PerfectNotifications.build/Debug-android-aarch64/PerfectNotifications-t.build/Objects-normal/aarch64/APNSClient.dia -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 -swift-version 6 -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 -fmodule-map-file\=/host/spi-builder-workspace/.build/checkouts/swift-crypto/Sources/CCryptoBoringSSLShims/include/module.modulemap -Xcc -fmodule-map-file\=/host/spi-builder-workspace/.build/checkouts/swift-crypto/Sources/CCryptoBoringSSL/include/module.modulemap -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/checkouts/swift-crypto/Sources/CCryptoBoringSSLShims/include -Xcc -I/host/spi-builder-workspace/.build/checkouts/swift-crypto/Sources/CCryptoBoringSSL/include -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/PerfectNotifications.build/Debug-android-aarch64/PerfectNotifications-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/PerfectNotifications.build/Debug-android-aarch64/PerfectNotifications-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/PerfectNotifications.build/Debug-android-aarch64/PerfectNotifications-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name PerfectNotifications -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/PerfectNotifications.build/Debug-android-aarch64/PerfectNotifications-t.build/Objects-normal/aarch64/PerfectNotifications_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 -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/PerfectNotifications.build/Debug-android-aarch64/PerfectNotifications-t.build/Objects-normal/aarch64/APNSClient.o -index-unit-output-path /PerfectNotifications.build/Debug-android-aarch64/PerfectNotifications-t.build/Objects-normal/aarch64/APNSClient.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: Build failed
BUILD FAILURE 6.4 android