Build Information
Failed to build xcsift, reference v1.7.4 (a905c9), with Swift 6.3 for Android on 31 Oct 2026 06:08:26 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886768-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.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ldomaradzki/xcsift.git
Reference: v1.7.4
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/ldomaradzki/xcsift
* tag v1.7.4 -> FETCH_HEAD
HEAD is now at a905c95 fix: count Swift Testing results from xcbeautify in the test totals (#106)
Cloned https://github.com/ldomaradzki/xcsift.git
Revision (git rev-parse @):
a905c959ca59ca3ea0c47b9f585421455931a4e9
SUCCESS checkout https://github.com/ldomaradzki/xcsift.git at v1.7.4
========================================
Build
========================================
Selected platform: android
Swift version: 6.3
Building package at path: $PWD
https://github.com/ldomaradzki/xcsift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886768-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.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:1259d966e40d034d138a282ea8b980b108763342a7ff8ac7ef483c73e99068f3
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.3-latest
Fetching https://github.com/swiftlang/swift-docc-plugin
Fetching https://github.com/mattt/swift-toml
Fetching https://github.com/toon-format/toon-swift.git
Fetching https://github.com/apple/swift-argument-parser
[1/355] Fetching swift-toml
[229/2700] Fetching swift-toml, swift-docc-plugin
[427/4180] Fetching swift-toml, swift-docc-plugin, toon-swift
Fetched https://github.com/toon-format/toon-swift.git from cache (0.45s)
Fetched https://github.com/mattt/swift-toml from cache (0.45s)
[1243/2345] Fetching swift-docc-plugin
[2346/21665] Fetching swift-docc-plugin, swift-argument-parser
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.83s)
Fetched https://github.com/apple/swift-argument-parser from cache (0.83s)
Computing version for https://github.com/toon-format/toon-swift.git
Computed https://github.com/toon-format/toon-swift.git at 0.5.1 (1.00s)
Computing version for https://github.com/mattt/swift-toml
Computed https://github.com/mattt/swift-toml at 2.1.0 (0.16s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (0.94s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3850] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.52s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.74s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.16s)
Creating working copy for https://github.com/toon-format/toon-swift.git
Working copy of https://github.com/toon-format/toon-swift.git resolved at 0.5.1
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/mattt/swift-toml
Working copy of https://github.com/mattt/swift-toml resolved at 2.1.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
[3/3] Compiling plugin GenerateManual
[4/4] Compiling plugin GenerateDoccReference
Building for debugging...
[4/21] Write sources
[11/21] Write swift-version-272D24FF697CF451.txt
[12/43] Compiling CTomlPlusPlus ctoml.cpp
[14/49] Compiling XCSiftCore TextLines.swift
[15/49] Compiling XCSiftCore TrackingLineParser.swift
[16/50] Emitting module ArgumentParserToolInfo
[17/50] Compiling ArgumentParserToolInfo ToolInfo.swift
[18/51] Wrapping AST for ArgumentParserToolInfo for debugging
[20/58] Compiling TOML LocalDateTime.swift
[21/98] Compiling XCSiftCore XcodebuildSymbols.swift
[22/98] Compiling ArgumentParser ParentCommand.swift
[23/98] Compiling ArgumentParser AsyncParsableCommand.swift
[24/98] Compiling ArgumentParser CommandConfiguration.swift
[25/98] Compiling ArgumentParser CommandGroup.swift
[26/98] Compiling ArgumentParser EnumerableFlag.swift
[27/98] Compiling ArgumentParser ExpressibleByArgument.swift
[28/98] Compiling ArgumentParser ParsableArguments.swift
[29/104] Compiling ArgumentParser BashCompletionsGenerator.swift
[30/104] Compiling ArgumentParser CompletionsGenerator.swift
[31/104] Compiling ArgumentParser FishCompletionsGenerator.swift
[32/104] Compiling ArgumentParser ZshCompletionsGenerator.swift
[33/104] Compiling ArgumentParser Argument.swift
[34/104] Compiling ArgumentParser ArgumentDiscussion.swift
[35/104] Compiling ArgumentParser ArgumentHelp.swift
[36/104] Compiling ArgumentParser ArgumentVisibility.swift
[37/104] Compiling ArgumentParser CompletionKind.swift
[38/104] Compiling ArgumentParser Errors.swift
[39/104] Compiling ArgumentParser Flag.swift
[40/104] Compiling ArgumentParser NameSpecification.swift
[41/104] Compiling ArgumentParser Option.swift
[42/104] Compiling ArgumentParser OptionGroup.swift
[43/104] Emitting module ArgumentParser
[44/104] Compiling ArgumentParser Name.swift
[45/104] Compiling ArgumentParser Parsed.swift
[46/104] Compiling ArgumentParser ParsedValues.swift
[47/104] Compiling ArgumentParser ParserError.swift
[48/104] Compiling ArgumentParser SplitArguments.swift
[49/104] Compiling ArgumentParser DumpHelpGenerator.swift
[50/104] Compiling ArgumentParser AsyncCompletionsValidator.swift
[51/104] Compiling ArgumentParser CodingKeyValidator.swift
[52/104] Compiling ArgumentParser NonsenseFlagsValidator.swift
[53/104] Compiling ArgumentParser ParsableArgumentsValidation.swift
[54/104] Compiling ArgumentParser PositionalArgumentsValidator.swift
[55/104] Compiling ArgumentParser UniqueNamesValidator.swift
[56/104] Compiling TOML Shared.swift
[57/104] Compiling TOML Value.swift
[58/104] Compiling ToonFormat NumberGrammar.swift
[59/105] Emitting module ToonFormat
[60/105] Emitting module XCSiftCore
[61/105] Compiling ToonFormat TOONValue.swift
[62/105] Compiling ToonFormat FieldNode.swift
[63/105] Compiling ToonFormat ScalarOrderedDictionary.swift
[64/105] Compiling ToonFormat Value.swift
[65/105] Compiling ToonFormat Version.swift
[68/105] Compiling XCSiftCore XcodeTestResults.swift
[69/105] Compiling XCSiftCore XCBeautifySymbols.swift
[70/105] Compiling ToonFormat Encoder.swift
[74/106] Compiling TOML Decoder.swift
[75/106] Compiling TOML Encoder.swift
[76/106] Emitting module TOML
[77/107] Wrapping AST for ToonFormat for debugging
[78/107] Wrapping AST for TOML for debugging
[80/107] Compiling ArgumentParser Mutex.swift
[81/107] Compiling ArgumentParser Platform.swift
[82/107] Compiling ArgumentParser SequenceExtensions.swift
[83/107] Compiling ArgumentParser StringExtensions.swift
[84/107] Compiling ArgumentParser SwiftExtensions.swift
[85/107] Compiling ArgumentParser Tree.swift
[86/107] Compiling ArgumentParser HelpCommand.swift
[87/107] Compiling ArgumentParser HelpGenerator.swift
[88/107] Compiling ArgumentParser MessageInfo.swift
[89/107] Compiling ArgumentParser UsageGenerator.swift
[90/107] Compiling ArgumentParser CollectionExtensions.swift
[91/107] Compiling ArgumentParser Foundation.swift
[92/107] Compiling ArgumentParser ParsableCommand.swift
[93/107] Compiling ArgumentParser ArgumentDecoder.swift
[94/107] Compiling ArgumentParser ArgumentDefinition.swift
[95/107] Compiling ArgumentParser ArgumentSet.swift
[96/107] Compiling ArgumentParser CommandParser.swift
[97/107] Compiling ArgumentParser InputKey.swift
[98/107] Compiling ArgumentParser InputOrigin.swift
[99/108] Wrapping AST for ArgumentParser for debugging
[105/109] Wrapping AST for XCSiftCore for debugging
[107/132] Compiling TestUtils MockFileSystem.swift
[108/132] Emitting module TestUtils
[109/133] Compiling xcsift ClaudeCodeInstaller.swift
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:511:21: error: cannot find 'fcntl' in scope
509 | private func drainPipe(_ pipe: Pipe) -> Data {
510 | let fd = pipe.fileHandleForReading.fileDescriptor
511 | let flags = fcntl(fd, F_GETFL, 0)
| `- error: cannot find 'fcntl' in scope
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:511:31: error: cannot find 'F_GETFL' in scope
509 | private func drainPipe(_ pipe: Pipe) -> Data {
510 | let fd = pipe.fileHandleForReading.fileDescriptor
511 | let flags = fcntl(fd, F_GETFL, 0)
| `- error: cannot find 'F_GETFL' in scope
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:513:17: error: cannot find 'fcntl' in scope
511 | let flags = fcntl(fd, F_GETFL, 0)
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
| `- error: cannot find 'fcntl' in scope
514 | }
515 | var collected = Data()
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:513:27: error: cannot find 'F_SETFL' in scope
511 | let flags = fcntl(fd, F_GETFL, 0)
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
| `- error: cannot find 'F_SETFL' in scope
514 | }
515 | var collected = Data()
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:513:44: error: cannot find 'O_NONBLOCK' in scope
511 | let flags = fcntl(fd, F_GETFL, 0)
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
| `- error: cannot find 'O_NONBLOCK' in scope
514 | }
515 | var collected = Data()
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:519:17: error: cannot find 'read' in scope
517 | while true {
518 | let n = buffer.withUnsafeMutableBufferPointer { ptr -> Int in
519 | read(fd, ptr.baseAddress, ptr.count)
| `- error: cannot find 'read' in scope
520 | }
521 | if n > 0 {
[110/133] Compiling xcsift CodexInstaller.swift
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:511:21: error: cannot find 'fcntl' in scope
509 | private func drainPipe(_ pipe: Pipe) -> Data {
510 | let fd = pipe.fileHandleForReading.fileDescriptor
511 | let flags = fcntl(fd, F_GETFL, 0)
| `- error: cannot find 'fcntl' in scope
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:511:31: error: cannot find 'F_GETFL' in scope
509 | private func drainPipe(_ pipe: Pipe) -> Data {
510 | let fd = pipe.fileHandleForReading.fileDescriptor
511 | let flags = fcntl(fd, F_GETFL, 0)
| `- error: cannot find 'F_GETFL' in scope
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:513:17: error: cannot find 'fcntl' in scope
511 | let flags = fcntl(fd, F_GETFL, 0)
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
| `- error: cannot find 'fcntl' in scope
514 | }
515 | var collected = Data()
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:513:27: error: cannot find 'F_SETFL' in scope
511 | let flags = fcntl(fd, F_GETFL, 0)
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
| `- error: cannot find 'F_SETFL' in scope
514 | }
515 | var collected = Data()
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:513:44: error: cannot find 'O_NONBLOCK' in scope
511 | let flags = fcntl(fd, F_GETFL, 0)
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
| `- error: cannot find 'O_NONBLOCK' in scope
514 | }
515 | var collected = Data()
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:519:17: error: cannot find 'read' in scope
517 | while true {
518 | let n = buffer.withUnsafeMutableBufferPointer { ptr -> Int in
519 | read(fd, ptr.baseAddress, ptr.count)
| `- error: cannot find 'read' in scope
520 | }
521 | if n > 0 {
[111/133] Compiling xcsift CursorInstaller.swift
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:511:21: error: cannot find 'fcntl' in scope
509 | private func drainPipe(_ pipe: Pipe) -> Data {
510 | let fd = pipe.fileHandleForReading.fileDescriptor
511 | let flags = fcntl(fd, F_GETFL, 0)
| `- error: cannot find 'fcntl' in scope
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:511:31: error: cannot find 'F_GETFL' in scope
509 | private func drainPipe(_ pipe: Pipe) -> Data {
510 | let fd = pipe.fileHandleForReading.fileDescriptor
511 | let flags = fcntl(fd, F_GETFL, 0)
| `- error: cannot find 'F_GETFL' in scope
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:513:17: error: cannot find 'fcntl' in scope
511 | let flags = fcntl(fd, F_GETFL, 0)
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
| `- error: cannot find 'fcntl' in scope
514 | }
515 | var collected = Data()
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:513:27: error: cannot find 'F_SETFL' in scope
511 | let flags = fcntl(fd, F_GETFL, 0)
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
| `- error: cannot find 'F_SETFL' in scope
514 | }
515 | var collected = Data()
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:513:44: error: cannot find 'O_NONBLOCK' in scope
511 | let flags = fcntl(fd, F_GETFL, 0)
512 | if flags >= 0 {
513 | _ = fcntl(fd, F_SETFL, flags | O_NONBLOCK)
| `- error: cannot find 'O_NONBLOCK' in scope
514 | }
515 | var collected = Data()
/host/spi-builder-workspace/Sources/xcsift/Install/ClaudeCodeInstaller.swift:519:17: error: cannot find 'read' in scope
517 | while true {
518 | let n = buffer.withUnsafeMutableBufferPointer { ptr -> Int in
519 | read(fd, ptr.baseAddress, ptr.count)
| `- error: cannot find 'read' in scope
520 | }
521 | if n > 0 {
[113/135] Compiling xcsift CursorTemplates.swift
[114/135] Compiling xcsift SharedTemplates.swift
[115/135] Compiling xcsift BuildLogReference.swift
[116/135] Compiling xcsift StreamingLineReader.swift
/host/spi-builder-workspace/Sources/xcsift/main.swift:191:12: error: cannot find 'isatty' in scope
189 |
190 | // Check if stdin is a terminal (no piped input) before trying to read
191 | if isatty(STDIN_FILENO) == 1 {
| `- error: cannot find 'isatty' in scope
192 | throw ValidationError(
193 | "No input provided. Please pipe xcodebuild output to xcsift.\n\nExample: xcodebuild build | xcsift"
/host/spi-builder-workspace/Sources/xcsift/main.swift:191:19: error: cannot find 'STDIN_FILENO' in scope
189 |
190 | // Check if stdin is a terminal (no piped input) before trying to read
191 | if isatty(STDIN_FILENO) == 1 {
| `- error: cannot find 'STDIN_FILENO' in scope
192 | throw ValidationError(
193 | "No input provided. Please pipe xcodebuild output to xcsift.\n\nExample: xcodebuild build | xcsift"
/host/spi-builder-workspace/Sources/xcsift/main.swift:208:60: error: cannot find 'STDIN_FILENO' in scope
206 | xcbeautify: resolved.parse.xcbeautify
207 | )
208 | var inputSource = POSIXInputSource(fileDescriptor: STDIN_FILENO)
| `- error: cannot find 'STDIN_FILENO' in scope
209 | var lineReader = StreamingLineReader()
210 | let inputScan: InputScan
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:22:17: warning: constant 'bytesRead' inferred to have type '()', which may be unexpected
20 |
21 | while true {
22 | let bytesRead = data.withUnsafeMutableBytes { buffer in
| |- warning: constant 'bytesRead' inferred to have type '()', which may be unexpected
| `- note: add an explicit type annotation to silence this warning
23 | #if canImport(Darwin)
24 | Darwin.read(fileDescriptor, buffer.baseAddress, count)
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:32:26: error: binary operator '>' cannot be applied to operands of type '()' and 'Int'
30 | }
31 |
32 | if bytesRead > 0 {
| `- error: binary operator '>' cannot be applied to operands of type '()' and 'Int'
33 | data.removeSubrange(bytesRead ..< data.count)
34 | return data
Swift.BinaryInteger:1:11: note: candidate requires that '()' conform to 'BinaryInteger' (requirement specified as 'Self' : 'BinaryInteger')
1 | extension BinaryInteger {
| `- note: candidate requires that '()' conform to 'BinaryInteger' (requirement specified as 'Self' : 'BinaryInteger')
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
3 | public static func != <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:33:37: error: cannot convert value of type '()' to expected argument type 'Data.Index' (aka 'Int')
31 |
32 | if bytesRead > 0 {
33 | data.removeSubrange(bytesRead ..< data.count)
| `- error: cannot convert value of type '()' to expected argument type 'Data.Index' (aka 'Int')
34 | return data
35 | }
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:36:26: error: binary operator '==' cannot be applied to operands of type '()' and 'Int'
34 | return data
35 | }
36 | if bytesRead == 0 {
| `- error: binary operator '==' cannot be applied to operands of type '()' and 'Int'
37 | return nil
38 | }
Swift.BinaryInteger:1:11: note: candidate requires that '()' conform to 'BinaryInteger' (requirement specified as 'Self' : 'BinaryInteger')
1 | extension BinaryInteger {
| `- note: candidate requires that '()' conform to 'BinaryInteger' (requirement specified as 'Self' : 'BinaryInteger')
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
3 | public static func != <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:39:16: error: cannot find 'errno' in scope
37 | return nil
38 | }
39 | if errno == EINTR {
| `- error: cannot find 'errno' in scope
40 | continue
41 | }
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:43:65: error: cannot find 'errno' in scope
41 | }
42 |
43 | throw NSError(domain: NSPOSIXErrorDomain, code: Int(errno))
| `- error: cannot find 'errno' in scope
44 | }
45 | }
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:118:19: error: cannot find 'match' in scope
116 | #endif
117 |
118 | guard let match else { return nil }
| `- error: cannot find 'match' in scope
119 | return baseAddress.distance(to: UnsafeRawPointer(match))
120 | }
[117/135] Compiling xcsift main.swift
/host/spi-builder-workspace/Sources/xcsift/main.swift:191:12: error: cannot find 'isatty' in scope
189 |
190 | // Check if stdin is a terminal (no piped input) before trying to read
191 | if isatty(STDIN_FILENO) == 1 {
| `- error: cannot find 'isatty' in scope
192 | throw ValidationError(
193 | "No input provided. Please pipe xcodebuild output to xcsift.\n\nExample: xcodebuild build | xcsift"
/host/spi-builder-workspace/Sources/xcsift/main.swift:191:19: error: cannot find 'STDIN_FILENO' in scope
189 |
190 | // Check if stdin is a terminal (no piped input) before trying to read
191 | if isatty(STDIN_FILENO) == 1 {
| `- error: cannot find 'STDIN_FILENO' in scope
192 | throw ValidationError(
193 | "No input provided. Please pipe xcodebuild output to xcsift.\n\nExample: xcodebuild build | xcsift"
/host/spi-builder-workspace/Sources/xcsift/main.swift:208:60: error: cannot find 'STDIN_FILENO' in scope
206 | xcbeautify: resolved.parse.xcbeautify
207 | )
208 | var inputSource = POSIXInputSource(fileDescriptor: STDIN_FILENO)
| `- error: cannot find 'STDIN_FILENO' in scope
209 | var lineReader = StreamingLineReader()
210 | let inputScan: InputScan
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:22:17: warning: constant 'bytesRead' inferred to have type '()', which may be unexpected
20 |
21 | while true {
22 | let bytesRead = data.withUnsafeMutableBytes { buffer in
| |- warning: constant 'bytesRead' inferred to have type '()', which may be unexpected
| `- note: add an explicit type annotation to silence this warning
23 | #if canImport(Darwin)
24 | Darwin.read(fileDescriptor, buffer.baseAddress, count)
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:32:26: error: binary operator '>' cannot be applied to operands of type '()' and 'Int'
30 | }
31 |
32 | if bytesRead > 0 {
| `- error: binary operator '>' cannot be applied to operands of type '()' and 'Int'
33 | data.removeSubrange(bytesRead ..< data.count)
34 | return data
Swift.BinaryInteger:1:11: note: candidate requires that '()' conform to 'BinaryInteger' (requirement specified as 'Self' : 'BinaryInteger')
1 | extension BinaryInteger {
| `- note: candidate requires that '()' conform to 'BinaryInteger' (requirement specified as 'Self' : 'BinaryInteger')
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
3 | public static func != <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:33:37: error: cannot convert value of type '()' to expected argument type 'Data.Index' (aka 'Int')
31 |
32 | if bytesRead > 0 {
33 | data.removeSubrange(bytesRead ..< data.count)
| `- error: cannot convert value of type '()' to expected argument type 'Data.Index' (aka 'Int')
34 | return data
35 | }
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:36:26: error: binary operator '==' cannot be applied to operands of type '()' and 'Int'
34 | return data
35 | }
36 | if bytesRead == 0 {
| `- error: binary operator '==' cannot be applied to operands of type '()' and 'Int'
37 | return nil
38 | }
Swift.BinaryInteger:1:11: note: candidate requires that '()' conform to 'BinaryInteger' (requirement specified as 'Self' : 'BinaryInteger')
1 | extension BinaryInteger {
| `- note: candidate requires that '()' conform to 'BinaryInteger' (requirement specified as 'Self' : 'BinaryInteger')
2 | public static func == <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
3 | public static func != <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:39:16: error: cannot find 'errno' in scope
37 | return nil
38 | }
39 | if errno == EINTR {
| `- error: cannot find 'errno' in scope
40 | continue
41 | }
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:43:65: error: cannot find 'errno' in scope
41 | }
42 |
43 | throw NSError(domain: NSPOSIXErrorDomain, code: Int(errno))
| `- error: cannot find 'errno' in scope
44 | }
45 | }
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/StreamingLineReader.swift:118:19: error: cannot find 'match' in scope
116 | #endif
117 |
118 | guard let match else { return nil }
| `- error: cannot find 'match' in scope
119 | return baseAddress.distance(to: UnsafeRawPointer(match))
120 | }
[118/135] Compiling xcsift ResultRenderer.swift
[119/135] Compiling xcsift SiftingOptions.swift
[120/135] Compiling xcsift ConfigLoader.swift
[121/135] Compiling xcsift ConfigMerger.swift
[122/135] Compiling xcsift Configuration.swift
[123/135] Compiling xcsift InstallCommands.swift
[124/135] Compiling xcsift MCPServerInstaller.swift
[125/135] Compiling xcsift CodexTemplates.swift
[126/135] Emitting module xcsift
[127/135] Compiling xcsift BuildOutputSifter.swift
[128/135] Compiling xcsift JSONValue.swift
[129/135] Compiling xcsift MCPCommand.swift
[130/135] Compiling xcsift MCPMessageFramer.swift
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:71:25: error: cannot find 'SIG_IGN' in scope
69 | // A closed pipe must surface as a short write, not as a signal that kills the proxy while
70 | // the other direction still has messages to deliver.
71 | signal(SIGPIPE, SIG_IGN)
| `- error: cannot find 'SIG_IGN' in scope
72 |
73 | guard let executable = Self.resolve(command) else {
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:98:56: error: cannot find 'STDOUT_FILENO' in scope
96 |
97 | let toServer = FileDescriptorWriter(owning: serverInput.fileHandleForWriting)
98 | let toClient = FileDescriptorWriter(borrowing: STDOUT_FILENO)
| `- error: cannot find 'STDOUT_FILENO' in scope
99 | let toLog = FileDescriptorWriter(borrowing: STDERR_FILENO)
100 | let activity = ProxyActivity()
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:99:53: error: cannot find 'STDERR_FILENO' in scope
97 | let toServer = FileDescriptorWriter(owning: serverInput.fileHandleForWriting)
98 | let toClient = FileDescriptorWriter(borrowing: STDOUT_FILENO)
99 | let toLog = FileDescriptorWriter(borrowing: STDERR_FILENO)
| `- error: cannot find 'STDERR_FILENO' in scope
100 | let activity = ProxyActivity()
101 |
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:110:29: error: cannot find 'STDIN_FILENO' in scope
108 | let clientPump = Thread {
109 | let end = Self.pump(
110 | descriptor: STDIN_FILENO,
| `- error: cannot find 'STDIN_FILENO' in scope
111 | passthrough: toServer,
112 | toServer: toServer,
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:395:33: error: cannot find 'errno' in scope
393 | continue
394 | }
395 | if written < 0, errno == EINTR { continue }
| `- error: cannot find 'errno' in scope
396 | if written < 0, errno == EAGAIN || errno == EWOULDBLOCK {
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:396:33: error: cannot find 'errno' in scope
394 | }
395 | if written < 0, errno == EINTR { continue }
396 | if written < 0, errno == EAGAIN || errno == EWOULDBLOCK {
| `- error: cannot find 'errno' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:396:52: error: cannot find 'errno' in scope
394 | }
395 | if written < 0, errno == EINTR { continue }
396 | if written < 0, errno == EAGAIN || errno == EWOULDBLOCK {
| `- error: cannot find 'errno' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:399:43: error: cannot find 'pollfd' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
399 | var descriptorEvent = pollfd(fd: descriptor, events: Int16(POLLOUT), revents: 0)
| `- error: cannot find 'pollfd' in scope
400 | _ = poll(&descriptorEvent, 1, 1000)
401 | continue
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:399:80: error: cannot find 'POLLOUT' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
399 | var descriptorEvent = pollfd(fd: descriptor, events: Int16(POLLOUT), revents: 0)
| `- error: cannot find 'POLLOUT' in scope
400 | _ = poll(&descriptorEvent, 1, 1000)
401 | continue
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:400:25: error: cannot find 'poll' in scope
398 | // Waiting is the only way to avoid delivering half a message.
399 | var descriptorEvent = pollfd(fd: descriptor, events: Int16(POLLOUT), revents: 0)
400 | _ = poll(&descriptorEvent, 1, 1000)
| `- error: cannot find 'poll' in scope
401 | continue
402 | }
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:404:33: error: cannot find 'errno' in scope
402 | }
403 |
404 | report(failure: errno, written: buffer.count - remaining, of: buffer.count)
| `- error: cannot find 'errno' in scope
405 | return
406 | }
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
[131/135] Compiling xcsift MCPProxyRunner.swift
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:71:25: error: cannot find 'SIG_IGN' in scope
69 | // A closed pipe must surface as a short write, not as a signal that kills the proxy while
70 | // the other direction still has messages to deliver.
71 | signal(SIGPIPE, SIG_IGN)
| `- error: cannot find 'SIG_IGN' in scope
72 |
73 | guard let executable = Self.resolve(command) else {
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:98:56: error: cannot find 'STDOUT_FILENO' in scope
96 |
97 | let toServer = FileDescriptorWriter(owning: serverInput.fileHandleForWriting)
98 | let toClient = FileDescriptorWriter(borrowing: STDOUT_FILENO)
| `- error: cannot find 'STDOUT_FILENO' in scope
99 | let toLog = FileDescriptorWriter(borrowing: STDERR_FILENO)
100 | let activity = ProxyActivity()
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:99:53: error: cannot find 'STDERR_FILENO' in scope
97 | let toServer = FileDescriptorWriter(owning: serverInput.fileHandleForWriting)
98 | let toClient = FileDescriptorWriter(borrowing: STDOUT_FILENO)
99 | let toLog = FileDescriptorWriter(borrowing: STDERR_FILENO)
| `- error: cannot find 'STDERR_FILENO' in scope
100 | let activity = ProxyActivity()
101 |
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:110:29: error: cannot find 'STDIN_FILENO' in scope
108 | let clientPump = Thread {
109 | let end = Self.pump(
110 | descriptor: STDIN_FILENO,
| `- error: cannot find 'STDIN_FILENO' in scope
111 | passthrough: toServer,
112 | toServer: toServer,
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:395:33: error: cannot find 'errno' in scope
393 | continue
394 | }
395 | if written < 0, errno == EINTR { continue }
| `- error: cannot find 'errno' in scope
396 | if written < 0, errno == EAGAIN || errno == EWOULDBLOCK {
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:396:33: error: cannot find 'errno' in scope
394 | }
395 | if written < 0, errno == EINTR { continue }
396 | if written < 0, errno == EAGAIN || errno == EWOULDBLOCK {
| `- error: cannot find 'errno' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:396:52: error: cannot find 'errno' in scope
394 | }
395 | if written < 0, errno == EINTR { continue }
396 | if written < 0, errno == EAGAIN || errno == EWOULDBLOCK {
| `- error: cannot find 'errno' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:399:43: error: cannot find 'pollfd' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
399 | var descriptorEvent = pollfd(fd: descriptor, events: Int16(POLLOUT), revents: 0)
| `- error: cannot find 'pollfd' in scope
400 | _ = poll(&descriptorEvent, 1, 1000)
401 | continue
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:399:80: error: cannot find 'POLLOUT' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
399 | var descriptorEvent = pollfd(fd: descriptor, events: Int16(POLLOUT), revents: 0)
| `- error: cannot find 'POLLOUT' in scope
400 | _ = poll(&descriptorEvent, 1, 1000)
401 | continue
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:400:25: error: cannot find 'poll' in scope
398 | // Waiting is the only way to avoid delivering half a message.
399 | var descriptorEvent = pollfd(fd: descriptor, events: Int16(POLLOUT), revents: 0)
400 | _ = poll(&descriptorEvent, 1, 1000)
| `- error: cannot find 'poll' in scope
401 | continue
402 | }
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:404:33: error: cannot find 'errno' in scope
402 | }
403 |
404 | report(failure: errno, written: buffer.count - remaining, of: buffer.count)
| `- error: cannot find 'errno' in scope
405 | return
406 | }
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
[132/135] Compiling xcsift MCPProxySession.swift
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:71:25: error: cannot find 'SIG_IGN' in scope
69 | // A closed pipe must surface as a short write, not as a signal that kills the proxy while
70 | // the other direction still has messages to deliver.
71 | signal(SIGPIPE, SIG_IGN)
| `- error: cannot find 'SIG_IGN' in scope
72 |
73 | guard let executable = Self.resolve(command) else {
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:98:56: error: cannot find 'STDOUT_FILENO' in scope
96 |
97 | let toServer = FileDescriptorWriter(owning: serverInput.fileHandleForWriting)
98 | let toClient = FileDescriptorWriter(borrowing: STDOUT_FILENO)
| `- error: cannot find 'STDOUT_FILENO' in scope
99 | let toLog = FileDescriptorWriter(borrowing: STDERR_FILENO)
100 | let activity = ProxyActivity()
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:99:53: error: cannot find 'STDERR_FILENO' in scope
97 | let toServer = FileDescriptorWriter(owning: serverInput.fileHandleForWriting)
98 | let toClient = FileDescriptorWriter(borrowing: STDOUT_FILENO)
99 | let toLog = FileDescriptorWriter(borrowing: STDERR_FILENO)
| `- error: cannot find 'STDERR_FILENO' in scope
100 | let activity = ProxyActivity()
101 |
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:110:29: error: cannot find 'STDIN_FILENO' in scope
108 | let clientPump = Thread {
109 | let end = Self.pump(
110 | descriptor: STDIN_FILENO,
| `- error: cannot find 'STDIN_FILENO' in scope
111 | passthrough: toServer,
112 | toServer: toServer,
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:395:33: error: cannot find 'errno' in scope
393 | continue
394 | }
395 | if written < 0, errno == EINTR { continue }
| `- error: cannot find 'errno' in scope
396 | if written < 0, errno == EAGAIN || errno == EWOULDBLOCK {
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:396:33: error: cannot find 'errno' in scope
394 | }
395 | if written < 0, errno == EINTR { continue }
396 | if written < 0, errno == EAGAIN || errno == EWOULDBLOCK {
| `- error: cannot find 'errno' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:396:52: error: cannot find 'errno' in scope
394 | }
395 | if written < 0, errno == EINTR { continue }
396 | if written < 0, errno == EAGAIN || errno == EWOULDBLOCK {
| `- error: cannot find 'errno' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:399:43: error: cannot find 'pollfd' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
399 | var descriptorEvent = pollfd(fd: descriptor, events: Int16(POLLOUT), revents: 0)
| `- error: cannot find 'pollfd' in scope
400 | _ = poll(&descriptorEvent, 1, 1000)
401 | continue
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:399:80: error: cannot find 'POLLOUT' in scope
397 | // A non-blocking peer that has not drained its pipe is still a live peer.
398 | // Waiting is the only way to avoid delivering half a message.
399 | var descriptorEvent = pollfd(fd: descriptor, events: Int16(POLLOUT), revents: 0)
| `- error: cannot find 'POLLOUT' in scope
400 | _ = poll(&descriptorEvent, 1, 1000)
401 | continue
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:400:25: error: cannot find 'poll' in scope
398 | // Waiting is the only way to avoid delivering half a message.
399 | var descriptorEvent = pollfd(fd: descriptor, events: Int16(POLLOUT), revents: 0)
400 | _ = poll(&descriptorEvent, 1, 1000)
| `- error: cannot find 'poll' in scope
401 | continue
402 | }
/host/spi-builder-workspace/Sources/xcsift/MCP/MCPProxyRunner.swift:404:33: error: cannot find 'errno' in scope
402 | }
403 |
404 | report(failure: errno, written: buffer.count - remaining, of: buffer.count)
| `- error: cannot find 'errno' in scope
405 | return
406 | }
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 | * thread.
57 | */
58 | #define errno (*__errno())
| `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
BUILD FAILURE 6.3 android