The Swift Package Index logo.Swift Package Index

Build Information

Failed to build CommandLineKit, reference 1.1.1 (58aa1a), with Swift 6.2 for Android on 26 Jun 2026 13:28:03 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.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 0e64495ecc1688c3b3e031a5ef1348b5c05091ae
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/objecthub/swift-commandlinekit.git
Reference: 1.1.1
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/objecthub/swift-commandlinekit
 * tag               1.1.1      -> FETCH_HEAD
HEAD is now at 58aa1a2 Finalize 1.1.1 release.
Cloned https://github.com/objecthub/swift-commandlinekit.git
Revision (git rev-parse @):
58aa1a2285c5b8ad54e874a2bd66f790eb7e1766
SUCCESS checkout https://github.com/objecthub/swift-commandlinekit.git at 1.1.1
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/objecthub/swift-commandlinekit.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.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:3f0849bce0d177c252f57ff0847fffe59d625aee973279c71a52a43c740d3c90
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.2-latest
Building for debugging...
[0/7] Write sources
[2/7] Write swift-version--11D90AFD9DD3AB2.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/25] Emitting module CommandLineKit
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:75:35: error: cannot find 'STDIN_FILENO' in scope
 73 |
 74 |   /// Initializer
 75 |   public init?(inputFile: Int32 = STDIN_FILENO,
    |                                   `- error: cannot find 'STDIN_FILENO' in scope
 76 |                outputFile: Int32 = STDOUT_FILENO,
 77 |                completionCallback: ((String) -> [String])? = nil,
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:76:36: error: cannot find 'STDOUT_FILENO' in scope
 74 |   /// Initializer
 75 |   public init?(inputFile: Int32 = STDIN_FILENO,
 76 |                outputFile: Int32 = STDOUT_FILENO,
    |                                    `- error: cannot find 'STDOUT_FILENO' in scope
 77 |                completionCallback: ((String) -> [String])? = nil,
 78 |                hintsCallback: ((String) -> (String, TextProperties)?)? = nil) {
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:63:27: error: cannot find 'termios' in scope
 61 |     print(prompt, terminator: "")
 62 |     fflush(stdout)
 63 |     var originalTermios = termios()
    |                           `- error: cannot find 'termios' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:64:5: error: cannot find 'tcgetattr' in scope
 62 |     fflush(stdout)
 63 |     var originalTermios = termios()
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
    |     `- error: cannot find 'tcgetattr' in scope
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:64:15: error: cannot find 'STDIN_FILENO' in scope
 62 |     fflush(stdout)
 63 |     var originalTermios = termios()
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
    |               `- error: cannot find 'STDIN_FILENO' in scope
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:28: error: cannot find 'tcflag_t' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                            `- error: cannot find 'tcflag_t' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:37: error: cannot find 'ECHO' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                                     `- error: cannot find 'ECHO' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:44: error: cannot find 'ICANON' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                                            `- error: cannot find 'ICANON' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:53: error: cannot find 'ISIG' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                                                     `- error: cannot find 'ISIG' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:69:5: error: cannot find 'tcsetattr' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
    |     `- error: cannot find 'tcsetattr' in scope
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:69:15: error: cannot find 'STDIN_FILENO' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
    |               `- error: cannot find 'STDIN_FILENO' in scope
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:69:29: error: cannot find 'TCSANOW' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
    |                             `- error: cannot find 'TCSANOW' in scope
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:275:11: error: cannot find 'tcsetattr' in scope
273 |         // Ctrl+C
274 |         case 3:
275 |           tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |           `- error: cannot find 'tcsetattr' in scope
276 |           throw LineReaderError.CTRLC
277 |         // Ctrl+U — clear entire line
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:275:21: error: cannot find 'STDIN_FILENO' in scope
273 |         // Ctrl+C
274 |         case 3:
275 |           tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                     `- error: cannot find 'STDIN_FILENO' in scope
276 |           throw LineReaderError.CTRLC
277 |         // Ctrl+U — clear entire line
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:275:35: error: cannot find 'TCSANOW' in scope
273 |         // Ctrl+C
274 |         case 3:
275 |           tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                   `- error: cannot find 'TCSANOW' in scope
276 |           throw LineReaderError.CTRLC
277 |         // Ctrl+U — clear entire line
[5/27] Compiling CommandLineKit Command.swift
[6/27] Compiling CommandLineKit ControlCharacters.swift
[7/27] Compiling CommandLineKit ConvertibleFromString.swift
[8/27] Compiling CommandLineKit TextProperties.swift
[9/27] Compiling CommandLineKit TextStyle.swift
[10/27] Compiling CommandLineKit AnsiCodes.swift
[11/27] Compiling CommandLineKit AnsiText.swift
[12/27] Compiling CommandLineKit BackgroundColor.swift
[13/27] Compiling CommandLineKit FlagWrapper.swift
[14/27] Compiling CommandLineKit Flags.swift
[15/27] Compiling CommandLineKit EditState.swift
[16/27] Compiling CommandLineKit Flag.swift
[17/27] Compiling CommandLineKit FlagError.swift
[18/27] Compiling CommandLineKit LineReaderHistory.swift
[19/27] Compiling CommandLineKit String.swift
[20/27] Compiling CommandLineKit Terminal.swift
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:63:27: error: cannot find 'termios' in scope
 61 |     print(prompt, terminator: "")
 62 |     fflush(stdout)
 63 |     var originalTermios = termios()
    |                           `- error: cannot find 'termios' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:64:5: error: cannot find 'tcgetattr' in scope
 62 |     fflush(stdout)
 63 |     var originalTermios = termios()
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
    |     `- error: cannot find 'tcgetattr' in scope
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:64:15: error: cannot find 'STDIN_FILENO' in scope
 62 |     fflush(stdout)
 63 |     var originalTermios = termios()
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
    |               `- error: cannot find 'STDIN_FILENO' in scope
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:28: error: cannot find 'tcflag_t' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                            `- error: cannot find 'tcflag_t' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:37: error: cannot find 'ECHO' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                                     `- error: cannot find 'ECHO' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:44: error: cannot find 'ICANON' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                                            `- error: cannot find 'ICANON' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:53: error: cannot find 'ISIG' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                                                     `- error: cannot find 'ISIG' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:69:5: error: cannot find 'tcsetattr' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
    |     `- error: cannot find 'tcsetattr' in scope
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:69:15: error: cannot find 'STDIN_FILENO' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
    |               `- error: cannot find 'STDIN_FILENO' in scope
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:69:29: error: cannot find 'TCSANOW' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
    |                             `- error: cannot find 'TCSANOW' in scope
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:71:7: error: cannot find 'tcsetattr' in scope
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |       `- error: cannot find 'tcsetattr' in scope
 72 |       print()
 73 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:71:17: error: cannot find 'STDIN_FILENO' in scope
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                 `- error: cannot find 'STDIN_FILENO' in scope
 72 |       print()
 73 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:71:31: error: cannot find 'TCSANOW' in scope
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                               `- error: cannot find 'TCSANOW' in scope
 72 |       print()
 73 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:89:13: error: cannot find 'read' in scope
 87 |     func readUnicodeScalar() -> (scalar: Unicode.Scalar, bytes: [UInt8])? {
 88 |       var firstByte: UInt8 = 0
 89 |       guard read(STDIN_FILENO, &firstByte, 1) == 1 else {
    |             `- error: cannot find 'read' in scope
 90 |         return nil
 91 |       }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:89:18: error: cannot find 'STDIN_FILENO' in scope
 87 |     func readUnicodeScalar() -> (scalar: Unicode.Scalar, bytes: [UInt8])? {
 88 |       var firstByte: UInt8 = 0
 89 |       guard read(STDIN_FILENO, &firstByte, 1) == 1 else {
    |                  `- error: cannot find 'STDIN_FILENO' in scope
 90 |         return nil
 91 |       }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:100:15: error: cannot find 'read' in scope
 98 |       for _ in 1..<length {
 99 |         var contByte: UInt8 = 0
100 |         guard read(STDIN_FILENO, &contByte, 1) == 1 else { return nil }
    |               `- error: cannot find 'read' in scope
101 |           // Continuation bytes must be 10xxxxxx
102 |         guard (contByte & 0xC0) == 0x80 else { return nil }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:100:20: error: cannot find 'STDIN_FILENO' in scope
 98 |       for _ in 1..<length {
 99 |         var contByte: UInt8 = 0
100 |         guard read(STDIN_FILENO, &contByte, 1) == 1 else { return nil }
    |                    `- error: cannot find 'STDIN_FILENO' in scope
101 |           // Continuation bytes must be 10xxxxxx
102 |         guard (contByte & 0xC0) == 0x80 else { return nil }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:143:13: error: cannot find 'read' in scope
141 |     func readEscapeSequence() -> EscapeResult {
142 |       var byte: UInt8 = 0
143 |       guard read(STDIN_FILENO, &byte, 1) == 1 else {
    |             `- error: cannot find 'read' in scope
144 |         return .unknown
145 |       }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:143:18: error: cannot find 'STDIN_FILENO' in scope
141 |     func readEscapeSequence() -> EscapeResult {
142 |       var byte: UInt8 = 0
143 |       guard read(STDIN_FILENO, &byte, 1) == 1 else {
    |                  `- error: cannot find 'STDIN_FILENO' in scope
144 |         return .unknown
145 |       }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:149:17: error: cannot find 'read' in scope
147 |         case UInt8(ascii: "["):
148 |           // CSI sequence — read the final byte
149 |           guard read(STDIN_FILENO, &byte, 1) == 1 else { return .unknown }
    |                 `- error: cannot find 'read' in scope
150 |           // Drain extended sequences e.g. ESC [ 1 ~
151 |           if byte >= UInt8(ascii: "0") && byte <= UInt8(ascii: "9") {
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:149:22: error: cannot find 'STDIN_FILENO' in scope
147 |         case UInt8(ascii: "["):
148 |           // CSI sequence — read the final byte
149 |           guard read(STDIN_FILENO, &byte, 1) == 1 else { return .unknown }
    |                      `- error: cannot find 'STDIN_FILENO' in scope
150 |           // Drain extended sequences e.g. ESC [ 1 ~
151 |           if byte >= UInt8(ascii: "0") && byte <= UInt8(ascii: "9") {
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:153:17: error: cannot find 'read' in scope
151 |           if byte >= UInt8(ascii: "0") && byte <= UInt8(ascii: "9") {
152 |             var extra: UInt8 = 0
153 |             _ = read(STDIN_FILENO, &extra, 1)
    |                 `- error: cannot find 'read' in scope
154 |             return .unknown
155 |           }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:153:22: error: cannot find 'STDIN_FILENO' in scope
151 |           if byte >= UInt8(ascii: "0") && byte <= UInt8(ascii: "9") {
152 |             var extra: UInt8 = 0
153 |             _ = read(STDIN_FILENO, &extra, 1)
    |                      `- error: cannot find 'STDIN_FILENO' in scope
154 |             return .unknown
155 |           }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:275:11: error: cannot find 'tcsetattr' in scope
273 |         // Ctrl+C
274 |         case 3:
275 |           tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |           `- error: cannot find 'tcsetattr' in scope
276 |           throw LineReaderError.CTRLC
277 |         // Ctrl+U — clear entire line
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:275:21: error: cannot find 'STDIN_FILENO' in scope
273 |         // Ctrl+C
274 |         case 3:
275 |           tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                     `- error: cannot find 'STDIN_FILENO' in scope
276 |           throw LineReaderError.CTRLC
277 |         // Ctrl+U — clear entire line
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:275:35: error: cannot find 'TCSANOW' in scope
273 |         // Ctrl+C
274 |         case 3:
275 |           tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                   `- error: cannot find 'TCSANOW' in scope
276 |           throw LineReaderError.CTRLC
277 |         // Ctrl+U — clear entire line
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:325:14: error: cannot find 'winsize' in scope
323 |   /// component refers to the number of columns.
324 |   public static var size: (lines: Int, columns: Int)? {
325 |     var ws = winsize()
    |              `- error: cannot find 'winsize' in scope
326 |     if ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &ws) >= 0, ws.ws_col > 0 {
327 |       return (lines: Int(ws.ws_row), columns: Int(ws.ws_col))
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:326:8: error: cannot find 'ioctl' in scope
324 |   public static var size: (lines: Int, columns: Int)? {
325 |     var ws = winsize()
326 |     if ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &ws) >= 0, ws.ws_col > 0 {
    |        `- error: cannot find 'ioctl' in scope
327 |       return (lines: Int(ws.ws_row), columns: Int(ws.ws_col))
328 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:326:14: error: cannot find 'STDOUT_FILENO' in scope
324 |   public static var size: (lines: Int, columns: Int)? {
325 |     var ws = winsize()
326 |     if ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &ws) >= 0, ws.ws_col > 0 {
    |              `- error: cannot find 'STDOUT_FILENO' in scope
327 |       return (lines: Int(ws.ws_row), columns: Int(ws.ws_col))
328 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:326:34: error: cannot find 'TIOCGWINSZ' in scope
324 |   public static var size: (lines: Int, columns: Int)? {
325 |     var ws = winsize()
326 |     if ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &ws) >= 0, ws.ws_col > 0 {
    |                                  `- error: cannot find 'TIOCGWINSZ' in scope
327 |       return (lines: Int(ws.ws_row), columns: Int(ws.ws_col))
328 |     }
[21/27] Compiling CommandLineKit TextColor.swift
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:63:27: error: cannot find 'termios' in scope
 61 |     print(prompt, terminator: "")
 62 |     fflush(stdout)
 63 |     var originalTermios = termios()
    |                           `- error: cannot find 'termios' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:64:5: error: cannot find 'tcgetattr' in scope
 62 |     fflush(stdout)
 63 |     var originalTermios = termios()
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
    |     `- error: cannot find 'tcgetattr' in scope
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:64:15: error: cannot find 'STDIN_FILENO' in scope
 62 |     fflush(stdout)
 63 |     var originalTermios = termios()
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
    |               `- error: cannot find 'STDIN_FILENO' in scope
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:28: error: cannot find 'tcflag_t' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                            `- error: cannot find 'tcflag_t' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:37: error: cannot find 'ECHO' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                                     `- error: cannot find 'ECHO' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:44: error: cannot find 'ICANON' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                                            `- error: cannot find 'ICANON' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:66:53: error: cannot find 'ISIG' in scope
 64 |     tcgetattr(STDIN_FILENO, &originalTermios)
 65 |     var rawTermios = originalTermios
 66 |     rawTermios.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
    |                                                     `- error: cannot find 'ISIG' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:69:5: error: cannot find 'tcsetattr' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
    |     `- error: cannot find 'tcsetattr' in scope
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:69:15: error: cannot find 'STDIN_FILENO' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
    |               `- error: cannot find 'STDIN_FILENO' in scope
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:69:29: error: cannot find 'TCSANOW' in scope
 67 |     rawTermios.c_cc.16 = 1  // VMIN
 68 |     rawTermios.c_cc.17 = 0  // VTIME
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
    |                             `- error: cannot find 'TCSANOW' in scope
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:71:7: error: cannot find 'tcsetattr' in scope
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |       `- error: cannot find 'tcsetattr' in scope
 72 |       print()
 73 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:71:17: error: cannot find 'STDIN_FILENO' in scope
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                 `- error: cannot find 'STDIN_FILENO' in scope
 72 |       print()
 73 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:71:31: error: cannot find 'TCSANOW' in scope
 69 |     tcsetattr(STDIN_FILENO, TCSANOW, &rawTermios)
 70 |     defer {
 71 |       tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                               `- error: cannot find 'TCSANOW' in scope
 72 |       print()
 73 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:89:13: error: cannot find 'read' in scope
 87 |     func readUnicodeScalar() -> (scalar: Unicode.Scalar, bytes: [UInt8])? {
 88 |       var firstByte: UInt8 = 0
 89 |       guard read(STDIN_FILENO, &firstByte, 1) == 1 else {
    |             `- error: cannot find 'read' in scope
 90 |         return nil
 91 |       }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:89:18: error: cannot find 'STDIN_FILENO' in scope
 87 |     func readUnicodeScalar() -> (scalar: Unicode.Scalar, bytes: [UInt8])? {
 88 |       var firstByte: UInt8 = 0
 89 |       guard read(STDIN_FILENO, &firstByte, 1) == 1 else {
    |                  `- error: cannot find 'STDIN_FILENO' in scope
 90 |         return nil
 91 |       }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:100:15: error: cannot find 'read' in scope
 98 |       for _ in 1..<length {
 99 |         var contByte: UInt8 = 0
100 |         guard read(STDIN_FILENO, &contByte, 1) == 1 else { return nil }
    |               `- error: cannot find 'read' in scope
101 |           // Continuation bytes must be 10xxxxxx
102 |         guard (contByte & 0xC0) == 0x80 else { return nil }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:100:20: error: cannot find 'STDIN_FILENO' in scope
 98 |       for _ in 1..<length {
 99 |         var contByte: UInt8 = 0
100 |         guard read(STDIN_FILENO, &contByte, 1) == 1 else { return nil }
    |                    `- error: cannot find 'STDIN_FILENO' in scope
101 |           // Continuation bytes must be 10xxxxxx
102 |         guard (contByte & 0xC0) == 0x80 else { return nil }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:143:13: error: cannot find 'read' in scope
141 |     func readEscapeSequence() -> EscapeResult {
142 |       var byte: UInt8 = 0
143 |       guard read(STDIN_FILENO, &byte, 1) == 1 else {
    |             `- error: cannot find 'read' in scope
144 |         return .unknown
145 |       }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:143:18: error: cannot find 'STDIN_FILENO' in scope
141 |     func readEscapeSequence() -> EscapeResult {
142 |       var byte: UInt8 = 0
143 |       guard read(STDIN_FILENO, &byte, 1) == 1 else {
    |                  `- error: cannot find 'STDIN_FILENO' in scope
144 |         return .unknown
145 |       }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:149:17: error: cannot find 'read' in scope
147 |         case UInt8(ascii: "["):
148 |           // CSI sequence — read the final byte
149 |           guard read(STDIN_FILENO, &byte, 1) == 1 else { return .unknown }
    |                 `- error: cannot find 'read' in scope
150 |           // Drain extended sequences e.g. ESC [ 1 ~
151 |           if byte >= UInt8(ascii: "0") && byte <= UInt8(ascii: "9") {
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:149:22: error: cannot find 'STDIN_FILENO' in scope
147 |         case UInt8(ascii: "["):
148 |           // CSI sequence — read the final byte
149 |           guard read(STDIN_FILENO, &byte, 1) == 1 else { return .unknown }
    |                      `- error: cannot find 'STDIN_FILENO' in scope
150 |           // Drain extended sequences e.g. ESC [ 1 ~
151 |           if byte >= UInt8(ascii: "0") && byte <= UInt8(ascii: "9") {
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:153:17: error: cannot find 'read' in scope
151 |           if byte >= UInt8(ascii: "0") && byte <= UInt8(ascii: "9") {
152 |             var extra: UInt8 = 0
153 |             _ = read(STDIN_FILENO, &extra, 1)
    |                 `- error: cannot find 'read' in scope
154 |             return .unknown
155 |           }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:153:22: error: cannot find 'STDIN_FILENO' in scope
151 |           if byte >= UInt8(ascii: "0") && byte <= UInt8(ascii: "9") {
152 |             var extra: UInt8 = 0
153 |             _ = read(STDIN_FILENO, &extra, 1)
    |                      `- error: cannot find 'STDIN_FILENO' in scope
154 |             return .unknown
155 |           }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:275:11: error: cannot find 'tcsetattr' in scope
273 |         // Ctrl+C
274 |         case 3:
275 |           tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |           `- error: cannot find 'tcsetattr' in scope
276 |           throw LineReaderError.CTRLC
277 |         // Ctrl+U — clear entire line
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:275:21: error: cannot find 'STDIN_FILENO' in scope
273 |         // Ctrl+C
274 |         case 3:
275 |           tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                     `- error: cannot find 'STDIN_FILENO' in scope
276 |           throw LineReaderError.CTRLC
277 |         // Ctrl+U — clear entire line
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:275:35: error: cannot find 'TCSANOW' in scope
273 |         // Ctrl+C
274 |         case 3:
275 |           tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                   `- error: cannot find 'TCSANOW' in scope
276 |           throw LineReaderError.CTRLC
277 |         // Ctrl+U — clear entire line
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:325:14: error: cannot find 'winsize' in scope
323 |   /// component refers to the number of columns.
324 |   public static var size: (lines: Int, columns: Int)? {
325 |     var ws = winsize()
    |              `- error: cannot find 'winsize' in scope
326 |     if ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &ws) >= 0, ws.ws_col > 0 {
327 |       return (lines: Int(ws.ws_row), columns: Int(ws.ws_col))
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:326:8: error: cannot find 'ioctl' in scope
324 |   public static var size: (lines: Int, columns: Int)? {
325 |     var ws = winsize()
326 |     if ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &ws) >= 0, ws.ws_col > 0 {
    |        `- error: cannot find 'ioctl' in scope
327 |       return (lines: Int(ws.ws_row), columns: Int(ws.ws_col))
328 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:326:14: error: cannot find 'STDOUT_FILENO' in scope
324 |   public static var size: (lines: Int, columns: Int)? {
325 |     var ws = winsize()
326 |     if ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &ws) >= 0, ws.ws_col > 0 {
    |              `- error: cannot find 'STDOUT_FILENO' in scope
327 |       return (lines: Int(ws.ws_row), columns: Int(ws.ws_col))
328 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/Terminal.swift:326:34: error: cannot find 'TIOCGWINSZ' in scope
324 |   public static var size: (lines: Int, columns: Int)? {
325 |     var ws = winsize()
326 |     if ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &ws) >= 0, ws.ws_col > 0 {
    |                                  `- error: cannot find 'TIOCGWINSZ' in scope
327 |       return (lines: Int(ws.ws_row), columns: Int(ws.ws_col))
328 |     }
[22/27] Compiling CommandLineKit LineReader.swift
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:75:35: error: cannot find 'STDIN_FILENO' in scope
 73 |
 74 |   /// Initializer
 75 |   public init?(inputFile: Int32 = STDIN_FILENO,
    |                                   `- error: cannot find 'STDIN_FILENO' in scope
 76 |                outputFile: Int32 = STDOUT_FILENO,
 77 |                completionCallback: ((String) -> [String])? = nil,
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:76:36: error: cannot find 'STDOUT_FILENO' in scope
 74 |   /// Initializer
 75 |   public init?(inputFile: Int32 = STDIN_FILENO,
 76 |                outputFile: Int32 = STDOUT_FILENO,
    |                                    `- error: cannot find 'STDOUT_FILENO' in scope
 77 |                completionCallback: ((String) -> [String])? = nil,
 78 |                hintsCallback: ((String) -> (String, TextProperties)?)? = nil) {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:82:8: error: cannot find 'isatty' in scope
 80 |     self.outputFile = outputFile
 81 |     self.currentTerm = Terminal.current
 82 |     if isatty(inputFile) != 1 {
    |        `- error: cannot find 'isatty' in scope
 83 |       return nil
 84 |     } else {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:493:19: error: cannot find 'winsize' in scope
491 |
492 |   private var numColumns: Int {
493 |     var winSize = winsize()
    |                   `- error: cannot find 'winsize' in scope
494 |     if ioctl(1, UInt(TIOCGWINSZ), &winSize) == -1 || winSize.ws_col == 0 {
495 |       return 80
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:494:8: error: cannot find 'ioctl' in scope
492 |   private var numColumns: Int {
493 |     var winSize = winsize()
494 |     if ioctl(1, UInt(TIOCGWINSZ), &winSize) == -1 || winSize.ws_col == 0 {
    |        `- error: cannot find 'ioctl' in scope
495 |       return 80
496 |     } else {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:494:22: error: cannot find 'TIOCGWINSZ' in scope
492 |   private var numColumns: Int {
493 |     var winSize = winsize()
494 |     if ioctl(1, UInt(TIOCGWINSZ), &winSize) == -1 || winSize.ws_col == 0 {
    |                      `- error: cannot find 'TIOCGWINSZ' in scope
495 |       return 80
496 |     } else {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:507:11: error: cannot find 'ioctl' in scope
505 |   private var bytesAvailable: Int {
506 |     var available: Int = 0
507 |     guard ioctl(self.inputFile, LineReader.FIONREAD, &available) >= 0 else {
    |           `- error: cannot find 'ioctl' in scope
508 |       return 0
509 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:565:8: error: cannot find 'read' in scope
563 |   private func readByte() -> UInt8? {
564 |     var input: UInt8 = 0
565 |     if read(self.inputFile, &input, 1) == 0 {
    |        `- error: cannot find 'read' in scope
566 |       return nil
567 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:573:9: error: cannot find 'read' in scope
571 |   private func forceReadByte() -> UInt8 {
572 |     var input: UInt8 = 0
573 |     _ = read(self.inputFile, &input, 1)
    |         `- error: cannot find 'read' in scope
574 |     return input
575 |   }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:579:9: error: cannot find 'read' in scope
577 |   private func readCharacter() -> Character? {
578 |     var input: UInt8 = 0
579 |     _ = read(self.inputFile, &input, 1)
    |         `- error: cannot find 'read' in scope
580 |     return Character(UnicodeScalar(input))
581 |   }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:600:8: error: cannot find 'write' in scope
598 |
599 |   private func output(text: String) throws {
600 |     if write(self.outputFile, text, text.utf8.count) == -1 {
    |        `- error: cannot find 'write' in scope
601 |       throw LineReaderError.generalError("Unable to write to output")
602 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:696:26: error: cannot find type 'termios' in scope
694 |
695 |   private func withRawMode(body: () throws -> ()) throws {
696 |     var originalTermios: termios = termios()
    |                          `- error: cannot find type 'termios' in scope
697 |     defer {
698 |       _ = tcsetattr(self.inputFile, TCSADRAIN, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:698:11: error: cannot find 'tcsetattr' in scope
696 |     var originalTermios: termios = termios()
697 |     defer {
698 |       _ = tcsetattr(self.inputFile, TCSADRAIN, &originalTermios)
    |           `- error: cannot find 'tcsetattr' in scope
699 |     }
700 |     if tcgetattr(self.inputFile, &originalTermios) == -1 {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:698:37: error: cannot find 'TCSADRAIN' in scope
696 |     var originalTermios: termios = termios()
697 |     defer {
698 |       _ = tcsetattr(self.inputFile, TCSADRAIN, &originalTermios)
    |                                     `- error: cannot find 'TCSADRAIN' in scope
699 |     }
700 |     if tcgetattr(self.inputFile, &originalTermios) == -1 {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:700:8: error: cannot find 'tcgetattr' in scope
698 |       _ = tcsetattr(self.inputFile, TCSADRAIN, &originalTermios)
699 |     }
700 |     if tcgetattr(self.inputFile, &originalTermios) == -1 {
    |        `- error: cannot find 'tcgetattr' in scope
701 |       throw LineReaderError.generalError("could not get term attributes")
702 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:21: error: cannot find 'tcflag_t' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                     `- error: cannot find 'tcflag_t' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:30: error: cannot find 'BRKINT' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                              `- error: cannot find 'BRKINT' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:39: error: cannot find 'ICRNL' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                                       `- error: cannot find 'ICRNL' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:47: error: cannot find 'INPCK' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                                               `- error: cannot find 'INPCK' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:55: error: cannot find 'ISTRIP' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                                                       `- error: cannot find 'ISTRIP' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:64: error: cannot find 'IXON' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                                                                `- error: cannot find 'IXON' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:705:21: error: cannot find 'tcflag_t' in scope
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
    |                     `- error: cannot find 'tcflag_t' in scope
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:705:30: error: cannot find 'OPOST' in scope
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
    |                              `- error: cannot find 'OPOST' in scope
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:706:20: error: cannot find 'tcflag_t' in scope
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
    |                    `- error: cannot find 'tcflag_t' in scope
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
708 |     // VMIN = 16
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:706:29: error: cannot find 'CS8' in scope
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
    |                             `- error: cannot find 'CS8' in scope
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
708 |     // VMIN = 16
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:707:21: error: cannot find 'tcflag_t' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
    |                     `- error: cannot find 'tcflag_t' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:707:30: error: cannot find 'ECHO' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
    |                              `- error: cannot find 'ECHO' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:707:37: error: cannot find 'ICANON' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
    |                                     `- error: cannot find 'ICANON' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:707:46: error: cannot find 'IEXTEN' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
    |                                              `- error: cannot find 'IEXTEN' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:707:55: error: cannot find 'ISIG' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
    |                                                       `- error: cannot find 'ISIG' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:710:11: error: cannot find 'tcsetattr' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
710 |     guard tcsetattr(self.inputFile, TCSADRAIN, &raw) >= 0 else {
    |           `- error: cannot find 'tcsetattr' in scope
711 |       throw LineReaderError.generalError("Could not set raw mode")
712 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:710:37: error: cannot find 'TCSADRAIN' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
710 |     guard tcsetattr(self.inputFile, TCSADRAIN, &raw) >= 0 else {
    |                                     `- error: cannot find 'TCSADRAIN' in scope
711 |       throw LineReaderError.generalError("Could not set raw mode")
712 |     }
[23/27] Compiling CommandLineKit LineReaderError.swift
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:75:35: error: cannot find 'STDIN_FILENO' in scope
 73 |
 74 |   /// Initializer
 75 |   public init?(inputFile: Int32 = STDIN_FILENO,
    |                                   `- error: cannot find 'STDIN_FILENO' in scope
 76 |                outputFile: Int32 = STDOUT_FILENO,
 77 |                completionCallback: ((String) -> [String])? = nil,
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:76:36: error: cannot find 'STDOUT_FILENO' in scope
 74 |   /// Initializer
 75 |   public init?(inputFile: Int32 = STDIN_FILENO,
 76 |                outputFile: Int32 = STDOUT_FILENO,
    |                                    `- error: cannot find 'STDOUT_FILENO' in scope
 77 |                completionCallback: ((String) -> [String])? = nil,
 78 |                hintsCallback: ((String) -> (String, TextProperties)?)? = nil) {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:82:8: error: cannot find 'isatty' in scope
 80 |     self.outputFile = outputFile
 81 |     self.currentTerm = Terminal.current
 82 |     if isatty(inputFile) != 1 {
    |        `- error: cannot find 'isatty' in scope
 83 |       return nil
 84 |     } else {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:493:19: error: cannot find 'winsize' in scope
491 |
492 |   private var numColumns: Int {
493 |     var winSize = winsize()
    |                   `- error: cannot find 'winsize' in scope
494 |     if ioctl(1, UInt(TIOCGWINSZ), &winSize) == -1 || winSize.ws_col == 0 {
495 |       return 80
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:494:8: error: cannot find 'ioctl' in scope
492 |   private var numColumns: Int {
493 |     var winSize = winsize()
494 |     if ioctl(1, UInt(TIOCGWINSZ), &winSize) == -1 || winSize.ws_col == 0 {
    |        `- error: cannot find 'ioctl' in scope
495 |       return 80
496 |     } else {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:494:22: error: cannot find 'TIOCGWINSZ' in scope
492 |   private var numColumns: Int {
493 |     var winSize = winsize()
494 |     if ioctl(1, UInt(TIOCGWINSZ), &winSize) == -1 || winSize.ws_col == 0 {
    |                      `- error: cannot find 'TIOCGWINSZ' in scope
495 |       return 80
496 |     } else {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:507:11: error: cannot find 'ioctl' in scope
505 |   private var bytesAvailable: Int {
506 |     var available: Int = 0
507 |     guard ioctl(self.inputFile, LineReader.FIONREAD, &available) >= 0 else {
    |           `- error: cannot find 'ioctl' in scope
508 |       return 0
509 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:565:8: error: cannot find 'read' in scope
563 |   private func readByte() -> UInt8? {
564 |     var input: UInt8 = 0
565 |     if read(self.inputFile, &input, 1) == 0 {
    |        `- error: cannot find 'read' in scope
566 |       return nil
567 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:573:9: error: cannot find 'read' in scope
571 |   private func forceReadByte() -> UInt8 {
572 |     var input: UInt8 = 0
573 |     _ = read(self.inputFile, &input, 1)
    |         `- error: cannot find 'read' in scope
574 |     return input
575 |   }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:579:9: error: cannot find 'read' in scope
577 |   private func readCharacter() -> Character? {
578 |     var input: UInt8 = 0
579 |     _ = read(self.inputFile, &input, 1)
    |         `- error: cannot find 'read' in scope
580 |     return Character(UnicodeScalar(input))
581 |   }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:600:8: error: cannot find 'write' in scope
598 |
599 |   private func output(text: String) throws {
600 |     if write(self.outputFile, text, text.utf8.count) == -1 {
    |        `- error: cannot find 'write' in scope
601 |       throw LineReaderError.generalError("Unable to write to output")
602 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:696:26: error: cannot find type 'termios' in scope
694 |
695 |   private func withRawMode(body: () throws -> ()) throws {
696 |     var originalTermios: termios = termios()
    |                          `- error: cannot find type 'termios' in scope
697 |     defer {
698 |       _ = tcsetattr(self.inputFile, TCSADRAIN, &originalTermios)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:698:11: error: cannot find 'tcsetattr' in scope
696 |     var originalTermios: termios = termios()
697 |     defer {
698 |       _ = tcsetattr(self.inputFile, TCSADRAIN, &originalTermios)
    |           `- error: cannot find 'tcsetattr' in scope
699 |     }
700 |     if tcgetattr(self.inputFile, &originalTermios) == -1 {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:698:37: error: cannot find 'TCSADRAIN' in scope
696 |     var originalTermios: termios = termios()
697 |     defer {
698 |       _ = tcsetattr(self.inputFile, TCSADRAIN, &originalTermios)
    |                                     `- error: cannot find 'TCSADRAIN' in scope
699 |     }
700 |     if tcgetattr(self.inputFile, &originalTermios) == -1 {
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:700:8: error: cannot find 'tcgetattr' in scope
698 |       _ = tcsetattr(self.inputFile, TCSADRAIN, &originalTermios)
699 |     }
700 |     if tcgetattr(self.inputFile, &originalTermios) == -1 {
    |        `- error: cannot find 'tcgetattr' in scope
701 |       throw LineReaderError.generalError("could not get term attributes")
702 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:21: error: cannot find 'tcflag_t' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                     `- error: cannot find 'tcflag_t' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:30: error: cannot find 'BRKINT' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                              `- error: cannot find 'BRKINT' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:39: error: cannot find 'ICRNL' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                                       `- error: cannot find 'ICRNL' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:47: error: cannot find 'INPCK' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                                               `- error: cannot find 'INPCK' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:55: error: cannot find 'ISTRIP' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                                                       `- error: cannot find 'ISTRIP' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:704:64: error: cannot find 'IXON' in scope
702 |     }
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
    |                                                                `- error: cannot find 'IXON' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:705:21: error: cannot find 'tcflag_t' in scope
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
    |                     `- error: cannot find 'tcflag_t' in scope
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:705:30: error: cannot find 'OPOST' in scope
703 |     var raw = originalTermios
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
    |                              `- error: cannot find 'OPOST' in scope
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:706:20: error: cannot find 'tcflag_t' in scope
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
    |                    `- error: cannot find 'tcflag_t' in scope
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
708 |     // VMIN = 16
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:706:29: error: cannot find 'CS8' in scope
704 |     raw.c_iflag &= ~tcflag_t(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
    |                             `- error: cannot find 'CS8' in scope
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
708 |     // VMIN = 16
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:707:21: error: cannot find 'tcflag_t' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
    |                     `- error: cannot find 'tcflag_t' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:707:30: error: cannot find 'ECHO' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
    |                              `- error: cannot find 'ECHO' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:707:37: error: cannot find 'ICANON' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
    |                                     `- error: cannot find 'ICANON' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:707:46: error: cannot find 'IEXTEN' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
    |                                              `- error: cannot find 'IEXTEN' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:707:55: error: cannot find 'ISIG' in scope
705 |     raw.c_oflag &= ~tcflag_t(OPOST)
706 |     raw.c_cflag |= tcflag_t(CS8)
707 |     raw.c_lflag &= ~tcflag_t(ECHO | ICANON | IEXTEN | ISIG)
    |                                                       `- error: cannot find 'ISIG' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:710:11: error: cannot find 'tcsetattr' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
710 |     guard tcsetattr(self.inputFile, TCSADRAIN, &raw) >= 0 else {
    |           `- error: cannot find 'tcsetattr' in scope
711 |       throw LineReaderError.generalError("Could not set raw mode")
712 |     }
/host/spi-builder-workspace/Sources/CommandLineKit/LineReader.swift:710:37: error: cannot find 'TCSADRAIN' in scope
708 |     // VMIN = 16
709 |     raw.c_cc.16 = 1
710 |     guard tcsetattr(self.inputFile, TCSADRAIN, &raw) >= 0 else {
    |                                     `- error: cannot find 'TCSADRAIN' in scope
711 |       throw LineReaderError.generalError("Could not set raw mode")
712 |     }
BUILD FAILURE 6.2 android