The Swift Package Index logo.Swift Package Index

Build Information

Failed to build TUIkit, reference main (d259fb), with Swift 6.2 for Android on 4 Oct 2026 09:45:29 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344844-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 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.2
Building package at path:  $PWD
https://github.com/wadetregaskis/TUIkit.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:f47b2a33897778fb58ca39c1139e193fa7f391fa362fe0d23c00db9747030994
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.2-latest
Fetching https://github.com/swiftlang/swift-docc-plugin
Fetching https://github.com/apple/swift-collections.git
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.55s)
[1/28538] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (2.14s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.1 (2.89s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (1.22s)
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.50s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.73s)
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-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
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] Write sources
[2/56] Copying VERSION
[2/56] Write sources
[19/56] Copying translations
[20/56] Copying Resources
[21/56] Compiling CTestSupport CTestSupport.c
[22/56] Compiling CSTBImage stb_image_impl.c
[22/56] Write swift-version--11D90AFD9DD3AB2.txt
[25/168] Emitting module InternalCollectionsUtilities
[26/171] Compiling TUIkitStyling TextCursorStyle.swift
[27/171] Compiling TUIkitStyling ViewConstants.swift
[28/171] Compiling TUIkitStyling Appearance.swift
[29/171] Compiling TUIkitStyling ColorScheme.swift
[30/171] Compiling InternalCollectionsUtilities UnsafeRawBufferPointer+Extras.swift
[31/171] Compiling InternalCollectionsUtilities _SortedCollection.swift
[32/171] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[33/171] Compiling TUIkitStyling ColorDepth.swift
[34/171] Compiling TUIkitStyling Gradient.swift
[35/171] Compiling TUIkitStyling SemanticColor.swift
[36/171] Compiling TUIkitStyling TerminalColors.swift
[37/171] Compiling TUIkitStyling Int+ClampingDouble.swift
[38/171] Compiling TUIkitStyling BorderStyle.swift
[39/171] Compiling TUIkitStyling ContentMode.swift
[40/171] Compiling TUIkitStyling TextContentType.swift
[41/175] Compiling TUIkitStyling Color+Compositing.swift
[42/175] Compiling TUIkitStyling Color+Contrast.swift
[43/175] Compiling TUIkitStyling Color+Downsampling.swift
[44/175] Compiling TUIkitStyling Color+EstimatedRGB.swift
[45/175] Compiling TUIkitStyling Color+HoverLadder.swift
[46/175] Compiling TUIkitStyling Color+PulseRamp.swift
[47/175] Compiling TUIkitStyling Color.swift
[48/175] Compiling TUIkitStyling HighlightFill.swift
[53/175] Compiling TUIkitStyling AppleTerminalPalette.swift
[54/175] Compiling TUIkitStyling LiveTerminalPalette.swift
[55/175] Compiling TUIkitStyling PalettePreset.swift
[56/175] Compiling TUIkitStyling RowFillRule+Cube.swift
[57/175] Compiling TUIkitStyling ANSIColor.swift
[58/175] Compiling TUIkitStyling Color+ANSICodes.swift
[59/175] Compiling TUIkitStyling Color+ColorSpaces.swift
[61/176] Emitting module TUIkitCore
[61/183] Wrapping AST for InternalCollectionsUtilities for debugging
[63/187] Compiling SpanPreview OutputSpan+InputSpanHelpers.swift
[64/187] Compiling SpanPreview MutableSpan+InputSpanHelpers.swift
[65/187] Emitting module SpanPreview
[66/187] Compiling SpanPreview InputSpan.swift
[71/188] Wrapping AST for SpanPreview for debugging
[73/230] Compiling DequeModule RigidDeque+ContainerOperations.swift
[74/230] Compiling DequeModule RigidDeque+Deprecations.swift
[75/230] Compiling DequeModule RigidDeque+Descriptions.swift
[76/230] Compiling DequeModule RigidDeque+Equatable.swift
[77/230] Compiling DequeModule RigidDeque+Hashable.swift
[78/230] Compiling DequeModule RigidDeque+Initializers.swift
[79/230] Compiling DequeModule RigidDeque+Insertions.swift
[80/230] Compiling DequeModule RigidDeque+Iterable.swift
[81/230] Compiling DequeModule RigidDeque+Prepend.swift
[82/230] Compiling DequeModule RigidDeque+Removals.swift
[83/230] Compiling DequeModule RigidDeque+Replacements.swift
[84/230] Compiling DequeModule RigidDeque+Testing.swift
[85/230] Compiling DequeModule RigidDeque.swift
[86/230] Compiling DequeModule UniqueDeque+Append.swift
[87/230] Compiling DequeModule _DequeBuffer.swift
[88/230] Compiling DequeModule _DequeBufferHeader.swift
[89/230] Compiling DequeModule RigidDeque+Append.swift
[90/230] Compiling DequeModule RigidDeque+Consumption.swift
[93/230] Compiling DequeModule UniqueDeque+Consumption.swift
[94/230] Compiling DequeModule UniqueDeque+ContainerOperations.swift
[95/230] Compiling DequeModule UniqueDeque+Deprecations.swift
[96/230] Compiling DequeModule UniqueDeque+Descriptions.swift
[97/230] Compiling DequeModule UniqueDeque+Equatable.swift
[98/230] Compiling DequeModule UniqueDeque+Hashable.swift
[99/230] Compiling DequeModule UniqueDeque+Initializers.swift
[100/230] Compiling DequeModule UniqueDeque+Insertions.swift
[101/230] Compiling DequeModule UniqueDeque+Iterable.swift
[102/230] Compiling DequeModule UniqueDeque+Prepend.swift
[103/230] Compiling DequeModule UniqueDeque+Removals.swift
[116/235] Compiling DequeModule Deque+Codable.swift
[117/235] Compiling DequeModule Deque+Collection.swift
[118/235] Compiling DequeModule Deque+CustomReflectable.swift
[119/235] Compiling DequeModule Deque+Descriptions.swift
[120/235] Compiling DequeModule Deque+Equatable.swift
[121/235] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[122/235] Compiling DequeModule Deque+Extras.swift
[123/235] Compiling DequeModule Deque+Hashable.swift
[124/235] Compiling DequeModule Deque+Testing.swift
[125/235] Compiling DequeModule Deque._Storage.swift
[126/235] Compiling DequeModule Deque._UnsafeHandle.swift
[127/235] Compiling DequeModule Deque.swift
[152/235] Compiling DequeModule _UnsafeDequeSegments.swift
[153/235] Compiling TUIkitCore TerminalHyperlink.swift
[154/235] Compiling TUIkitCore TerminalImagePlaceholder.swift
[155/235] Compiling TUIkitCore TerminalQuirks.swift
[156/235] Compiling TUIkitCore TerminalWidthCorpus.swift
[157/235] Compiling TUIkitCore TerminalWidthTraits.swift
[158/235] Compiling TUIkitCore ASCIIDecimal.swift
[159/235] Compiling TUIkitCore GradientFrame.swift
[160/235] Compiling TUIkitCore IdentityKey.swift
[161/235] Compiling TUIkitCore LayoutTypes.swift
[162/235] Compiling TUIkitCore OpacityRegion.swift
[163/235] Compiling TUIkitCore OverlayLayer.swift
[164/235] Compiling TUIkitCore TerminalSymbols.swift
[165/235] Compiling TUIkitCore ViewIdentity.swift
[170/235] Compiling DequeModule UniqueDeque+Replacements.swift
[171/235] Compiling DequeModule UniqueDeque.swift
[172/235] Compiling DequeModule _DequeSlot.swift
[173/235] Compiling DequeModule _UnsafeDequeHandle.swift
[190/235] Emitting module TUIkitStyling
[201/241] Wrapping AST for TUIkitCore for debugging
[202/284] Wrapping AST for TUIkitStyling for debugging
[204/295] Emitting module EmojiBenchmark
[205/321] Compiling EmojiBenchmark main.swift
[206/322] Emitting module DequeModule
[207/322] Wrapping AST for EmojiBenchmark for debugging
[208/322] Write Objects.LinkFileList
[209/322] Linking EmojiBenchmark
[211/322] Compiling TUIkitImage ImageLoader.swift
[212/322] Compiling TUIkitView ObservationCensus.swift
[213/322] Compiling TUIkitView ObservationLease.swift
[214/322] Compiling TUIkitView ObservationLeases.swift
[215/322] Compiling TUIkitView OpacityClaim.swift
[216/322] Compiling TUIkitView ReadingTypes.swift
[217/322] Compiling TUIkitView ReferenceCountProbe.swift
[218/322] Compiling TUIkitView RenderCache+Entries.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[219/330] 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 {
[220/330] 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)
[221/330] Emitting module TUIkitImage
BUILD FAILURE 6.2 android