The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SwiftLI, reference main (760d49), with Swift 6.3 for Android on 26 Aug 2026 07:31:52 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344849-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.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
[72/168] Compiling SwiftLI LifecycleModifier.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:72:52: error: cannot find 'termios' in scope
 70 | /// fatal-signal handlers.
 71 | private enum TerminalRestoreGuard {
 72 |     nonisolated(unsafe) private static var saved = termios()
    |                                                    `- error: cannot find 'termios' in scope
 73 |     nonisolated(unsafe) private static var hasSaved = false
 74 |     nonisolated(unsafe) private static var installed = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:81:31: error: cannot find type 'termios' in scope
 79 |
 80 |     /// Records the pre-raw settings and installs the exit hooks (once).
 81 |     static func arm(original: termios, mouseEnabled: Bool) {
    |                               `- error: cannot find type 'termios' in scope
 82 |         saved = original
 83 |         hasSaved = true
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:155:35: error: cannot find 'termios' in scope
153 |     private var originalConsoleMode: DWORD = 0
154 |     #else
155 |     private var originalTermios = termios()
    |                                   `- error: cannot find 'termios' in scope
156 |     #endif
157 |     private var isActive = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:95:27: error: cannot find 'SIG_DFL' in scope
 93 |             signal(sig) { s in
 94 |                 TerminalRestoreGuard.restore()
 95 |                 signal(s, SIG_DFL)
    |                           `- error: cannot find 'SIG_DFL' in scope
 96 |                 raise(s)
 97 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:21: error: cannot find 'write' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                     `- error: cannot find 'write' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:27: error: cannot find 'STDOUT_FILENO' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                           `- error: cannot find 'STDOUT_FILENO' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:9: error: cannot find 'tcsetattr' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |         `- error: cannot find 'tcsetattr' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:19: error: cannot find 'STDIN_FILENO' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:33: error: cannot find 'TCSANOW' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                                 `- error: cannot find 'TCSANOW' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:15: error: cannot find 'isatty' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |               `- error: cannot find 'isatty' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:22: error: cannot find 'STDIN_FILENO' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |                      `- error: cannot find 'STDIN_FILENO' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:9: error: cannot find 'tcgetattr' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |         `- error: cannot find 'tcgetattr' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:19: error: cannot find 'STDIN_FILENO' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:211:9: error: cannot find 'cfmakeraw' in scope
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
    |         `- error: cannot find 'cfmakeraw' in scope
212 |
213 |         // Use a *timed* blocking read (VMIN=0, VTIME=1 → up to ~0.1s) so the loop
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:220:75: error: cannot find type 'cc_t' in scope
218 |         // (e.g. a full-viewport scroll diff) with a short write when the tty
219 |         // buffer is momentarily full. A timed read avoids touching those flags.
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
    |                                                                           `- error: cannot find type 'cc_t' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:222:41: error: cannot find 'cc_t' in scope
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
    |                                         `- error: cannot find 'cc_t' in scope
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:223:24: error: cannot find 'VMIN' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
    |                        `- error: cannot find 'VMIN' in scope
224 |                 cc[Int(VTIME)] = 1
225 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:224:24: error: cannot find 'VTIME' in scope
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
    |                        `- error: cannot find 'VTIME' in scope
225 |             }
226 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:9: error: cannot find 'tcsetattr' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |         `- error: cannot find 'tcsetattr' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:19: error: cannot find 'STDIN_FILENO' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:33: error: cannot find 'TCSANOW' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                                 `- error: cannot find 'TCSANOW' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:9: error: cannot find 'tcsetattr' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |         `- error: cannot find 'tcsetattr' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:19: error: cannot find 'STDIN_FILENO' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:33: error: cannot find 'TCSANOW' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                 `- error: cannot find 'TCSANOW' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:21: error: cannot find 'read' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                     `- error: cannot find 'read' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:26: error: cannot find 'STDIN_FILENO' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                          `- error: cannot find 'STDIN_FILENO' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:31:48: error: cannot find 'STDOUT_FILENO' in scope
 29 | enum TerminalOutput {
 30 |     /// Where renderer output goes. Only ``SessionPrintCapture`` mutates this.
 31 |     nonisolated(unsafe) static var fd: Int32 = STDOUT_FILENO
    |                                                `- error: cannot find 'STDOUT_FILENO' in scope
 32 |
 33 |     /// Writes `string` to the terminal, looping over partial writes.
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:98:15: error: cannot find 'pipe' in scope
 96 |         let saved = _dup(STDOUT_FILENO)
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
    |               `- error: cannot find 'pipe' in scope
 99 |         let saved = dup(STDOUT_FILENO)
100 |         #endif
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:21: error: cannot find 'dup' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                     `- error: cannot find 'dup' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:25: error: cannot find 'STDOUT_FILENO' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                         `- error: cannot find 'STDOUT_FILENO' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:13: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |             `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:28: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |                            `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:15: error: cannot find 'dup2' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |               `- error: cannot find 'dup2' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:28: error: cannot find 'STDOUT_FILENO' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |                            `- error: cannot find 'STDOUT_FILENO' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:13: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |             `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:28: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                            `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:43: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                                           `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:121:9: error: cannot find 'close' in scope
119 |             return false
120 |         }
121 |         close(fds[1])
    |         `- error: cannot find 'close' in scope
122 |         #endif
123 |         // stdout now feeds a pipe (not a TTY), which would switch stdio to
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:144:29: error: cannot find 'read' in scope
142 |                 let count = Int(_read(readFD, &buffer, UInt32(buffer.count)))
143 |                 #else
144 |                 let count = read(readFD, &buffer, buffer.count)
    |                             `- error: cannot find 'read' in scope
145 |                 #endif
146 |                 if count <= 0 { break }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:126:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
124 |         // full buffering — force line buffering so prints arrive promptly.
125 |         #if !os(Windows)
126 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
127 |         #endif
128 |
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:9: error: cannot find 'dup2' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |         `- error: cannot find 'dup2' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:21: error: cannot find 'STDOUT_FILENO' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |                     `- error: cannot find 'STDOUT_FILENO' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:190:29: error: cannot find 'STDOUT_FILENO' in scope
188 |         setvbuf(stdout, nil, _IOLBF, 0)
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
    |                             `- error: cannot find 'STDOUT_FILENO' in scope
191 |         #if os(Windows)
192 |         _close(saved)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:196:9: error: cannot find 'close' in scope
194 |         _close(readFD)
195 |         #else
196 |         close(saved)
    |         `- error: cannot find 'close' in scope
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:198:9: error: cannot find 'close' in scope
196 |         close(saved)
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
    |         `- error: cannot find 'close' in scope
199 |         #endif
200 |     }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:188:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
186 |         #endif
187 |         #if !os(Windows)
188 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
[73/168] Compiling SwiftLI MouseEvent.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:72:52: error: cannot find 'termios' in scope
 70 | /// fatal-signal handlers.
 71 | private enum TerminalRestoreGuard {
 72 |     nonisolated(unsafe) private static var saved = termios()
    |                                                    `- error: cannot find 'termios' in scope
 73 |     nonisolated(unsafe) private static var hasSaved = false
 74 |     nonisolated(unsafe) private static var installed = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:81:31: error: cannot find type 'termios' in scope
 79 |
 80 |     /// Records the pre-raw settings and installs the exit hooks (once).
 81 |     static func arm(original: termios, mouseEnabled: Bool) {
    |                               `- error: cannot find type 'termios' in scope
 82 |         saved = original
 83 |         hasSaved = true
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:155:35: error: cannot find 'termios' in scope
153 |     private var originalConsoleMode: DWORD = 0
154 |     #else
155 |     private var originalTermios = termios()
    |                                   `- error: cannot find 'termios' in scope
156 |     #endif
157 |     private var isActive = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:95:27: error: cannot find 'SIG_DFL' in scope
 93 |             signal(sig) { s in
 94 |                 TerminalRestoreGuard.restore()
 95 |                 signal(s, SIG_DFL)
    |                           `- error: cannot find 'SIG_DFL' in scope
 96 |                 raise(s)
 97 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:21: error: cannot find 'write' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                     `- error: cannot find 'write' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:27: error: cannot find 'STDOUT_FILENO' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                           `- error: cannot find 'STDOUT_FILENO' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:9: error: cannot find 'tcsetattr' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |         `- error: cannot find 'tcsetattr' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:19: error: cannot find 'STDIN_FILENO' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:33: error: cannot find 'TCSANOW' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                                 `- error: cannot find 'TCSANOW' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:15: error: cannot find 'isatty' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |               `- error: cannot find 'isatty' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:22: error: cannot find 'STDIN_FILENO' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |                      `- error: cannot find 'STDIN_FILENO' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:9: error: cannot find 'tcgetattr' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |         `- error: cannot find 'tcgetattr' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:19: error: cannot find 'STDIN_FILENO' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:211:9: error: cannot find 'cfmakeraw' in scope
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
    |         `- error: cannot find 'cfmakeraw' in scope
212 |
213 |         // Use a *timed* blocking read (VMIN=0, VTIME=1 → up to ~0.1s) so the loop
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:220:75: error: cannot find type 'cc_t' in scope
218 |         // (e.g. a full-viewport scroll diff) with a short write when the tty
219 |         // buffer is momentarily full. A timed read avoids touching those flags.
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
    |                                                                           `- error: cannot find type 'cc_t' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:222:41: error: cannot find 'cc_t' in scope
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
    |                                         `- error: cannot find 'cc_t' in scope
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:223:24: error: cannot find 'VMIN' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
    |                        `- error: cannot find 'VMIN' in scope
224 |                 cc[Int(VTIME)] = 1
225 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:224:24: error: cannot find 'VTIME' in scope
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
    |                        `- error: cannot find 'VTIME' in scope
225 |             }
226 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:9: error: cannot find 'tcsetattr' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |         `- error: cannot find 'tcsetattr' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:19: error: cannot find 'STDIN_FILENO' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:33: error: cannot find 'TCSANOW' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                                 `- error: cannot find 'TCSANOW' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:9: error: cannot find 'tcsetattr' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |         `- error: cannot find 'tcsetattr' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:19: error: cannot find 'STDIN_FILENO' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:33: error: cannot find 'TCSANOW' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                 `- error: cannot find 'TCSANOW' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:21: error: cannot find 'read' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                     `- error: cannot find 'read' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:26: error: cannot find 'STDIN_FILENO' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                          `- error: cannot find 'STDIN_FILENO' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:31:48: error: cannot find 'STDOUT_FILENO' in scope
 29 | enum TerminalOutput {
 30 |     /// Where renderer output goes. Only ``SessionPrintCapture`` mutates this.
 31 |     nonisolated(unsafe) static var fd: Int32 = STDOUT_FILENO
    |                                                `- error: cannot find 'STDOUT_FILENO' in scope
 32 |
 33 |     /// Writes `string` to the terminal, looping over partial writes.
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:98:15: error: cannot find 'pipe' in scope
 96 |         let saved = _dup(STDOUT_FILENO)
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
    |               `- error: cannot find 'pipe' in scope
 99 |         let saved = dup(STDOUT_FILENO)
100 |         #endif
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:21: error: cannot find 'dup' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                     `- error: cannot find 'dup' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:25: error: cannot find 'STDOUT_FILENO' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                         `- error: cannot find 'STDOUT_FILENO' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:13: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |             `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:28: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |                            `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:15: error: cannot find 'dup2' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |               `- error: cannot find 'dup2' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:28: error: cannot find 'STDOUT_FILENO' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |                            `- error: cannot find 'STDOUT_FILENO' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:13: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |             `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:28: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                            `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:43: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                                           `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:121:9: error: cannot find 'close' in scope
119 |             return false
120 |         }
121 |         close(fds[1])
    |         `- error: cannot find 'close' in scope
122 |         #endif
123 |         // stdout now feeds a pipe (not a TTY), which would switch stdio to
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:144:29: error: cannot find 'read' in scope
142 |                 let count = Int(_read(readFD, &buffer, UInt32(buffer.count)))
143 |                 #else
144 |                 let count = read(readFD, &buffer, buffer.count)
    |                             `- error: cannot find 'read' in scope
145 |                 #endif
146 |                 if count <= 0 { break }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:126:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
124 |         // full buffering — force line buffering so prints arrive promptly.
125 |         #if !os(Windows)
126 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
127 |         #endif
128 |
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:9: error: cannot find 'dup2' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |         `- error: cannot find 'dup2' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:21: error: cannot find 'STDOUT_FILENO' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |                     `- error: cannot find 'STDOUT_FILENO' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:190:29: error: cannot find 'STDOUT_FILENO' in scope
188 |         setvbuf(stdout, nil, _IOLBF, 0)
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
    |                             `- error: cannot find 'STDOUT_FILENO' in scope
191 |         #if os(Windows)
192 |         _close(saved)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:196:9: error: cannot find 'close' in scope
194 |         _close(readFD)
195 |         #else
196 |         close(saved)
    |         `- error: cannot find 'close' in scope
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:198:9: error: cannot find 'close' in scope
196 |         close(saved)
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
    |         `- error: cannot find 'close' in scope
199 |         #endif
200 |     }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:188:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
186 |         #endif
187 |         #if !os(Windows)
188 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
[74/168] Compiling SwiftLI MouseTargetRegistry.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:72:52: error: cannot find 'termios' in scope
 70 | /// fatal-signal handlers.
 71 | private enum TerminalRestoreGuard {
 72 |     nonisolated(unsafe) private static var saved = termios()
    |                                                    `- error: cannot find 'termios' in scope
 73 |     nonisolated(unsafe) private static var hasSaved = false
 74 |     nonisolated(unsafe) private static var installed = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:81:31: error: cannot find type 'termios' in scope
 79 |
 80 |     /// Records the pre-raw settings and installs the exit hooks (once).
 81 |     static func arm(original: termios, mouseEnabled: Bool) {
    |                               `- error: cannot find type 'termios' in scope
 82 |         saved = original
 83 |         hasSaved = true
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:155:35: error: cannot find 'termios' in scope
153 |     private var originalConsoleMode: DWORD = 0
154 |     #else
155 |     private var originalTermios = termios()
    |                                   `- error: cannot find 'termios' in scope
156 |     #endif
157 |     private var isActive = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:95:27: error: cannot find 'SIG_DFL' in scope
 93 |             signal(sig) { s in
 94 |                 TerminalRestoreGuard.restore()
 95 |                 signal(s, SIG_DFL)
    |                           `- error: cannot find 'SIG_DFL' in scope
 96 |                 raise(s)
 97 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:21: error: cannot find 'write' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                     `- error: cannot find 'write' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:27: error: cannot find 'STDOUT_FILENO' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                           `- error: cannot find 'STDOUT_FILENO' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:9: error: cannot find 'tcsetattr' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |         `- error: cannot find 'tcsetattr' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:19: error: cannot find 'STDIN_FILENO' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:33: error: cannot find 'TCSANOW' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                                 `- error: cannot find 'TCSANOW' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:15: error: cannot find 'isatty' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |               `- error: cannot find 'isatty' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:22: error: cannot find 'STDIN_FILENO' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |                      `- error: cannot find 'STDIN_FILENO' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:9: error: cannot find 'tcgetattr' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |         `- error: cannot find 'tcgetattr' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:19: error: cannot find 'STDIN_FILENO' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:211:9: error: cannot find 'cfmakeraw' in scope
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
    |         `- error: cannot find 'cfmakeraw' in scope
212 |
213 |         // Use a *timed* blocking read (VMIN=0, VTIME=1 → up to ~0.1s) so the loop
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:220:75: error: cannot find type 'cc_t' in scope
218 |         // (e.g. a full-viewport scroll diff) with a short write when the tty
219 |         // buffer is momentarily full. A timed read avoids touching those flags.
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
    |                                                                           `- error: cannot find type 'cc_t' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:222:41: error: cannot find 'cc_t' in scope
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
    |                                         `- error: cannot find 'cc_t' in scope
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:223:24: error: cannot find 'VMIN' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
    |                        `- error: cannot find 'VMIN' in scope
224 |                 cc[Int(VTIME)] = 1
225 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:224:24: error: cannot find 'VTIME' in scope
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
    |                        `- error: cannot find 'VTIME' in scope
225 |             }
226 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:9: error: cannot find 'tcsetattr' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |         `- error: cannot find 'tcsetattr' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:19: error: cannot find 'STDIN_FILENO' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:33: error: cannot find 'TCSANOW' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                                 `- error: cannot find 'TCSANOW' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:9: error: cannot find 'tcsetattr' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |         `- error: cannot find 'tcsetattr' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:19: error: cannot find 'STDIN_FILENO' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:33: error: cannot find 'TCSANOW' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                 `- error: cannot find 'TCSANOW' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:21: error: cannot find 'read' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                     `- error: cannot find 'read' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:26: error: cannot find 'STDIN_FILENO' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                          `- error: cannot find 'STDIN_FILENO' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:31:48: error: cannot find 'STDOUT_FILENO' in scope
 29 | enum TerminalOutput {
 30 |     /// Where renderer output goes. Only ``SessionPrintCapture`` mutates this.
 31 |     nonisolated(unsafe) static var fd: Int32 = STDOUT_FILENO
    |                                                `- error: cannot find 'STDOUT_FILENO' in scope
 32 |
 33 |     /// Writes `string` to the terminal, looping over partial writes.
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:98:15: error: cannot find 'pipe' in scope
 96 |         let saved = _dup(STDOUT_FILENO)
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
    |               `- error: cannot find 'pipe' in scope
 99 |         let saved = dup(STDOUT_FILENO)
100 |         #endif
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:21: error: cannot find 'dup' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                     `- error: cannot find 'dup' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:25: error: cannot find 'STDOUT_FILENO' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                         `- error: cannot find 'STDOUT_FILENO' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:13: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |             `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:28: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |                            `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:15: error: cannot find 'dup2' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |               `- error: cannot find 'dup2' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:28: error: cannot find 'STDOUT_FILENO' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |                            `- error: cannot find 'STDOUT_FILENO' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:13: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |             `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:28: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                            `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:43: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                                           `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:121:9: error: cannot find 'close' in scope
119 |             return false
120 |         }
121 |         close(fds[1])
    |         `- error: cannot find 'close' in scope
122 |         #endif
123 |         // stdout now feeds a pipe (not a TTY), which would switch stdio to
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:144:29: error: cannot find 'read' in scope
142 |                 let count = Int(_read(readFD, &buffer, UInt32(buffer.count)))
143 |                 #else
144 |                 let count = read(readFD, &buffer, buffer.count)
    |                             `- error: cannot find 'read' in scope
145 |                 #endif
146 |                 if count <= 0 { break }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:126:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
124 |         // full buffering — force line buffering so prints arrive promptly.
125 |         #if !os(Windows)
126 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
127 |         #endif
128 |
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:9: error: cannot find 'dup2' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |         `- error: cannot find 'dup2' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:21: error: cannot find 'STDOUT_FILENO' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |                     `- error: cannot find 'STDOUT_FILENO' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:190:29: error: cannot find 'STDOUT_FILENO' in scope
188 |         setvbuf(stdout, nil, _IOLBF, 0)
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
    |                             `- error: cannot find 'STDOUT_FILENO' in scope
191 |         #if os(Windows)
192 |         _close(saved)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:196:9: error: cannot find 'close' in scope
194 |         _close(readFD)
195 |         #else
196 |         close(saved)
    |         `- error: cannot find 'close' in scope
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:198:9: error: cannot find 'close' in scope
196 |         close(saved)
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
    |         `- error: cannot find 'close' in scope
199 |         #endif
200 |     }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:188:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
186 |         #endif
187 |         #if !os(Windows)
188 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
[75/168] Compiling SwiftLI PreferenceKey.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:72:52: error: cannot find 'termios' in scope
 70 | /// fatal-signal handlers.
 71 | private enum TerminalRestoreGuard {
 72 |     nonisolated(unsafe) private static var saved = termios()
    |                                                    `- error: cannot find 'termios' in scope
 73 |     nonisolated(unsafe) private static var hasSaved = false
 74 |     nonisolated(unsafe) private static var installed = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:81:31: error: cannot find type 'termios' in scope
 79 |
 80 |     /// Records the pre-raw settings and installs the exit hooks (once).
 81 |     static func arm(original: termios, mouseEnabled: Bool) {
    |                               `- error: cannot find type 'termios' in scope
 82 |         saved = original
 83 |         hasSaved = true
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:155:35: error: cannot find 'termios' in scope
153 |     private var originalConsoleMode: DWORD = 0
154 |     #else
155 |     private var originalTermios = termios()
    |                                   `- error: cannot find 'termios' in scope
156 |     #endif
157 |     private var isActive = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:95:27: error: cannot find 'SIG_DFL' in scope
 93 |             signal(sig) { s in
 94 |                 TerminalRestoreGuard.restore()
 95 |                 signal(s, SIG_DFL)
    |                           `- error: cannot find 'SIG_DFL' in scope
 96 |                 raise(s)
 97 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:21: error: cannot find 'write' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                     `- error: cannot find 'write' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:27: error: cannot find 'STDOUT_FILENO' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                           `- error: cannot find 'STDOUT_FILENO' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:9: error: cannot find 'tcsetattr' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |         `- error: cannot find 'tcsetattr' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:19: error: cannot find 'STDIN_FILENO' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:33: error: cannot find 'TCSANOW' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                                 `- error: cannot find 'TCSANOW' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:15: error: cannot find 'isatty' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |               `- error: cannot find 'isatty' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:22: error: cannot find 'STDIN_FILENO' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |                      `- error: cannot find 'STDIN_FILENO' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:9: error: cannot find 'tcgetattr' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |         `- error: cannot find 'tcgetattr' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:19: error: cannot find 'STDIN_FILENO' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:211:9: error: cannot find 'cfmakeraw' in scope
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
    |         `- error: cannot find 'cfmakeraw' in scope
212 |
213 |         // Use a *timed* blocking read (VMIN=0, VTIME=1 → up to ~0.1s) so the loop
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:220:75: error: cannot find type 'cc_t' in scope
218 |         // (e.g. a full-viewport scroll diff) with a short write when the tty
219 |         // buffer is momentarily full. A timed read avoids touching those flags.
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
    |                                                                           `- error: cannot find type 'cc_t' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:222:41: error: cannot find 'cc_t' in scope
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
    |                                         `- error: cannot find 'cc_t' in scope
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:223:24: error: cannot find 'VMIN' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
    |                        `- error: cannot find 'VMIN' in scope
224 |                 cc[Int(VTIME)] = 1
225 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:224:24: error: cannot find 'VTIME' in scope
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
    |                        `- error: cannot find 'VTIME' in scope
225 |             }
226 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:9: error: cannot find 'tcsetattr' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |         `- error: cannot find 'tcsetattr' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:19: error: cannot find 'STDIN_FILENO' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:33: error: cannot find 'TCSANOW' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                                 `- error: cannot find 'TCSANOW' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:9: error: cannot find 'tcsetattr' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |         `- error: cannot find 'tcsetattr' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:19: error: cannot find 'STDIN_FILENO' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:33: error: cannot find 'TCSANOW' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                 `- error: cannot find 'TCSANOW' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:21: error: cannot find 'read' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                     `- error: cannot find 'read' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:26: error: cannot find 'STDIN_FILENO' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                          `- error: cannot find 'STDIN_FILENO' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:31:48: error: cannot find 'STDOUT_FILENO' in scope
 29 | enum TerminalOutput {
 30 |     /// Where renderer output goes. Only ``SessionPrintCapture`` mutates this.
 31 |     nonisolated(unsafe) static var fd: Int32 = STDOUT_FILENO
    |                                                `- error: cannot find 'STDOUT_FILENO' in scope
 32 |
 33 |     /// Writes `string` to the terminal, looping over partial writes.
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:98:15: error: cannot find 'pipe' in scope
 96 |         let saved = _dup(STDOUT_FILENO)
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
    |               `- error: cannot find 'pipe' in scope
 99 |         let saved = dup(STDOUT_FILENO)
100 |         #endif
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:21: error: cannot find 'dup' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                     `- error: cannot find 'dup' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:25: error: cannot find 'STDOUT_FILENO' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                         `- error: cannot find 'STDOUT_FILENO' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:13: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |             `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:28: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |                            `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:15: error: cannot find 'dup2' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |               `- error: cannot find 'dup2' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:28: error: cannot find 'STDOUT_FILENO' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |                            `- error: cannot find 'STDOUT_FILENO' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:13: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |             `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:28: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                            `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:43: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                                           `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:121:9: error: cannot find 'close' in scope
119 |             return false
120 |         }
121 |         close(fds[1])
    |         `- error: cannot find 'close' in scope
122 |         #endif
123 |         // stdout now feeds a pipe (not a TTY), which would switch stdio to
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:144:29: error: cannot find 'read' in scope
142 |                 let count = Int(_read(readFD, &buffer, UInt32(buffer.count)))
143 |                 #else
144 |                 let count = read(readFD, &buffer, buffer.count)
    |                             `- error: cannot find 'read' in scope
145 |                 #endif
146 |                 if count <= 0 { break }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:126:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
124 |         // full buffering — force line buffering so prints arrive promptly.
125 |         #if !os(Windows)
126 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
127 |         #endif
128 |
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:9: error: cannot find 'dup2' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |         `- error: cannot find 'dup2' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:21: error: cannot find 'STDOUT_FILENO' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |                     `- error: cannot find 'STDOUT_FILENO' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:190:29: error: cannot find 'STDOUT_FILENO' in scope
188 |         setvbuf(stdout, nil, _IOLBF, 0)
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
    |                             `- error: cannot find 'STDOUT_FILENO' in scope
191 |         #if os(Windows)
192 |         _close(saved)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:196:9: error: cannot find 'close' in scope
194 |         _close(readFD)
195 |         #else
196 |         close(saved)
    |         `- error: cannot find 'close' in scope
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:198:9: error: cannot find 'close' in scope
196 |         close(saved)
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
    |         `- error: cannot find 'close' in scope
199 |         #endif
200 |     }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:188:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
186 |         #endif
187 |         #if !os(Windows)
188 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
[76/168] Compiling SwiftLI RenderObservation.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:72:52: error: cannot find 'termios' in scope
 70 | /// fatal-signal handlers.
 71 | private enum TerminalRestoreGuard {
 72 |     nonisolated(unsafe) private static var saved = termios()
    |                                                    `- error: cannot find 'termios' in scope
 73 |     nonisolated(unsafe) private static var hasSaved = false
 74 |     nonisolated(unsafe) private static var installed = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:81:31: error: cannot find type 'termios' in scope
 79 |
 80 |     /// Records the pre-raw settings and installs the exit hooks (once).
 81 |     static func arm(original: termios, mouseEnabled: Bool) {
    |                               `- error: cannot find type 'termios' in scope
 82 |         saved = original
 83 |         hasSaved = true
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:155:35: error: cannot find 'termios' in scope
153 |     private var originalConsoleMode: DWORD = 0
154 |     #else
155 |     private var originalTermios = termios()
    |                                   `- error: cannot find 'termios' in scope
156 |     #endif
157 |     private var isActive = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:95:27: error: cannot find 'SIG_DFL' in scope
 93 |             signal(sig) { s in
 94 |                 TerminalRestoreGuard.restore()
 95 |                 signal(s, SIG_DFL)
    |                           `- error: cannot find 'SIG_DFL' in scope
 96 |                 raise(s)
 97 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:21: error: cannot find 'write' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                     `- error: cannot find 'write' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:27: error: cannot find 'STDOUT_FILENO' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                           `- error: cannot find 'STDOUT_FILENO' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:9: error: cannot find 'tcsetattr' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |         `- error: cannot find 'tcsetattr' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:19: error: cannot find 'STDIN_FILENO' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:33: error: cannot find 'TCSANOW' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                                 `- error: cannot find 'TCSANOW' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:15: error: cannot find 'isatty' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |               `- error: cannot find 'isatty' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:22: error: cannot find 'STDIN_FILENO' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |                      `- error: cannot find 'STDIN_FILENO' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:9: error: cannot find 'tcgetattr' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |         `- error: cannot find 'tcgetattr' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:19: error: cannot find 'STDIN_FILENO' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:211:9: error: cannot find 'cfmakeraw' in scope
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
    |         `- error: cannot find 'cfmakeraw' in scope
212 |
213 |         // Use a *timed* blocking read (VMIN=0, VTIME=1 → up to ~0.1s) so the loop
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:220:75: error: cannot find type 'cc_t' in scope
218 |         // (e.g. a full-viewport scroll diff) with a short write when the tty
219 |         // buffer is momentarily full. A timed read avoids touching those flags.
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
    |                                                                           `- error: cannot find type 'cc_t' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:222:41: error: cannot find 'cc_t' in scope
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
    |                                         `- error: cannot find 'cc_t' in scope
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:223:24: error: cannot find 'VMIN' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
    |                        `- error: cannot find 'VMIN' in scope
224 |                 cc[Int(VTIME)] = 1
225 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:224:24: error: cannot find 'VTIME' in scope
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
    |                        `- error: cannot find 'VTIME' in scope
225 |             }
226 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:9: error: cannot find 'tcsetattr' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |         `- error: cannot find 'tcsetattr' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:19: error: cannot find 'STDIN_FILENO' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:33: error: cannot find 'TCSANOW' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                                 `- error: cannot find 'TCSANOW' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:9: error: cannot find 'tcsetattr' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |         `- error: cannot find 'tcsetattr' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:19: error: cannot find 'STDIN_FILENO' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:33: error: cannot find 'TCSANOW' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                 `- error: cannot find 'TCSANOW' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:21: error: cannot find 'read' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                     `- error: cannot find 'read' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:26: error: cannot find 'STDIN_FILENO' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                          `- error: cannot find 'STDIN_FILENO' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:31:48: error: cannot find 'STDOUT_FILENO' in scope
 29 | enum TerminalOutput {
 30 |     /// Where renderer output goes. Only ``SessionPrintCapture`` mutates this.
 31 |     nonisolated(unsafe) static var fd: Int32 = STDOUT_FILENO
    |                                                `- error: cannot find 'STDOUT_FILENO' in scope
 32 |
 33 |     /// Writes `string` to the terminal, looping over partial writes.
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:98:15: error: cannot find 'pipe' in scope
 96 |         let saved = _dup(STDOUT_FILENO)
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
    |               `- error: cannot find 'pipe' in scope
 99 |         let saved = dup(STDOUT_FILENO)
100 |         #endif
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:21: error: cannot find 'dup' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                     `- error: cannot find 'dup' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:25: error: cannot find 'STDOUT_FILENO' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                         `- error: cannot find 'STDOUT_FILENO' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:13: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |             `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:28: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |                            `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:15: error: cannot find 'dup2' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |               `- error: cannot find 'dup2' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:28: error: cannot find 'STDOUT_FILENO' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |                            `- error: cannot find 'STDOUT_FILENO' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:13: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |             `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:28: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                            `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:43: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                                           `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:121:9: error: cannot find 'close' in scope
119 |             return false
120 |         }
121 |         close(fds[1])
    |         `- error: cannot find 'close' in scope
122 |         #endif
123 |         // stdout now feeds a pipe (not a TTY), which would switch stdio to
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:144:29: error: cannot find 'read' in scope
142 |                 let count = Int(_read(readFD, &buffer, UInt32(buffer.count)))
143 |                 #else
144 |                 let count = read(readFD, &buffer, buffer.count)
    |                             `- error: cannot find 'read' in scope
145 |                 #endif
146 |                 if count <= 0 { break }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:126:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
124 |         // full buffering — force line buffering so prints arrive promptly.
125 |         #if !os(Windows)
126 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
127 |         #endif
128 |
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:9: error: cannot find 'dup2' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |         `- error: cannot find 'dup2' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:21: error: cannot find 'STDOUT_FILENO' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |                     `- error: cannot find 'STDOUT_FILENO' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:190:29: error: cannot find 'STDOUT_FILENO' in scope
188 |         setvbuf(stdout, nil, _IOLBF, 0)
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
    |                             `- error: cannot find 'STDOUT_FILENO' in scope
191 |         #if os(Windows)
192 |         _close(saved)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:196:9: error: cannot find 'close' in scope
194 |         _close(readFD)
195 |         #else
196 |         close(saved)
    |         `- error: cannot find 'close' in scope
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:198:9: error: cannot find 'close' in scope
196 |         close(saved)
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
    |         `- error: cannot find 'close' in scope
199 |         #endif
200 |     }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:188:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
186 |         #endif
187 |         #if !os(Windows)
188 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
[77/168] Compiling SwiftLI SessionPrintCapture.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:72:52: error: cannot find 'termios' in scope
 70 | /// fatal-signal handlers.
 71 | private enum TerminalRestoreGuard {
 72 |     nonisolated(unsafe) private static var saved = termios()
    |                                                    `- error: cannot find 'termios' in scope
 73 |     nonisolated(unsafe) private static var hasSaved = false
 74 |     nonisolated(unsafe) private static var installed = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:81:31: error: cannot find type 'termios' in scope
 79 |
 80 |     /// Records the pre-raw settings and installs the exit hooks (once).
 81 |     static func arm(original: termios, mouseEnabled: Bool) {
    |                               `- error: cannot find type 'termios' in scope
 82 |         saved = original
 83 |         hasSaved = true
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:155:35: error: cannot find 'termios' in scope
153 |     private var originalConsoleMode: DWORD = 0
154 |     #else
155 |     private var originalTermios = termios()
    |                                   `- error: cannot find 'termios' in scope
156 |     #endif
157 |     private var isActive = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:95:27: error: cannot find 'SIG_DFL' in scope
 93 |             signal(sig) { s in
 94 |                 TerminalRestoreGuard.restore()
 95 |                 signal(s, SIG_DFL)
    |                           `- error: cannot find 'SIG_DFL' in scope
 96 |                 raise(s)
 97 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:21: error: cannot find 'write' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                     `- error: cannot find 'write' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:27: error: cannot find 'STDOUT_FILENO' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                           `- error: cannot find 'STDOUT_FILENO' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:9: error: cannot find 'tcsetattr' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |         `- error: cannot find 'tcsetattr' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:19: error: cannot find 'STDIN_FILENO' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:33: error: cannot find 'TCSANOW' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                                 `- error: cannot find 'TCSANOW' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:15: error: cannot find 'isatty' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |               `- error: cannot find 'isatty' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:22: error: cannot find 'STDIN_FILENO' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |                      `- error: cannot find 'STDIN_FILENO' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:9: error: cannot find 'tcgetattr' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |         `- error: cannot find 'tcgetattr' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:19: error: cannot find 'STDIN_FILENO' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:211:9: error: cannot find 'cfmakeraw' in scope
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
    |         `- error: cannot find 'cfmakeraw' in scope
212 |
213 |         // Use a *timed* blocking read (VMIN=0, VTIME=1 → up to ~0.1s) so the loop
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:220:75: error: cannot find type 'cc_t' in scope
218 |         // (e.g. a full-viewport scroll diff) with a short write when the tty
219 |         // buffer is momentarily full. A timed read avoids touching those flags.
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
    |                                                                           `- error: cannot find type 'cc_t' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:222:41: error: cannot find 'cc_t' in scope
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
    |                                         `- error: cannot find 'cc_t' in scope
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:223:24: error: cannot find 'VMIN' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
    |                        `- error: cannot find 'VMIN' in scope
224 |                 cc[Int(VTIME)] = 1
225 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:224:24: error: cannot find 'VTIME' in scope
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
    |                        `- error: cannot find 'VTIME' in scope
225 |             }
226 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:9: error: cannot find 'tcsetattr' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |         `- error: cannot find 'tcsetattr' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:19: error: cannot find 'STDIN_FILENO' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:33: error: cannot find 'TCSANOW' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                                 `- error: cannot find 'TCSANOW' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:9: error: cannot find 'tcsetattr' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |         `- error: cannot find 'tcsetattr' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:19: error: cannot find 'STDIN_FILENO' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:33: error: cannot find 'TCSANOW' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                 `- error: cannot find 'TCSANOW' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:21: error: cannot find 'read' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                     `- error: cannot find 'read' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:26: error: cannot find 'STDIN_FILENO' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                          `- error: cannot find 'STDIN_FILENO' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:31:48: error: cannot find 'STDOUT_FILENO' in scope
 29 | enum TerminalOutput {
 30 |     /// Where renderer output goes. Only ``SessionPrintCapture`` mutates this.
 31 |     nonisolated(unsafe) static var fd: Int32 = STDOUT_FILENO
    |                                                `- error: cannot find 'STDOUT_FILENO' in scope
 32 |
 33 |     /// Writes `string` to the terminal, looping over partial writes.
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:98:15: error: cannot find 'pipe' in scope
 96 |         let saved = _dup(STDOUT_FILENO)
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
    |               `- error: cannot find 'pipe' in scope
 99 |         let saved = dup(STDOUT_FILENO)
100 |         #endif
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:21: error: cannot find 'dup' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                     `- error: cannot find 'dup' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:25: error: cannot find 'STDOUT_FILENO' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                         `- error: cannot find 'STDOUT_FILENO' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:13: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |             `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:28: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |                            `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:15: error: cannot find 'dup2' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |               `- error: cannot find 'dup2' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:28: error: cannot find 'STDOUT_FILENO' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |                            `- error: cannot find 'STDOUT_FILENO' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:13: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |             `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:28: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                            `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:43: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                                           `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:121:9: error: cannot find 'close' in scope
119 |             return false
120 |         }
121 |         close(fds[1])
    |         `- error: cannot find 'close' in scope
122 |         #endif
123 |         // stdout now feeds a pipe (not a TTY), which would switch stdio to
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:144:29: error: cannot find 'read' in scope
142 |                 let count = Int(_read(readFD, &buffer, UInt32(buffer.count)))
143 |                 #else
144 |                 let count = read(readFD, &buffer, buffer.count)
    |                             `- error: cannot find 'read' in scope
145 |                 #endif
146 |                 if count <= 0 { break }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:126:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
124 |         // full buffering — force line buffering so prints arrive promptly.
125 |         #if !os(Windows)
126 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
127 |         #endif
128 |
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:9: error: cannot find 'dup2' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |         `- error: cannot find 'dup2' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:21: error: cannot find 'STDOUT_FILENO' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |                     `- error: cannot find 'STDOUT_FILENO' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:190:29: error: cannot find 'STDOUT_FILENO' in scope
188 |         setvbuf(stdout, nil, _IOLBF, 0)
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
    |                             `- error: cannot find 'STDOUT_FILENO' in scope
191 |         #if os(Windows)
192 |         _close(saved)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:196:9: error: cannot find 'close' in scope
194 |         _close(readFD)
195 |         #else
196 |         close(saved)
    |         `- error: cannot find 'close' in scope
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:198:9: error: cannot find 'close' in scope
196 |         close(saved)
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
    |         `- error: cannot find 'close' in scope
199 |         #endif
200 |     }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:188:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
186 |         #endif
187 |         #if !os(Windows)
188 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
[78/168] Compiling SwiftLI State.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:72:52: error: cannot find 'termios' in scope
 70 | /// fatal-signal handlers.
 71 | private enum TerminalRestoreGuard {
 72 |     nonisolated(unsafe) private static var saved = termios()
    |                                                    `- error: cannot find 'termios' in scope
 73 |     nonisolated(unsafe) private static var hasSaved = false
 74 |     nonisolated(unsafe) private static var installed = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:81:31: error: cannot find type 'termios' in scope
 79 |
 80 |     /// Records the pre-raw settings and installs the exit hooks (once).
 81 |     static func arm(original: termios, mouseEnabled: Bool) {
    |                               `- error: cannot find type 'termios' in scope
 82 |         saved = original
 83 |         hasSaved = true
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:155:35: error: cannot find 'termios' in scope
153 |     private var originalConsoleMode: DWORD = 0
154 |     #else
155 |     private var originalTermios = termios()
    |                                   `- error: cannot find 'termios' in scope
156 |     #endif
157 |     private var isActive = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:95:27: error: cannot find 'SIG_DFL' in scope
 93 |             signal(sig) { s in
 94 |                 TerminalRestoreGuard.restore()
 95 |                 signal(s, SIG_DFL)
    |                           `- error: cannot find 'SIG_DFL' in scope
 96 |                 raise(s)
 97 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:21: error: cannot find 'write' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                     `- error: cannot find 'write' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:27: error: cannot find 'STDOUT_FILENO' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                           `- error: cannot find 'STDOUT_FILENO' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:9: error: cannot find 'tcsetattr' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |         `- error: cannot find 'tcsetattr' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:19: error: cannot find 'STDIN_FILENO' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:33: error: cannot find 'TCSANOW' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                                 `- error: cannot find 'TCSANOW' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:15: error: cannot find 'isatty' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |               `- error: cannot find 'isatty' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:22: error: cannot find 'STDIN_FILENO' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |                      `- error: cannot find 'STDIN_FILENO' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:9: error: cannot find 'tcgetattr' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |         `- error: cannot find 'tcgetattr' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:19: error: cannot find 'STDIN_FILENO' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:211:9: error: cannot find 'cfmakeraw' in scope
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
    |         `- error: cannot find 'cfmakeraw' in scope
212 |
213 |         // Use a *timed* blocking read (VMIN=0, VTIME=1 → up to ~0.1s) so the loop
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:220:75: error: cannot find type 'cc_t' in scope
218 |         // (e.g. a full-viewport scroll diff) with a short write when the tty
219 |         // buffer is momentarily full. A timed read avoids touching those flags.
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
    |                                                                           `- error: cannot find type 'cc_t' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:222:41: error: cannot find 'cc_t' in scope
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
    |                                         `- error: cannot find 'cc_t' in scope
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:223:24: error: cannot find 'VMIN' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
    |                        `- error: cannot find 'VMIN' in scope
224 |                 cc[Int(VTIME)] = 1
225 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:224:24: error: cannot find 'VTIME' in scope
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
    |                        `- error: cannot find 'VTIME' in scope
225 |             }
226 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:9: error: cannot find 'tcsetattr' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |         `- error: cannot find 'tcsetattr' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:19: error: cannot find 'STDIN_FILENO' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:33: error: cannot find 'TCSANOW' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                                 `- error: cannot find 'TCSANOW' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:9: error: cannot find 'tcsetattr' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |         `- error: cannot find 'tcsetattr' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:19: error: cannot find 'STDIN_FILENO' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:33: error: cannot find 'TCSANOW' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                 `- error: cannot find 'TCSANOW' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:21: error: cannot find 'read' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                     `- error: cannot find 'read' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:26: error: cannot find 'STDIN_FILENO' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                          `- error: cannot find 'STDIN_FILENO' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:31:48: error: cannot find 'STDOUT_FILENO' in scope
 29 | enum TerminalOutput {
 30 |     /// Where renderer output goes. Only ``SessionPrintCapture`` mutates this.
 31 |     nonisolated(unsafe) static var fd: Int32 = STDOUT_FILENO
    |                                                `- error: cannot find 'STDOUT_FILENO' in scope
 32 |
 33 |     /// Writes `string` to the terminal, looping over partial writes.
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:98:15: error: cannot find 'pipe' in scope
 96 |         let saved = _dup(STDOUT_FILENO)
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
    |               `- error: cannot find 'pipe' in scope
 99 |         let saved = dup(STDOUT_FILENO)
100 |         #endif
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:21: error: cannot find 'dup' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                     `- error: cannot find 'dup' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:25: error: cannot find 'STDOUT_FILENO' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                         `- error: cannot find 'STDOUT_FILENO' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:13: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |             `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:28: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |                            `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:15: error: cannot find 'dup2' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |               `- error: cannot find 'dup2' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:28: error: cannot find 'STDOUT_FILENO' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |                            `- error: cannot find 'STDOUT_FILENO' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:13: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |             `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:28: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                            `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:43: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                                           `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:121:9: error: cannot find 'close' in scope
119 |             return false
120 |         }
121 |         close(fds[1])
    |         `- error: cannot find 'close' in scope
122 |         #endif
123 |         // stdout now feeds a pipe (not a TTY), which would switch stdio to
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:144:29: error: cannot find 'read' in scope
142 |                 let count = Int(_read(readFD, &buffer, UInt32(buffer.count)))
143 |                 #else
144 |                 let count = read(readFD, &buffer, buffer.count)
    |                             `- error: cannot find 'read' in scope
145 |                 #endif
146 |                 if count <= 0 { break }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:126:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
124 |         // full buffering — force line buffering so prints arrive promptly.
125 |         #if !os(Windows)
126 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
127 |         #endif
128 |
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:9: error: cannot find 'dup2' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |         `- error: cannot find 'dup2' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:21: error: cannot find 'STDOUT_FILENO' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |                     `- error: cannot find 'STDOUT_FILENO' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:190:29: error: cannot find 'STDOUT_FILENO' in scope
188 |         setvbuf(stdout, nil, _IOLBF, 0)
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
    |                             `- error: cannot find 'STDOUT_FILENO' in scope
191 |         #if os(Windows)
192 |         _close(saved)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:196:9: error: cannot find 'close' in scope
194 |         _close(readFD)
195 |         #else
196 |         close(saved)
    |         `- error: cannot find 'close' in scope
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:198:9: error: cannot find 'close' in scope
196 |         close(saved)
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
    |         `- error: cannot find 'close' in scope
199 |         #endif
200 |     }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:188:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
186 |         #endif
187 |         #if !os(Windows)
188 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
[79/168] Compiling SwiftLI TerminalRenderer.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:72:52: error: cannot find 'termios' in scope
 70 | /// fatal-signal handlers.
 71 | private enum TerminalRestoreGuard {
 72 |     nonisolated(unsafe) private static var saved = termios()
    |                                                    `- error: cannot find 'termios' in scope
 73 |     nonisolated(unsafe) private static var hasSaved = false
 74 |     nonisolated(unsafe) private static var installed = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:81:31: error: cannot find type 'termios' in scope
 79 |
 80 |     /// Records the pre-raw settings and installs the exit hooks (once).
 81 |     static func arm(original: termios, mouseEnabled: Bool) {
    |                               `- error: cannot find type 'termios' in scope
 82 |         saved = original
 83 |         hasSaved = true
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:155:35: error: cannot find 'termios' in scope
153 |     private var originalConsoleMode: DWORD = 0
154 |     #else
155 |     private var originalTermios = termios()
    |                                   `- error: cannot find 'termios' in scope
156 |     #endif
157 |     private var isActive = false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:95:27: error: cannot find 'SIG_DFL' in scope
 93 |             signal(sig) { s in
 94 |                 TerminalRestoreGuard.restore()
 95 |                 signal(s, SIG_DFL)
    |                           `- error: cannot find 'SIG_DFL' in scope
 96 |                 raise(s)
 97 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:21: error: cannot find 'write' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                     `- error: cannot find 'write' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:117:27: error: cannot find 'STDOUT_FILENO' in scope
115 |             // restore, using raw write(2) so this stays signal-safe.
116 |             disableMouseBytes.withUnsafeBufferPointer { buffer in
117 |                 _ = write(STDOUT_FILENO, buffer.baseAddress, buffer.count)
    |                           `- error: cannot find 'STDOUT_FILENO' in scope
118 |             }
119 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:9: error: cannot find 'tcsetattr' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |         `- error: cannot find 'tcsetattr' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:19: error: cannot find 'STDIN_FILENO' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:120:33: error: cannot find 'TCSANOW' in scope
118 |             }
119 |         }
120 |         tcsetattr(STDIN_FILENO, TCSANOW, &saved)
    |                                 `- error: cannot find 'TCSANOW' in scope
121 |     }
122 | }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:15: error: cannot find 'isatty' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |               `- error: cannot find 'isatty' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:205:22: error: cannot find 'STDIN_FILENO' in scope
203 |         TerminalRestoreGuard.arm(original: mode, mouseEnabled: enableMouse)
204 |         #else
205 |         guard isatty(STDIN_FILENO) == 1 else { return }
    |                      `- error: cannot find 'STDIN_FILENO' in scope
206 |
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:9: error: cannot find 'tcgetattr' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |         `- error: cannot find 'tcgetattr' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:209:19: error: cannot find 'STDIN_FILENO' in scope
207 |         // Save and switch to raw mode (no echo, no canonical line editing,
208 |         // no signal generation — Ctrl-C arrives as a byte we handle ourselves).
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:211:9: error: cannot find 'cfmakeraw' in scope
209 |         tcgetattr(STDIN_FILENO, &originalTermios)
210 |         var raw = originalTermios
211 |         cfmakeraw(&raw)
    |         `- error: cannot find 'cfmakeraw' in scope
212 |
213 |         // Use a *timed* blocking read (VMIN=0, VTIME=1 → up to ~0.1s) so the loop
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:220:75: error: cannot find type 'cc_t' in scope
218 |         // (e.g. a full-viewport scroll diff) with a short write when the tty
219 |         // buffer is momentarily full. A timed read avoids touching those flags.
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
    |                                                                           `- error: cannot find type 'cc_t' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:222:41: error: cannot find 'cc_t' in scope
220 |         let ccCount = MemoryLayout.size(ofValue: raw.c_cc) / MemoryLayout<cc_t>.stride
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
    |                                         `- error: cannot find 'cc_t' in scope
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:223:24: error: cannot find 'VMIN' in scope
221 |         withUnsafeMutablePointer(to: &raw.c_cc) { tuple in
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
    |                        `- error: cannot find 'VMIN' in scope
224 |                 cc[Int(VTIME)] = 1
225 |             }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:224:24: error: cannot find 'VTIME' in scope
222 |             tuple.withMemoryRebound(to: cc_t.self, capacity: ccCount) { cc in
223 |                 cc[Int(VMIN)] = 0
224 |                 cc[Int(VTIME)] = 1
    |                        `- error: cannot find 'VTIME' in scope
225 |             }
226 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:9: error: cannot find 'tcsetattr' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |         `- error: cannot find 'tcsetattr' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:19: error: cannot find 'STDIN_FILENO' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:227:33: error: cannot find 'TCSANOW' in scope
225 |             }
226 |         }
227 |         tcsetattr(STDIN_FILENO, TCSANOW, &raw)
    |                                 `- error: cannot find 'TCSANOW' in scope
228 |         if enableMouse {
229 |             TerminalOutput.write(MouseReporting.enableSequence)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:9: error: cannot find 'tcsetattr' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |         `- error: cannot find 'tcsetattr' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:19: error: cannot find 'STDIN_FILENO' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:254:33: error: cannot find 'TCSANOW' in scope
252 |         SetConsoleMode(GetStdHandle(STD_INPUT_HANDLE), originalConsoleMode)
253 |         #else
254 |         tcsetattr(STDIN_FILENO, TCSANOW, &originalTermios)
    |                                 `- error: cannot find 'TCSANOW' in scope
255 |         #endif
256 |         TerminalRestoreGuard.disarm()
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:21: error: cannot find 'read' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                     `- error: cannot find 'read' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/KeyboardReader.swift:273:26: error: cannot find 'STDIN_FILENO' in scope
271 |             let n = Int(_read(0, &buf, UInt32(bufSize)))
272 |             #else
273 |             let n = read(STDIN_FILENO, &buf, bufSize)
    |                          `- error: cannot find 'STDIN_FILENO' in scope
274 |             #endif
275 |             if n > 0 {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:31:48: error: cannot find 'STDOUT_FILENO' in scope
 29 | enum TerminalOutput {
 30 |     /// Where renderer output goes. Only ``SessionPrintCapture`` mutates this.
 31 |     nonisolated(unsafe) static var fd: Int32 = STDOUT_FILENO
    |                                                `- error: cannot find 'STDOUT_FILENO' in scope
 32 |
 33 |     /// Writes `string` to the terminal, looping over partial writes.
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:98:15: error: cannot find 'pipe' in scope
 96 |         let saved = _dup(STDOUT_FILENO)
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
    |               `- error: cannot find 'pipe' in scope
 99 |         let saved = dup(STDOUT_FILENO)
100 |         #endif
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:21: error: cannot find 'dup' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                     `- error: cannot find 'dup' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:99:25: error: cannot find 'STDOUT_FILENO' in scope
 97 |         #else
 98 |         guard pipe(&fds) == 0 else { return false }
 99 |         let saved = dup(STDOUT_FILENO)
    |                         `- error: cannot find 'STDOUT_FILENO' in scope
100 |         #endif
101 |         guard saved >= 0 else {
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:13: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |             `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:105:28: error: cannot find 'close' in scope
103 |             _close(fds[0]); _close(fds[1])
104 |             #else
105 |             close(fds[0]); close(fds[1])
    |                            `- error: cannot find 'close' in scope
106 |             #endif
107 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:15: error: cannot find 'dup2' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |               `- error: cannot find 'dup2' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:117:28: error: cannot find 'STDOUT_FILENO' in scope
115 |         _close(fds[1])
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
    |                            `- error: cannot find 'STDOUT_FILENO' in scope
118 |             close(fds[0]); close(fds[1]); close(saved)
119 |             return false
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:13: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |             `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:28: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                            `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:118:43: error: cannot find 'close' in scope
116 |         #else
117 |         guard dup2(fds[1], STDOUT_FILENO) >= 0 else {
118 |             close(fds[0]); close(fds[1]); close(saved)
    |                                           `- error: cannot find 'close' in scope
119 |             return false
120 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:121:9: error: cannot find 'close' in scope
119 |             return false
120 |         }
121 |         close(fds[1])
    |         `- error: cannot find 'close' in scope
122 |         #endif
123 |         // stdout now feeds a pipe (not a TTY), which would switch stdio to
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:144:29: error: cannot find 'read' in scope
142 |                 let count = Int(_read(readFD, &buffer, UInt32(buffer.count)))
143 |                 #else
144 |                 let count = read(readFD, &buffer, buffer.count)
    |                             `- error: cannot find 'read' in scope
145 |                 #endif
146 |                 if count <= 0 { break }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:126:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
124 |         // full buffering — force line buffering so prints arrive promptly.
125 |         #if !os(Windows)
126 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
127 |         #endif
128 |
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:9: error: cannot find 'dup2' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |         `- error: cannot find 'dup2' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:185:21: error: cannot find 'STDOUT_FILENO' in scope
183 |         _dup2(saved, STDOUT_FILENO)     // the pipe loses its last writer → EOF
184 |         #else
185 |         dup2(saved, STDOUT_FILENO)
    |                     `- error: cannot find 'STDOUT_FILENO' in scope
186 |         #endif
187 |         #if !os(Windows)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:190:29: error: cannot find 'STDOUT_FILENO' in scope
188 |         setvbuf(stdout, nil, _IOLBF, 0)
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
    |                             `- error: cannot find 'STDOUT_FILENO' in scope
191 |         #if os(Windows)
192 |         _close(saved)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:196:9: error: cannot find 'close' in scope
194 |         _close(readFD)
195 |         #else
196 |         close(saved)
    |         `- error: cannot find 'close' in scope
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:198:9: error: cannot find 'close' in scope
196 |         close(saved)
197 |         done?.wait()                    // the drain thread has delivered everything
198 |         close(readFD)
    |         `- error: cannot find 'close' in scope
199 |         #endif
200 |     }
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/SessionPrintCapture.swift:188:17: error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
186 |         #endif
187 |         #if !os(Windows)
188 |         setvbuf(stdout, nil, _IOLBF, 0)
    |                 `- error: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state
189 |         #endif
190 |         TerminalOutput.fd = STDOUT_FILENO
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.artifactbundle/swift-android/ndk-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
[80/168] Compiling SwiftLI TextEditCommand.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[81/168] Compiling SwiftLI TextInputKeymap.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[82/168] Compiling SwiftLI WindowsResizePoller.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[83/168] Compiling SwiftLI Frame.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[84/168] Compiling SwiftLI Geometry.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[85/168] Compiling SwiftLI NodeLayout.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[86/168] Compiling SwiftLI RenderNode.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[87/168] Compiling SwiftLI TerminalCanvas.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[88/168] Compiling SwiftLI TerminalSize.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[89/168] Compiling SwiftLI TextStyle.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[90/168] Compiling SwiftLI Scene.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[91/168] Compiling SwiftLI Alignment.swift
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:20: error: cannot find 'STDOUT_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                    `- error: cannot find 'STDOUT_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:35: error: cannot find 'STDERR_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                   `- error: cannot find 'STDERR_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:71:50: error: cannot find 'STDIN_FILENO' in scope
 69 |         if let size = consoleSize() { return size }
 70 |         #else
 71 |         for fd in [STDOUT_FILENO, STDERR_FILENO, STDIN_FILENO] {
    |                                                  `- error: cannot find 'STDIN_FILENO' in scope
 72 |             if let size = ioctlSize(fd) { return size }
 73 |         }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:98:18: error: cannot find 'winsize' in scope
 96 |     /// Returns `nil` when `fd` is not a terminal or reports a zero width.
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
    |                  `- error: cannot find 'winsize' in scope
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
100 |         guard ws.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:15: error: cannot find 'ioctl' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |               `- error: cannot find 'ioctl' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
/host/spi-builder-workspace/Sources/SwiftLI/Rendering/TerminalSize.swift:99:30: error: cannot find 'TIOCGWINSZ' in scope
 97 |     private static func ioctlSize(_ fd: Int32) -> TerminalSize? {
 98 |         var ws = winsize()
 99 |         guard ioctl(fd, UInt(TIOCGWINSZ), &ws) == 0 else { return nil }
    |                              `- error: cannot find 'TIOCGWINSZ' in scope
100 |         guard ws.ws_col > 0 else { return nil }
101 |         return TerminalSize(columns: Int(ws.ws_col), rows: Int(ws.ws_row))
[92/168] Compiling SwiftLI Sheet.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[93/168] Compiling SwiftLI AppRuntime.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[94/168] Compiling SwiftLI Bindable.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[95/168] Compiling SwiftLI Binding.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[96/168] Compiling SwiftLI CLIApp.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[97/168] Compiling SwiftLI CLITimer.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[98/168] Compiling SwiftLI Command.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[99/168] Compiling SwiftLI CommandState.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[100/168] Compiling SwiftLI FocusCoordinator.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[101/168] Compiling SwiftLI FocusState.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[102/168] Compiling SwiftLI FocusedValue.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[103/168] Compiling SwiftLI InlineRenderer.swift
/host/spi-builder-workspace/Sources/SwiftLI/Reactive/Command.swift:153:26: error: cannot find 'SIG_DFL' in scope
151 |         BodyRenderingStore.shared.resizePoller = nil
152 |         #else
153 |         signal(SIGWINCH, SIG_DFL)
    |                          `- error: cannot find 'SIG_DFL' in scope
154 |         #endif
155 |         KeyInputRouter.shared.stop()
[104/168] Compiling SwiftLI BlinkStyle.swift
[105/168] Compiling SwiftLI BorderStyle.swift
[106/168] Compiling SwiftLI Color.swift
[107/168] Compiling SwiftLI ColorScheme.swift
[108/168] Compiling SwiftLI Edge.swift
[109/168] Compiling SwiftLI EdgeInsets.swift
[110/168] Compiling SwiftLI LineStyle.swift
[111/168] Compiling SwiftLI LocalizedStringKey.swift
[112/168] Compiling SwiftLI Weight.swift
[113/168] Compiling SwiftLI View.swift
[114/168] Compiling SwiftLI ViewBuilder.swift
[115/168] Compiling SwiftLI ViewModifier.swift
[116/168] Compiling SwiftLI AnyView.swift
[117/168] Compiling SwiftLI Button.swift
[118/168] Compiling SwiftLI ContentUnavailableView.swift
[119/168] Compiling SwiftLI Divider.swift
[120/168] Compiling SwiftLI EmptyView.swift
[121/168] Compiling SwiftLI ForEach.swift
[122/168] Compiling SwiftLI Form.swift
[123/168] Compiling SwiftLI Gauge.swift
[124/168] Compiling SwiftLI Grid.swift
[125/168] Compiling SwiftLI Group.swift
[126/168] Compiling SwiftLI GroupBox.swift
[127/168] Compiling SwiftLI HStack.swift
[128/168] Compiling SwiftLI Label.swift
[129/168] Compiling SwiftLI LabelStyle.swift
[130/168] Compiling SwiftLI Link.swift
[131/168] Compiling SwiftLI List.swift
[132/168] Compiling SwiftLI Menu.swift
[133/168] Compiling SwiftLI Navigation.swift
[134/168] Compiling SwiftLI NavigationLink.swift
[135/168] Compiling SwiftLI NavigationSplitView.swift
[136/168] Compiling SwiftLI NavigationStack.swift
[137/168] Compiling SwiftLI Picker.swift
[138/168] Compiling SwiftLI ProgressView.swift
[139/168] Compiling SwiftLI ScrollView.swift
[140/168] Compiling SwiftLI Section.swift
[141/168] Compiling SwiftLI VStack.swift
[142/168] Compiling SwiftLI ViewThatFits.swift
[143/168] Compiling SwiftLI Emoticon.swift
[144/168] Compiling SwiftLI SwiftLogo.swift
[145/168] Compiling SwiftLI Commands.swift
[146/168] Compiling SwiftLI Environment.swift
[147/168] Compiling SwiftLI Border.swift
[148/168] Compiling SwiftLI FrameModifier.swift
[149/168] Compiling SwiftLI Inspector.swift
[150/168] Compiling SwiftLI LineLimit.swift
[151/168] Compiling SwiftLI Padding.swift
[152/168] Compiling SwiftLI Shadow.swift
[153/168] Compiling SwiftLI Slider.swift
[154/168] Compiling SwiftLI Spacer.swift
[155/168] Compiling SwiftLI Stepper.swift
[156/168] Compiling SwiftLI StyleEnvironment.swift
[157/168] Compiling SwiftLI Table.swift
[158/168] Compiling SwiftLI TextEditor.swift
[159/168] Compiling SwiftLI TextField.swift
[160/168] Compiling SwiftLI TimelineSchedule.swift
[161/168] Compiling SwiftLI TimelineView.swift
[162/168] Compiling SwiftLI Toggle.swift
[163/168] Compiling SwiftLI Toolbar.swift
[164/168] Compiling SwiftLI TupleView.swift
BUILD FAILURE 6.3 android