Build Information
Failed to build SwiftLI, reference main (760d49), with Swift 6.2 for Android on 26 Aug 2026 07:31:50 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
| `- 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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |
[84/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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |
[85/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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |
[86/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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |
[87/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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |
[88/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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |
[89/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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |
[90/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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |
[91/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.2-RELEASE-android-0.1.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.2-RELEASE-android-0.1.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 |
[92/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))
[93/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))
[94/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))
[95/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))
[96/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))
[97/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))
[98/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))
[99/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))
[100/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))
[101/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))
[102/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))
[103/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))
[104/168] Compiling SwiftLI AnyView.swift
[105/168] Compiling SwiftLI Button.swift
[106/168] Compiling SwiftLI ContentUnavailableView.swift
[107/168] Compiling SwiftLI Divider.swift
[108/168] Compiling SwiftLI EmptyView.swift
[109/168] Compiling SwiftLI ForEach.swift
[110/168] Compiling SwiftLI Form.swift
[111/168] Compiling SwiftLI Gauge.swift
[112/168] Compiling SwiftLI Grid.swift
[113/168] Compiling SwiftLI Group.swift
[114/168] Compiling SwiftLI GroupBox.swift
[115/168] Compiling SwiftLI HStack.swift
[116/168] Compiling SwiftLI Label.swift
[117/168] Compiling SwiftLI BlinkStyle.swift
[118/168] Compiling SwiftLI BorderStyle.swift
[119/168] Compiling SwiftLI Color.swift
[120/168] Compiling SwiftLI ColorScheme.swift
[121/168] Compiling SwiftLI Edge.swift
[122/168] Compiling SwiftLI EdgeInsets.swift
[123/168] Compiling SwiftLI LineStyle.swift
[124/168] Compiling SwiftLI LocalizedStringKey.swift
[125/168] Compiling SwiftLI Weight.swift
[126/168] Compiling SwiftLI View.swift
[127/168] Compiling SwiftLI ViewBuilder.swift
[128/168] Compiling SwiftLI ViewModifier.swift
[129/168] Compiling SwiftLI VStack.swift
[130/168] Compiling SwiftLI ViewThatFits.swift
[131/168] Compiling SwiftLI Emoticon.swift
[132/168] Compiling SwiftLI SwiftLogo.swift
[133/168] Compiling SwiftLI Commands.swift
[134/168] Compiling SwiftLI Environment.swift
[135/168] Compiling SwiftLI Border.swift
[136/168] Compiling SwiftLI FrameModifier.swift
[137/168] Compiling SwiftLI Inspector.swift
[138/168] Compiling SwiftLI LineLimit.swift
[139/168] Compiling SwiftLI Padding.swift
[140/168] Compiling SwiftLI Shadow.swift
[141/168] Compiling SwiftLI LabelStyle.swift
[142/168] Compiling SwiftLI Link.swift
[143/168] Compiling SwiftLI List.swift
[144/168] Compiling SwiftLI Menu.swift
[145/168] Compiling SwiftLI Navigation.swift
[146/168] Compiling SwiftLI NavigationLink.swift
[147/168] Compiling SwiftLI NavigationSplitView.swift
[148/168] Compiling SwiftLI NavigationStack.swift
[149/168] Compiling SwiftLI Picker.swift
[150/168] Compiling SwiftLI ProgressView.swift
[151/168] Compiling SwiftLI ScrollView.swift
[152/168] Compiling SwiftLI Section.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.2 android