Build Information
Failed to build TUIkit, reference main (d259fb), with Swift 6.3 for Android on 4 Oct 2026 09:41:43 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344843-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/wadetregaskis/TUIkit.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/wadetregaskis/TUIkit
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at d259fb3 The slow-frame tap test lets the press act with a yield, not a 5 ms sleep that can outlast the 40 ms delay
Cloned https://github.com/wadetregaskis/TUIkit.git
Revision (git rev-parse @):
d259fb30885ab8c53b8d7087a68fdb53c2ae707d
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/wadetregaskis/TUIkit.git at main
========================================
Build
========================================
Selected platform: android
Swift version: 6.3
Building package at path: $PWD
https://github.com/wadetregaskis/TUIkit.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:8ca9e1e6d70fd53f5b05e4f64d92569d697563f7f457a1485802bc9eb2cd1382
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.3-latest
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.56s)
[1/28538] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (1.30s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.1 (1.55s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (0.93s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3833] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.53s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.77s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.7.1
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/56] Copying VERSION
[2/56] Copying Resources
[2/56] Copying translations
[5/56] Write sources
[21/56] Compiling CTestSupport CTestSupport.c
[22/56] Write swift-version-272D24FF697CF451.txt
[23/168] Compiling CSTBImage stb_image_impl.c
[25/168] Emitting module InternalCollectionsUtilities
[26/171] Compiling TUIkitCore ChromeOverhang.swift
[27/171] Compiling TUIkitCore AnimatedRunAlpha.swift
[28/171] Compiling TUIkitCore AnimationInstant.swift
[29/171] Compiling TUIkitCore FieldsUnderOverlay.swift
[30/171] Compiling TUIkitCore HitTestRegion.swift
[31/171] Compiling TUIkitCore KeyEvent.swift
[32/171] Compiling TUIkitCore MouseEvent.swift
[33/171] Compiling TUIkitCore TerminalInput.swift
[34/171] Compiling TUIkitCore PreferenceKey.swift
[35/171] Compiling TUIkitCore VolatileReadTracker.swift
[36/171] Compiling TUIkitCore Character+CursorAdvance.swift
[37/171] Compiling TUIkitCore FrameBuffer+AnimatedRunSplice.swift
[38/171] Compiling TUIkitCore FrameBuffer+Punching.swift
[39/171] Compiling TUIkitCore FrameBuffer+RevealTarget.swift
[40/171] Compiling TUIkitCore FrameBuffer.swift
[41/171] Compiling InternalCollectionsUtilities UnsafeRawBufferPointer+Extras.swift
[42/171] Compiling InternalCollectionsUtilities _SortedCollection.swift
[43/171] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[44/171] Compiling TUIkitCore StackGuard.swift
[45/171] Compiling TUIkitCore DiagnosticChannel.swift
[46/171] Compiling TUIkitCore SoftTrap.swift
[47/171] Compiling TUIkitCore EnvironmentKey.swift
[48/171] Compiling TUIkitCore Animatable.swift
[49/171] Compiling TUIkitCore Animation.swift
[50/171] Compiling TUIkitCore AnimationCurve.swift
[51/171] Compiling TUIkitCore Transaction.swift
[52/171] Compiling TUIkitCore VectorArithmetic.swift
[53/171] Compiling TUIkitCore CPUClock.swift
[54/171] Compiling TUIkitCore Lock.swift
[55/171] Compiling TUIkitCore MonotonicClock.swift
[57/172] Emitting module TUIkitCore
[57/179] Wrapping AST for InternalCollectionsUtilities for debugging
[59/183] Compiling SpanPreview OutputSpan+InputSpanHelpers.swift
[60/183] Compiling SpanPreview MutableSpan+InputSpanHelpers.swift
[61/183] Compiling SpanPreview InputSpan.swift
[62/183] Emitting module SpanPreview
[67/188] Wrapping AST for SpanPreview for debugging
[69/230] Compiling DequeModule RigidDeque+Prepend.swift
[70/230] Compiling DequeModule RigidDeque+Removals.swift
[71/230] Compiling DequeModule RigidDeque+Replacements.swift
[72/230] Compiling DequeModule RigidDeque+Testing.swift
[73/230] Compiling DequeModule RigidDeque.swift
[74/230] Compiling DequeModule UniqueDeque+Append.swift
[75/235] Compiling DequeModule UniqueDeque+Initializers.swift
[76/235] Compiling DequeModule UniqueDeque+Insertions.swift
[77/235] Compiling DequeModule UniqueDeque+Iterable.swift
[78/235] Compiling DequeModule UniqueDeque+Prepend.swift
[79/235] Compiling DequeModule UniqueDeque+Removals.swift
[80/235] Compiling DequeModule UniqueDeque+Consumption.swift
[81/235] Compiling DequeModule UniqueDeque+ContainerOperations.swift
[82/235] Compiling DequeModule UniqueDeque+Deprecations.swift
[83/235] Compiling DequeModule UniqueDeque+Descriptions.swift
[84/235] Compiling DequeModule UniqueDeque+Equatable.swift
[85/235] Compiling DequeModule UniqueDeque+Hashable.swift
[86/235] Compiling DequeModule RigidDeque+Descriptions.swift
[87/235] Compiling DequeModule RigidDeque+Equatable.swift
[88/235] Compiling DequeModule RigidDeque+Hashable.swift
[89/235] Compiling DequeModule RigidDeque+Initializers.swift
[90/235] Compiling DequeModule RigidDeque+Insertions.swift
[91/235] Compiling DequeModule RigidDeque+Iterable.swift
[92/235] Emitting module TUIkitStyling
[93/235] Compiling DequeModule RigidDeque+ContainerOperations.swift
[94/235] Compiling DequeModule RigidDeque+Deprecations.swift
[100/235] Compiling DequeModule Deque+Codable.swift
[101/235] Compiling DequeModule Deque+Collection.swift
[102/235] Compiling DequeModule Deque+CustomReflectable.swift
[103/235] Compiling DequeModule Deque+Descriptions.swift
[104/235] Compiling DequeModule Deque+Equatable.swift
[105/235] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[106/235] Compiling DequeModule _DequeBuffer.swift
[107/235] Compiling DequeModule _DequeBufferHeader.swift
[108/235] Compiling DequeModule RigidDeque+Append.swift
[109/235] Compiling DequeModule RigidDeque+Consumption.swift
[112/235] Compiling DequeModule Deque+Extras.swift
[113/235] Compiling DequeModule Deque+Hashable.swift
[114/235] Compiling DequeModule Deque+Testing.swift
[115/235] Compiling DequeModule Deque._Storage.swift
[116/235] Compiling DequeModule Deque._UnsafeHandle.swift
[117/235] Compiling DequeModule Deque.swift
[118/235] Emitting module DequeModule
[143/235] Compiling TUIkitCore GradientFrame.swift
[144/235] Compiling TUIkitCore IdentityKey.swift
[145/235] Compiling TUIkitCore LayoutTypes.swift
[146/235] Compiling TUIkitCore OpacityRegion.swift
[147/235] Compiling TUIkitCore OverlayLayer.swift
[148/235] Compiling TUIkitCore TerminalSymbols.swift
[149/235] Compiling TUIkitCore ViewIdentity.swift
[154/235] Compiling DequeModule UniqueDeque+Replacements.swift
[155/235] Compiling DequeModule UniqueDeque.swift
[156/235] Compiling DequeModule _DequeSlot.swift
[157/235] Compiling DequeModule _UnsafeDequeHandle.swift
[158/235] Compiling DequeModule _UnsafeDequeSegments.swift
[159/235] Compiling TUIkitCore String+FieldLeftToPainter.swift
[160/235] Compiling TUIkitCore String+GroundStyle.swift
[161/235] Compiling TUIkitCore String+PaintedOverFields.swift
[162/235] Compiling TUIkitCore String+SGRCollapsing.swift
[163/235] Compiling TUIkitCore String+TerminalSanitizing.swift
[164/235] Compiling TUIkitCore String+TerminalWidth.swift
[202/238] Wrapping AST for TUIkitStyling for debugging
[203/238] Wrapping AST for TUIkitCore for debugging
error: emit-module command failed with exit code 1 (use -v to see invocation)
[205/321] Emitting module EmojiBugScanner
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:31:19: error: cannot find type 'termios' in scope
29 |
30 | struct RawMode {
31 | var original: termios
| `- error: cannot find type 'termios' in scope
32 |
33 | static func enable() -> RawMode {
[206/321] Compiling EmojiBugScanner main.swift
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:31:19: error: cannot find type 'termios' in scope
29 |
30 | struct RawMode {
31 | var original: termios
| `- error: cannot find type 'termios' in scope
32 |
33 | static func enable() -> RawMode {
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:34:24: error: cannot find 'termios' in scope
32 |
33 | static func enable() -> RawMode {
34 | var original = termios()
| `- error: cannot find 'termios' in scope
35 | tcgetattr(STDIN_FILENO, &original)
36 | var raw = original
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:35:9: error: cannot find 'tcgetattr' in scope
33 | static func enable() -> RawMode {
34 | var original = termios()
35 | tcgetattr(STDIN_FILENO, &original)
| `- error: cannot find 'tcgetattr' in scope
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:35:19: error: cannot find 'STDIN_FILENO' in scope
33 | static func enable() -> RawMode {
34 | var original = termios()
35 | tcgetattr(STDIN_FILENO, &original)
| `- error: cannot find 'STDIN_FILENO' in scope
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:37:35: error: cannot find 'ECHO' in scope
35 | tcgetattr(STDIN_FILENO, &original)
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
| `- error: cannot find 'ECHO' in scope
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
39 | let oflagOff: UInt = UInt(OPOST)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:37:42: error: cannot find 'ICANON' in scope
35 | tcgetattr(STDIN_FILENO, &original)
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
| `- error: cannot find 'ICANON' in scope
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
39 | let oflagOff: UInt = UInt(OPOST)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:37:51: error: cannot find 'ISIG' in scope
35 | tcgetattr(STDIN_FILENO, &original)
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
| `- error: cannot find 'ISIG' in scope
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
39 | let oflagOff: UInt = UInt(OPOST)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:37:58: error: cannot find 'IEXTEN' in scope
35 | tcgetattr(STDIN_FILENO, &original)
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
| `- error: cannot find 'IEXTEN' in scope
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
39 | let oflagOff: UInt = UInt(OPOST)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:38:35: error: cannot find 'IXON' in scope
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
| `- error: cannot find 'IXON' in scope
39 | let oflagOff: UInt = UInt(OPOST)
40 | raw.c_lflag &= ~tcflag_t(lflagOff)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:38:42: error: cannot find 'ICRNL' in scope
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
| `- error: cannot find 'ICRNL' in scope
39 | let oflagOff: UInt = UInt(OPOST)
40 | raw.c_lflag &= ~tcflag_t(lflagOff)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:38:50: error: cannot find 'BRKINT' in scope
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
| `- error: cannot find 'BRKINT' in scope
39 | let oflagOff: UInt = UInt(OPOST)
40 | raw.c_lflag &= ~tcflag_t(lflagOff)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:38:59: error: cannot find 'INPCK' in scope
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
| `- error: cannot find 'INPCK' in scope
39 | let oflagOff: UInt = UInt(OPOST)
40 | raw.c_lflag &= ~tcflag_t(lflagOff)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:38:67: error: cannot find 'ISTRIP' in scope
36 | var raw = original
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
| `- error: cannot find 'ISTRIP' in scope
39 | let oflagOff: UInt = UInt(OPOST)
40 | raw.c_lflag &= ~tcflag_t(lflagOff)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:39:35: error: cannot find 'OPOST' in scope
37 | let lflagOff: UInt = UInt(ECHO | ICANON | ISIG | IEXTEN)
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
39 | let oflagOff: UInt = UInt(OPOST)
| `- error: cannot find 'OPOST' in scope
40 | raw.c_lflag &= ~tcflag_t(lflagOff)
41 | raw.c_iflag &= ~tcflag_t(iflagOff)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:40:25: error: cannot find 'tcflag_t' in scope
38 | let iflagOff: UInt = UInt(IXON | ICRNL | BRKINT | INPCK | ISTRIP)
39 | let oflagOff: UInt = UInt(OPOST)
40 | raw.c_lflag &= ~tcflag_t(lflagOff)
| `- error: cannot find 'tcflag_t' in scope
41 | raw.c_iflag &= ~tcflag_t(iflagOff)
42 | raw.c_oflag &= ~tcflag_t(oflagOff)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:41:25: error: cannot find 'tcflag_t' in scope
39 | let oflagOff: UInt = UInt(OPOST)
40 | raw.c_lflag &= ~tcflag_t(lflagOff)
41 | raw.c_iflag &= ~tcflag_t(iflagOff)
| `- error: cannot find 'tcflag_t' in scope
42 | raw.c_oflag &= ~tcflag_t(oflagOff)
43 | raw.c_cflag |= tcflag_t(CS8)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:42:25: error: cannot find 'tcflag_t' in scope
40 | raw.c_lflag &= ~tcflag_t(lflagOff)
41 | raw.c_iflag &= ~tcflag_t(iflagOff)
42 | raw.c_oflag &= ~tcflag_t(oflagOff)
| `- error: cannot find 'tcflag_t' in scope
43 | raw.c_cflag |= tcflag_t(CS8)
44 | withUnsafeMutablePointer(to: &raw.c_cc) { p in
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:43:24: error: cannot find 'tcflag_t' in scope
41 | raw.c_iflag &= ~tcflag_t(iflagOff)
42 | raw.c_oflag &= ~tcflag_t(oflagOff)
43 | raw.c_cflag |= tcflag_t(CS8)
| `- error: cannot find 'tcflag_t' in scope
44 | withUnsafeMutablePointer(to: &raw.c_cc) { p in
45 | p.withMemoryRebound(to: cc_t.self, capacity: Int(NCCS)) { cc in
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:43:33: error: cannot find 'CS8' in scope
41 | raw.c_iflag &= ~tcflag_t(iflagOff)
42 | raw.c_oflag &= ~tcflag_t(oflagOff)
43 | raw.c_cflag |= tcflag_t(CS8)
| `- error: cannot find 'CS8' in scope
44 | withUnsafeMutablePointer(to: &raw.c_cc) { p in
45 | p.withMemoryRebound(to: cc_t.self, capacity: Int(NCCS)) { cc in
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:45:37: error: cannot find 'cc_t' in scope
43 | raw.c_cflag |= tcflag_t(CS8)
44 | withUnsafeMutablePointer(to: &raw.c_cc) { p in
45 | p.withMemoryRebound(to: cc_t.self, capacity: Int(NCCS)) { cc in
| `- error: cannot find 'cc_t' in scope
46 | cc[Int(VMIN)] = 1 // block until at least 1 byte available
47 | cc[Int(VTIME)] = 1 // 100ms timeout between bytes once started
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:45:62: error: cannot find 'NCCS' in scope
43 | raw.c_cflag |= tcflag_t(CS8)
44 | withUnsafeMutablePointer(to: &raw.c_cc) { p in
45 | p.withMemoryRebound(to: cc_t.self, capacity: Int(NCCS)) { cc in
| `- error: cannot find 'NCCS' in scope
46 | cc[Int(VMIN)] = 1 // block until at least 1 byte available
47 | cc[Int(VTIME)] = 1 // 100ms timeout between bytes once started
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:46:24: error: cannot find 'VMIN' in scope
44 | withUnsafeMutablePointer(to: &raw.c_cc) { p in
45 | p.withMemoryRebound(to: cc_t.self, capacity: Int(NCCS)) { cc in
46 | cc[Int(VMIN)] = 1 // block until at least 1 byte available
| `- error: cannot find 'VMIN' in scope
47 | cc[Int(VTIME)] = 1 // 100ms timeout between bytes once started
48 | }
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:47:24: error: cannot find 'VTIME' in scope
45 | p.withMemoryRebound(to: cc_t.self, capacity: Int(NCCS)) { cc in
46 | cc[Int(VMIN)] = 1 // block until at least 1 byte available
47 | cc[Int(VTIME)] = 1 // 100ms timeout between bytes once started
| `- error: cannot find 'VTIME' in scope
48 | }
49 | }
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:50:9: error: cannot find 'tcsetattr' in scope
48 | }
49 | }
50 | tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw)
| `- error: cannot find 'tcsetattr' in scope
51 | return RawMode(original: original)
52 | }
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:50:19: error: cannot find 'STDIN_FILENO' in scope
48 | }
49 | }
50 | tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw)
| `- error: cannot find 'STDIN_FILENO' in scope
51 | return RawMode(original: original)
52 | }
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:50:33: error: cannot find 'TCSAFLUSH' in scope
48 | }
49 | }
50 | tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw)
| `- error: cannot find 'TCSAFLUSH' in scope
51 | return RawMode(original: original)
52 | }
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:56:9: error: cannot find 'tcsetattr' in scope
54 | func restore() {
55 | var orig = original
56 | tcsetattr(STDIN_FILENO, TCSAFLUSH, &orig)
| `- error: cannot find 'tcsetattr' in scope
57 | }
58 | }
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:56:19: error: cannot find 'STDIN_FILENO' in scope
54 | func restore() {
55 | var orig = original
56 | tcsetattr(STDIN_FILENO, TCSAFLUSH, &orig)
| `- error: cannot find 'STDIN_FILENO' in scope
57 | }
58 | }
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:56:33: error: cannot find 'TCSAFLUSH' in scope
54 | func restore() {
55 | var orig = original
56 | tcsetattr(STDIN_FILENO, TCSAFLUSH, &orig)
| `- error: cannot find 'TCSAFLUSH' in scope
57 | }
58 | }
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:63:33: error: cannot find 'write' in scope
61 |
62 | func writeBytes(_ bytes: [UInt8]) {
63 | _ = bytes.withUnsafeBytes { write(STDOUT_FILENO, $0.baseAddress, $0.count) }
| `- error: cannot find 'write' in scope
64 | }
65 |
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:63:39: error: cannot find 'STDOUT_FILENO' in scope
61 |
62 | func writeBytes(_ bytes: [UInt8]) {
63 | _ = bytes.withUnsafeBytes { write(STDOUT_FILENO, $0.baseAddress, $0.count) }
| `- error: cannot find 'STDOUT_FILENO' in scope
64 | }
65 |
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:77:17: error: cannot find 'read' in scope
75 | while buf.count < maxBytes {
76 | var b: UInt8 = 0
77 | let n = read(STDIN_FILENO, &b, 1)
| `- error: cannot find 'read' in scope
78 | if n <= 0 { return nil }
79 | buf.append(b)
/host/spi-builder-workspace/Tools/EmojiBugScanner/main.swift:77:22: error: cannot find 'STDIN_FILENO' in scope
75 | while buf.count < maxBytes {
76 | var b: UInt8 = 0
77 | let n = read(STDIN_FILENO, &b, 1)
| `- error: cannot find 'STDIN_FILENO' in scope
78 | if n <= 0 { return nil }
79 | buf.append(b)
[207/321] Emitting module EmojiBenchmark
BUILD FAILURE 6.3 android