The Swift Package Index logo.Swift Package Index

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>&1

Build 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