Build Information
Failed to build KassiOS, reference main (752f62), with Swift 6.2 for Android on 11 Aug 2026 11:42:20 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344849-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.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 729ceb5fcd9493dc13ee340bc4f0908bd201f85d
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/VadimToptunov/KassiOS.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/VadimToptunov/KassiOS
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 752f629 Merge pull request #70 from VadimToptunov/docs/link-example-suite
Cloned https://github.com/VadimToptunov/KassiOS.git
Revision (git rev-parse @):
752f629860244f2c05fb8166dba8dd2c52f19007
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/VadimToptunov/KassiOS.git at main
========================================
Build
========================================
Selected platform: android
Swift version: 6.2
Building package at path: $PWD
https://github.com/VadimToptunov/KassiOS.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344849-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.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:573917aa137cc6f081a4f3d2a0330bac24553e9cd713cd758adf65046f5c6b90
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.2-latest
Building for debugging...
[0/7] Write sources
[3/7] Write swift-version--11D90AFD9DD3AB2.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/47] Emitting module KassiOS
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[6/51] Compiling KassiOS KassFlow.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[7/51] Compiling KassiOS KassIdentifierInventory.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[8/51] Compiling KassiOS KassIdentifierSuggestions.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[9/51] Compiling KassiOS KassInterceptor.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[10/51] Compiling KassiOSAgentCLI SimctlRunner.swift
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/SimctlRunner.swift:68:33: error: cannot find 'read' in scope
66 | var buffer = [UInt8](repeating: 0, count: 4096)
67 | while true {
68 | let count = read(fd, &buffer, buffer.count)
| `- error: cannot find 'read' in scope
69 | if count <= 0 { break }
70 | box.append(Data(buffer[0..<count]))
[11/51] Compiling KassiOSAgentCLI RecordingManager.swift
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/RecordingManager.swift:45:13: error: cannot find 'usleep' in scope
43 | let ready = Date().addingTimeInterval(5)
44 | while process.isRunning && !FileManager.default.fileExists(atPath: url.path) && Date() < ready {
45 | usleep(50_000)
| `- error: cannot find 'usleep' in scope
46 | }
47 |
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/RecordingManager.swift:90:56: error: cannot find 'usleep' in scope
88 | process.interrupt()
89 | let deadline = Date().addingTimeInterval(10)
90 | while process.isRunning && Date() < deadline { usleep(50_000) }
| `- error: cannot find 'usleep' in scope
91 | if process.isRunning {
92 | kill(process.processIdentifier, SIGKILL)
[12/51] Compiling KassiOS KassDocloc.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[13/51] Compiling KassiOS KassElement.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[14/51] Compiling KassiOS KassElementCollection.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[15/51] Compiling KassiOS KassElementDeepAssertions.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[16/51] Compiling KassiOS KassFlakyTracker.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[17/51] Compiling KassiOS AllureReporter.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[18/51] Compiling KassiOS JUnitReporter.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[19/51] Compiling KassiOS KassAccessibilityAudit.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[20/51] Compiling KassiOS KassAgentProtocol.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[21/51] Compiling KassiOS KassBuiltinInterceptors.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[22/51] Compiling KassiOS KassCombinators.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[23/51] Compiling KassiOS KassConfig.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[24/51] Compiling KassiOS KassDevice.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[25/51] Compiling KassiOS KassDeviceTierC.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[26/51] Compiling KassiOS KassDiagnostic.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[27/51] Compiling KassiOS KassRobot.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[28/51] Compiling KassiOS KassScaffold.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[29/51] Compiling KassiOS KassScenario.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[30/51] Compiling KassiOS KassScreen.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[31/51] Compiling KassiOS KassMetadata.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[32/51] Compiling KassiOS KassNavigation.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[33/51] Compiling KassiOS KassNetworkStub.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[34/51] Compiling KassiOS KassNumberParsing.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[35/51] Compiling KassiOSStubs KassiOSStubs.swift
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:45:34: error: cannot find type 'URLRequest' in scope
43 |
44 | /// The first stub matching `request` by URL substring (and method, if set).
45 | static func match(_ request: URLRequest) -> KassStubDefinition? {
| `- error: cannot find type 'URLRequest' in scope
46 | guard let url = request.url?.absoluteString else { return nil }
47 | return stubs.first { stub in
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:57:47: error: cannot find type 'URLRequest' in scope
55 | // These override URLProtocol's class methods, so they must be `class func`.
56 | // swiftlint:disable static_over_final_class
57 | override class func canInit(with request: URLRequest) -> Bool { match(request) != nil }
| `- error: cannot find type 'URLRequest' in scope
58 | override class func canonicalRequest(for request: URLRequest) -> URLRequest { request }
59 | // swiftlint:enable static_over_final_class
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:58:70: error: cannot find type 'URLRequest' in scope
56 | // swiftlint:disable static_over_final_class
57 | override class func canInit(with request: URLRequest) -> Bool { match(request) != nil }
58 | override class func canonicalRequest(for request: URLRequest) -> URLRequest { request }
| `- error: cannot find type 'URLRequest' in scope
59 | // swiftlint:enable static_over_final_class
60 |
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:58:55: error: cannot find type 'URLRequest' in scope
56 | // swiftlint:disable static_over_final_class
57 | override class func canInit(with request: URLRequest) -> Bool { match(request) != nil }
58 | override class func canonicalRequest(for request: URLRequest) -> URLRequest { request }
| `- error: cannot find type 'URLRequest' in scope
59 | // swiftlint:enable static_over_final_class
60 |
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:61:19: error: method does not override any method from its superclass
59 | // swiftlint:enable static_over_final_class
60 |
61 | override func startLoading() {
| `- error: method does not override any method from its superclass
62 | guard let stub = Self.match(request), let url = request.url else {
63 | client?.urlProtocol(self, didFailWithError: URLError(.unsupportedURL))
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:83:19: error: method does not override any method from its superclass
81 | }
82 |
83 | override func stopLoading() {}
| `- error: method does not override any method from its superclass
84 | }
85 |
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:40:34: error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
38 | /// Replays stubbed responses for requests the app makes through `URLSession.shared`
39 | /// (and any session whose configuration includes registered protocols).
40 | final class KassStubURLProtocol: URLProtocol {
| `- error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
41 | // Set once during `installIfConfigured`, before any request runs.
42 | nonisolated(unsafe) static var stubs: [KassStubDefinition] = []
Foundation.URLProtocol:2:18: note: 'URLProtocol' 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 URLProtocol = AnyObject
| `- note: 'URLProtocol' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:23:21: error: type 'URLProtocol' (aka 'AnyObject') has no member 'registerClass'
21 | !stubs.isEmpty else { return }
22 | KassStubURLProtocol.stubs = stubs
23 | URLProtocol.registerClass(KassStubURLProtocol.self)
| `- error: type 'URLProtocol' (aka 'AnyObject') has no member 'registerClass'
24 | }
25 | }
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:47:16: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
45 | static func match(_ request: URLRequest) -> KassStubDefinition? {
46 | guard let url = request.url?.absoluteString else { return nil }
47 | return stubs.first { stub in
| `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
48 | // Empty substring = match every URL (whole-app offline). Explicit,
49 | // because Foundation's `String.contains("")` returns false here.
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:62:37: error: cannot find 'request' in scope
60 |
61 | override func startLoading() {
62 | guard let stub = Self.match(request), let url = request.url else {
| `- error: cannot find 'request' in scope
63 | client?.urlProtocol(self, didFailWithError: URLError(.unsupportedURL))
64 | return
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:62:57: error: cannot find 'request' in scope
60 |
61 | override func startLoading() {
62 | guard let stub = Self.match(request), let url = request.url else {
| `- error: cannot find 'request' in scope
63 | client?.urlProtocol(self, didFailWithError: URLError(.unsupportedURL))
64 | return
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:63:13: error: cannot find 'client' in scope
61 | override func startLoading() {
62 | guard let stub = Self.match(request), let url = request.url else {
63 | client?.urlProtocol(self, didFailWithError: URLError(.unsupportedURL))
| `- error: cannot find 'client' in scope
64 | return
65 | }
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:67:13: error: cannot find 'client' in scope
65 | }
66 | if stub.failWithOffline {
67 | client?.urlProtocol(self, didFailWithError: URLError(.notConnectedToInternet))
| `- error: cannot find 'client' in scope
68 | return
69 | }
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:70:30: error: 'HTTPURLResponse' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
68 | return
69 | }
70 | guard let response = HTTPURLResponse(
| `- error: 'HTTPURLResponse' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
71 | url: url, statusCode: stub.statusCode, httpVersion: "HTTP/1.1", headerFields: stub.headers
72 | ) else {
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:75:13: error: cannot find 'client' in scope
73 | // Fail loudly rather than substitute a bogus 200 — a malformed stub
74 | // (bad status code / headers) should surface, not silently "succeed".
75 | client?.urlProtocol(self, didFailWithError: URLError(.badServerResponse))
| `- error: cannot find 'client' in scope
76 | return
77 | }
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:78:9: error: cannot find 'client' in scope
76 | return
77 | }
78 | client?.urlProtocol(self, didReceive: response, cacheStoragePolicy: .notAllowed)
| `- error: cannot find 'client' in scope
79 | client?.urlProtocol(self, didLoad: Data(stub.body.utf8))
80 | client?.urlProtocolDidFinishLoading(self)
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:78:78: error: cannot infer contextual base in reference to member 'notAllowed'
76 | return
77 | }
78 | client?.urlProtocol(self, didReceive: response, cacheStoragePolicy: .notAllowed)
| `- error: cannot infer contextual base in reference to member 'notAllowed'
79 | client?.urlProtocol(self, didLoad: Data(stub.body.utf8))
80 | client?.urlProtocolDidFinishLoading(self)
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:79:9: error: cannot find 'client' in scope
77 | }
78 | client?.urlProtocol(self, didReceive: response, cacheStoragePolicy: .notAllowed)
79 | client?.urlProtocol(self, didLoad: Data(stub.body.utf8))
| `- error: cannot find 'client' in scope
80 | client?.urlProtocolDidFinishLoading(self)
81 | }
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:80:9: error: cannot find 'client' in scope
78 | client?.urlProtocol(self, didReceive: response, cacheStoragePolicy: .notAllowed)
79 | client?.urlProtocol(self, didLoad: Data(stub.body.utf8))
80 | client?.urlProtocolDidFinishLoading(self)
| `- error: cannot find 'client' in scope
81 | }
82 |
[36/51] Emitting module KassiOSStubs
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:45:34: error: cannot find type 'URLRequest' in scope
43 |
44 | /// The first stub matching `request` by URL substring (and method, if set).
45 | static func match(_ request: URLRequest) -> KassStubDefinition? {
| `- error: cannot find type 'URLRequest' in scope
46 | guard let url = request.url?.absoluteString else { return nil }
47 | return stubs.first { stub in
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:57:47: error: cannot find type 'URLRequest' in scope
55 | // These override URLProtocol's class methods, so they must be `class func`.
56 | // swiftlint:disable static_over_final_class
57 | override class func canInit(with request: URLRequest) -> Bool { match(request) != nil }
| `- error: cannot find type 'URLRequest' in scope
58 | override class func canonicalRequest(for request: URLRequest) -> URLRequest { request }
59 | // swiftlint:enable static_over_final_class
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:58:70: error: cannot find type 'URLRequest' in scope
56 | // swiftlint:disable static_over_final_class
57 | override class func canInit(with request: URLRequest) -> Bool { match(request) != nil }
58 | override class func canonicalRequest(for request: URLRequest) -> URLRequest { request }
| `- error: cannot find type 'URLRequest' in scope
59 | // swiftlint:enable static_over_final_class
60 |
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:58:55: error: cannot find type 'URLRequest' in scope
56 | // swiftlint:disable static_over_final_class
57 | override class func canInit(with request: URLRequest) -> Bool { match(request) != nil }
58 | override class func canonicalRequest(for request: URLRequest) -> URLRequest { request }
| `- error: cannot find type 'URLRequest' in scope
59 | // swiftlint:enable static_over_final_class
60 |
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:61:19: error: method does not override any method from its superclass
59 | // swiftlint:enable static_over_final_class
60 |
61 | override func startLoading() {
| `- error: method does not override any method from its superclass
62 | guard let stub = Self.match(request), let url = request.url else {
63 | client?.urlProtocol(self, didFailWithError: URLError(.unsupportedURL))
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:83:19: error: method does not override any method from its superclass
81 | }
82 |
83 | override func stopLoading() {}
| `- error: method does not override any method from its superclass
84 | }
85 |
/host/spi-builder-workspace/Sources/KassiOSStubs/KassiOSStubs.swift:40:34: error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
38 | /// Replays stubbed responses for requests the app makes through `URLSession.shared`
39 | /// (and any session whose configuration includes registered protocols).
40 | final class KassStubURLProtocol: URLProtocol {
| `- error: 'URLProtocol' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
41 | // Set once during `installIfConfigured`, before any request runs.
42 | nonisolated(unsafe) static var stubs: [KassStubDefinition] = []
Foundation.URLProtocol:2:18: note: 'URLProtocol' 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 URLProtocol = AnyObject
| `- note: 'URLProtocol' has been explicitly marked unavailable here
[37/51] Compiling KassiOS KassSnapshot.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[38/51] Compiling KassiOS KassSuite.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[39/51] Compiling KassiOS KassSynchronizer.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[40/51] Compiling KassiOS KassTestCase.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[41/51] Compiling KassiOS KassTreeWalk.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[42/51] Compiling KassiOS MainActorBox.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[43/51] Compiling KassiOS StabilizingSynchronizer.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[44/51] Compiling KassiOS Waiter.swift
/host/spi-builder-workspace/Sources/KassiOS/KassSnapshot.swift:2:8: error: no such module 'CoreGraphics'
1 | import XCTest
2 | import CoreGraphics
| `- error: no such module 'CoreGraphics'
3 | import ImageIO
4 |
[45/51] Emitting module KassiOSAgentCLI
[46/51] Compiling KassiOSAgentCLI Agent.swift
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/Agent.swift:91:29: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
89 | // (the token lives here). Remove any stale copy first so the mode sticks.
90 | try? FileManager.default.removeItem(at: url)
91 | FileManager.default.createFile(atPath: url.path, contents: data, attributes: [.posixPermissions: 0o600])
| `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused [#no-usage]
92 | }
93 | }
[47/51] Compiling KassiOSAgentCLI HTTPServer.swift
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:15:18: error: cannot find 'socket' in scope
13 |
14 | init(port: UInt16) throws {
15 | let fd = socket(AF_INET, SOCK_STREAM, 0)
| `- error: cannot find 'socket' in scope
16 | guard fd >= 0 else { throw ServerError.socketFailed }
17 |
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:15:25: error: cannot find 'AF_INET' in scope
13 |
14 | init(port: UInt16) throws {
15 | let fd = socket(AF_INET, SOCK_STREAM, 0)
| `- error: cannot find 'AF_INET' in scope
16 | guard fd >= 0 else { throw ServerError.socketFailed }
17 |
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:15:34: error: cannot find 'SOCK_STREAM' in scope
13 |
14 | init(port: UInt16) throws {
15 | let fd = socket(AF_INET, SOCK_STREAM, 0)
| `- error: cannot find 'SOCK_STREAM' in scope
16 | guard fd >= 0 else { throw ServerError.socketFailed }
17 |
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:19:9: error: cannot find 'setsockopt' in scope
17 |
18 | var yes: Int32 = 1
19 | setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &yes, socklen_t(MemoryLayout<Int32>.size))
| `- error: cannot find 'setsockopt' in scope
20 |
21 | var addr = sockaddr_in()
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:19:24: error: cannot find 'SOL_SOCKET' in scope
17 |
18 | var yes: Int32 = 1
19 | setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &yes, socklen_t(MemoryLayout<Int32>.size))
| `- error: cannot find 'SOL_SOCKET' in scope
20 |
21 | var addr = sockaddr_in()
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:19:36: error: cannot find 'SO_REUSEADDR' in scope
17 |
18 | var yes: Int32 = 1
19 | setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &yes, socklen_t(MemoryLayout<Int32>.size))
| `- error: cannot find 'SO_REUSEADDR' in scope
20 |
21 | var addr = sockaddr_in()
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:21:20: error: cannot find 'sockaddr_in' in scope
19 | setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &yes, socklen_t(MemoryLayout<Int32>.size))
20 |
21 | var addr = sockaddr_in()
| `- error: cannot find 'sockaddr_in' in scope
22 | addr.sin_family = sa_family_t(AF_INET)
23 | addr.sin_port = port.bigEndian
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:22:27: error: cannot find 'sa_family_t' in scope
20 |
21 | var addr = sockaddr_in()
22 | addr.sin_family = sa_family_t(AF_INET)
| `- error: cannot find 'sa_family_t' in scope
23 | addr.sin_port = port.bigEndian
24 | addr.sin_addr.s_addr = inet_addr("127.0.0.1") // loopback only
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:22:39: error: cannot find 'AF_INET' in scope
20 |
21 | var addr = sockaddr_in()
22 | addr.sin_family = sa_family_t(AF_INET)
| `- error: cannot find 'AF_INET' in scope
23 | addr.sin_port = port.bigEndian
24 | addr.sin_addr.s_addr = inet_addr("127.0.0.1") // loopback only
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:24:32: error: cannot find 'inet_addr' in scope
22 | addr.sin_family = sa_family_t(AF_INET)
23 | addr.sin_port = port.bigEndian
24 | addr.sin_addr.s_addr = inet_addr("127.0.0.1") // loopback only
| `- error: cannot find 'inet_addr' in scope
25 |
26 | let bound = withUnsafePointer(to: &addr) {
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:27:38: error: cannot find 'sockaddr' in scope
25 |
26 | let bound = withUnsafePointer(to: &addr) {
27 | $0.withMemoryRebound(to: sockaddr.self, capacity: 1) {
| `- error: cannot find 'sockaddr' in scope
28 | Darwin.bind(fd, $0, socklen_t(MemoryLayout<sockaddr_in>.size))
29 | }
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:28:17: error: cannot find 'Darwin' in scope
26 | let bound = withUnsafePointer(to: &addr) {
27 | $0.withMemoryRebound(to: sockaddr.self, capacity: 1) {
28 | Darwin.bind(fd, $0, socklen_t(MemoryLayout<sockaddr_in>.size))
| `- error: cannot find 'Darwin' in scope
29 | }
30 | }
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:28:60: error: cannot find type 'sockaddr_in' in scope
26 | let bound = withUnsafePointer(to: &addr) {
27 | $0.withMemoryRebound(to: sockaddr.self, capacity: 1) {
28 | Darwin.bind(fd, $0, socklen_t(MemoryLayout<sockaddr_in>.size))
| `- error: cannot find type 'sockaddr_in' in scope
29 | }
30 | }
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:27:16: error: generic parameter 'T' could not be inferred
25 |
26 | let bound = withUnsafePointer(to: &addr) {
27 | $0.withMemoryRebound(to: sockaddr.self, capacity: 1) {
| `- error: generic parameter 'T' could not be inferred
28 | Darwin.bind(fd, $0, socklen_t(MemoryLayout<sockaddr_in>.size))
29 | }
Swift.UnsafePointer.withMemoryRebound:2:13: note: in call to function 'withMemoryRebound(to:capacity:_:)'
1 | generic struct UnsafePointer {
2 | public func withMemoryRebound<T, E, Result>(to type: T.Type, capacity count: Int, _ body: (_ pointer: UnsafePointer<T>) throws(E) -> Result) throws(E) -> Result where E : Error, T : ~Copyable, Result : ~Copyable}
| `- note: in call to function 'withMemoryRebound(to:capacity:_:)'
3 |
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:31:33: error: cannot find 'close' in scope
29 | }
30 | }
31 | guard bound == 0 else { close(fd); throw ServerError.bindFailed }
| `- error: cannot find 'close' in scope
32 | guard listen(fd, 8) == 0 else { close(fd); throw ServerError.listenFailed }
33 | self.listenFD = fd
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:32:15: error: cannot find 'listen' in scope
30 | }
31 | guard bound == 0 else { close(fd); throw ServerError.bindFailed }
32 | guard listen(fd, 8) == 0 else { close(fd); throw ServerError.listenFailed }
| `- error: cannot find 'listen' in scope
33 | self.listenFD = fd
34 | }
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:32:41: error: cannot find 'close' in scope
30 | }
31 | guard bound == 0 else { close(fd); throw ServerError.bindFailed }
32 | guard listen(fd, 8) == 0 else { close(fd); throw ServerError.listenFailed }
| `- error: cannot find 'close' in scope
33 | self.listenFD = fd
34 | }
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:39:28: error: cannot find 'accept' in scope
37 | func serve(_ handler: (Data) -> Data) -> Never {
38 | while true {
39 | let clientFD = accept(listenFD, nil, nil)
| `- error: cannot find 'accept' in scope
40 | if clientFD < 0 { continue }
41 | // Bound each connection: the token is only checked after the body is
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:39:45: error: 'nil' requires a contextual type
37 | func serve(_ handler: (Data) -> Data) -> Never {
38 | while true {
39 | let clientFD = accept(listenFD, nil, nil)
| `- error: 'nil' requires a contextual type
40 | if clientFD < 0 { continue }
41 | // Bound each connection: the token is only checked after the body is
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:39:50: error: 'nil' requires a contextual type
37 | func serve(_ handler: (Data) -> Data) -> Never {
38 | while true {
39 | let clientFD = accept(listenFD, nil, nil)
| `- error: 'nil' requires a contextual type
40 | if clientFD < 0 { continue }
41 | // Bound each connection: the token is only checked after the body is
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:45:13: error: cannot find 'setsockopt' in scope
43 | // and stalls would wedge this single-threaded loop for the whole run.
44 | var timeout = timeval(tv_sec: 5, tv_usec: 0)
45 | setsockopt(clientFD, SOL_SOCKET, SO_RCVTIMEO, &timeout, socklen_t(MemoryLayout<timeval>.size))
| `- error: cannot find 'setsockopt' in scope
46 | let request = readAll(clientFD)
47 | let body = Self.httpBody(of: request)
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:45:34: error: cannot find 'SOL_SOCKET' in scope
43 | // and stalls would wedge this single-threaded loop for the whole run.
44 | var timeout = timeval(tv_sec: 5, tv_usec: 0)
45 | setsockopt(clientFD, SOL_SOCKET, SO_RCVTIMEO, &timeout, socklen_t(MemoryLayout<timeval>.size))
| `- error: cannot find 'SOL_SOCKET' in scope
46 | let request = readAll(clientFD)
47 | let body = Self.httpBody(of: request)
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:45:46: error: cannot find 'SO_RCVTIMEO' in scope
43 | // and stalls would wedge this single-threaded loop for the whole run.
44 | var timeout = timeval(tv_sec: 5, tv_usec: 0)
45 | setsockopt(clientFD, SOL_SOCKET, SO_RCVTIMEO, &timeout, socklen_t(MemoryLayout<timeval>.size))
| `- error: cannot find 'SO_RCVTIMEO' in scope
46 | let request = readAll(clientFD)
47 | let body = Self.httpBody(of: request)
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:50:13: error: cannot find 'close' in scope
48 | let responseBody = handler(body)
49 | write(clientFD, Self.httpResponse(responseBody))
50 | close(clientFD)
| `- error: cannot find 'close' in scope
51 | }
52 | }
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:61:29: error: cannot find 'read' in scope
59 | // Read headers, then exactly Content-Length bytes of body.
60 | while true {
61 | let bytesRead = read(fd, &buffer, buffer.count)
| `- error: cannot find 'read' in scope
62 | if bytesRead <= 0 { break } // EOF, error, or the recv timeout fired
63 | data.append(contentsOf: buffer[0..<bytesRead])
/host/spi-builder-workspace/Sources/KassiOSAgentCLI/HTTPServer.swift:77:31: error: cannot find 'Darwin' in scope
75 | let base = raw.bindMemory(to: UInt8.self).baseAddress!
76 | while offset < data.count {
77 | let written = Darwin.write(fd, base + offset, data.count - offset)
| `- error: cannot find 'Darwin' in scope
78 | if written <= 0 { break }
79 | offset += written
BUILD FAILURE 6.2 android