The Swift Package Index logo.Swift Package Index

Build Information

Failed to build xcsift, reference master (a905c9), with Swift 6.2 for Android on 31 Oct 2026 06:12:35 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 5.1.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ldomaradzki/xcsift.git
Reference: master
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
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
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 master
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/ldomaradzki/xcsift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344847-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:9e4b64e17859f153444a8085b41803f96a8252f8f76139cd5e69e2540803aa5a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.2-latest
Fetching https://github.com/swiftlang/swift-docc-plugin
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/toon-format/toon-swift.git
Fetching https://github.com/mattt/swift-toml
[1/355] Fetching swift-toml
[9/1835] Fetching swift-toml, toon-swift
[274/4180] Fetching swift-toml, toon-swift, swift-docc-plugin
Fetched https://github.com/mattt/swift-toml from cache (0.41s)
Fetched https://github.com/toon-format/toon-swift.git from cache (0.41s)
[258/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.51s)
[387/19320] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (0.80s)
Computing version for https://github.com/toon-format/toon-swift.git
Computed https://github.com/toon-format/toon-swift.git at 0.5.1 (0.95s)
Computing version for https://github.com/mattt/swift-toml
Computed https://github.com/mattt/swift-toml at 2.1.0 (0.14s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (0.90s)
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.70s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.91s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.14s)
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
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-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.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/toon-format/toon-swift.git
Working copy of https://github.com/toon-format/toon-swift.git resolved at 0.5.1
[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--11D90AFD9DD3AB2.txt
[11/21] Compiling CTomlPlusPlus ctoml.cpp
[14/49] Compiling TOML LocalDateTime.swift
[15/49] Compiling XCSiftCore TrackingLineParser.swift
[16/49] Compiling XCSiftCore TextLines.swift
[17/50] Compiling XCSiftCore XcodebuildSymbols.swift
[18/50] Compiling ArgumentParserToolInfo ToolInfo.swift
[19/50] Emitting module ArgumentParserToolInfo
[20/51] Wrapping AST for ArgumentParserToolInfo for debugging
[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 Name.swift
[30/104] Compiling ArgumentParser Parsed.swift
[31/104] Compiling ArgumentParser ParsedValues.swift
[32/104] Compiling ArgumentParser ParserError.swift
[33/104] Compiling ArgumentParser SplitArguments.swift
[34/104] Compiling ArgumentParser DumpHelpGenerator.swift
[35/104] Compiling ArgumentParser Mutex.swift
[36/104] Compiling ArgumentParser Platform.swift
[37/104] Compiling ArgumentParser SequenceExtensions.swift
[38/104] Compiling ArgumentParser StringExtensions.swift
[39/104] Compiling ArgumentParser SwiftExtensions.swift
[40/104] Compiling ArgumentParser Tree.swift
[41/104] Compiling ToonFormat Value.swift
[42/105] Compiling ArgumentParser HelpCommand.swift
[43/105] Compiling ArgumentParser HelpGenerator.swift
[44/105] Compiling ArgumentParser MessageInfo.swift
[45/105] Compiling ArgumentParser UsageGenerator.swift
[46/105] Compiling ArgumentParser CollectionExtensions.swift
[47/105] Compiling ArgumentParser Foundation.swift
[48/105] Compiling ToonFormat Version.swift
[49/105] Compiling ToonFormat ScalarOrderedDictionary.swift
[50/105] Compiling ToonFormat FieldNode.swift
[51/105] Emitting module ArgumentParser
[52/105] Compiling XCSiftCore XCBeautifySymbols.swift
[53/105] Compiling XCSiftCore XcodeTestResults.swift
[54/105] Compiling TOML Shared.swift
[55/105] Compiling TOML Value.swift
[56/105] Compiling ArgumentParser ArgumentVisibility.swift
[57/105] Compiling ArgumentParser CompletionKind.swift
[58/105] Compiling ArgumentParser Errors.swift
[59/105] Compiling ArgumentParser Flag.swift
[60/105] Compiling ArgumentParser NameSpecification.swift
[61/105] Compiling ArgumentParser Option.swift
[62/105] Compiling ArgumentParser OptionGroup.swift
[63/105] Compiling ArgumentParser BashCompletionsGenerator.swift
[64/105] Compiling ArgumentParser CompletionsGenerator.swift
[65/105] Compiling ArgumentParser FishCompletionsGenerator.swift
[66/105] Compiling ArgumentParser ZshCompletionsGenerator.swift
[67/105] Compiling ArgumentParser Argument.swift
[68/105] Compiling ArgumentParser ArgumentDiscussion.swift
[69/105] Compiling ArgumentParser ArgumentHelp.swift
[70/105] Compiling ToonFormat TOONValue.swift
[71/105] Compiling ToonFormat NumberGrammar.swift
[72/105] Compiling ArgumentParser AsyncCompletionsValidator.swift
[73/105] Compiling ArgumentParser CodingKeyValidator.swift
[74/105] Compiling ArgumentParser NonsenseFlagsValidator.swift
[75/105] Compiling ArgumentParser ParsableArgumentsValidation.swift
[76/105] Compiling ArgumentParser PositionalArgumentsValidator.swift
[77/105] Compiling ArgumentParser UniqueNamesValidator.swift
[78/105] Compiling TOML Encoder.swift
[79/105] Compiling TOML Decoder.swift
[80/105] Emitting module TOML
[81/106] Wrapping AST for TOML for debugging
[85/106] Emitting module ToonFormat
[86/106] Compiling ToonFormat Encoder.swift
[87/107] Wrapping AST for ToonFormat for debugging
[89/107] Compiling ArgumentParser ParsableCommand.swift
[90/107] Compiling ArgumentParser ArgumentDecoder.swift
[91/107] Compiling ArgumentParser ArgumentDefinition.swift
[92/107] Compiling ArgumentParser ArgumentSet.swift
[93/107] Compiling ArgumentParser CommandParser.swift
[94/107] Compiling ArgumentParser InputKey.swift
[95/107] Compiling ArgumentParser InputOrigin.swift
[96/108] Wrapping AST for ArgumentParser for debugging
[102/108] Emitting module XCSiftCore
[105/109] Wrapping AST for XCSiftCore for debugging
[107/132] Emitting module TestUtils
[108/132] Compiling TestUtils MockFileSystem.swift
[110/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 {
[111/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 {
[112/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] Emitting module xcsift
[114/135] Compiling xcsift CursorTemplates.swift
[115/135] Compiling xcsift SharedTemplates.swift
[116/135] Compiling xcsift BuildLogReference.swift
[117/135] Compiling xcsift InstallCommands.swift
[118/135] Compiling xcsift MCPServerInstaller.swift
[119/135] Compiling xcsift CodexTemplates.swift
[120/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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |     }
[121/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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |     }
[122/135] Compiling xcsift BuildOutputSifter.swift
[123/135] Compiling xcsift JSONValue.swift
[124/135] Compiling xcsift MCPCommand.swift
[125/135] Compiling xcsift ResultRenderer.swift
[126/135] Compiling xcsift SiftingOptions.swift
[127/135] Compiling xcsift ConfigLoader.swift
[128/135] Compiling xcsift ConfigMerger.swift
[129/135] Compiling xcsift Configuration.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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.2 android