The Swift Package Index logo.Swift Package Index

Build Information

Failed to build TUIkit, reference main (d259fb), with Swift 6.3 for Wasm on 4 Oct 2026 09:49:10 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344844-2":/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:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 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:         wasm
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-54344844-2":/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:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:253aad7f5b11d25cf9eaef34120b94cd8a325782929c57fb304a7711494a3f9a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.3-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.57s)
[1/28538] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (1.76s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.1 (2.21s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (1.20s)
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.81s)
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] Copying VERSION
[3/56] Write sources
[9/56] Copying Resources
[10/56] Copying translations
[11/56] Write sources
[12/56] Write swift-version-24593BA9C3E375BF.txt
[13/56] Write sources
[19/56] Compiling CTestSupport CTestSupport.c
[20/56] Write sources
[22/59] Compiling CSTBImage stb_image_impl.c
[23/59] Write sources
[25/130] Emitting module InternalCollectionsUtilities
[26/171] Emitting module TUIkitStyling
[27/175] Emitting module TUIkitCore
[28/182] Compiling InternalCollectionsUtilities Iterable+CopyContents.swift
[29/182] Compiling InternalCollectionsUtilities Iterable+Equality.swift
[30/182] Compiling InternalCollectionsUtilities LifetimeOverride.swift
[31/182] Compiling InternalCollectionsUtilities MutableRef.swift
[32/182] Compiling InternalCollectionsUtilities BorrowingIteratorProtocol+Equality.swift
[33/182] Compiling InternalCollectionsUtilities BorrowingIteratorProtocol+Extras.swift
[34/182] Compiling InternalCollectionsUtilities Debugging.swift
[35/182] Compiling InternalCollectionsUtilities Descriptions.swift
[36/182] Compiling InternalCollectionsUtilities Strideable+LimitHelpers.swift
[37/182] Compiling InternalCollectionsUtilities String+Padding.swift
[38/182] Compiling InternalCollectionsUtilities TemporaryAllocation.swift
[39/182] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[40/182] Compiling TUIkitStyling RowFillRule+Sixteen.swift
[41/182] Compiling InternalCollectionsUtilities _SortedCollection.swift
[42/182] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[43/182] Compiling InternalCollectionsUtilities UnsafeMutablePointer+Extras.swift
[44/182] Compiling InternalCollectionsUtilities UnsafeMutableRawBufferPointer+Extras.swift
[45/182] Compiling InternalCollectionsUtilities UnsafePointer+Extras.swift
[46/182] Compiling InternalCollectionsUtilities MutableSpan+Extras.swift
[47/182] Compiling InternalCollectionsUtilities OutputSpan+Extras.swift
[48/182] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[49/182] Compiling InternalCollectionsUtilities Span+Extras.swift
[55/182] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[56/182] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[57/182] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[58/182] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[59/182] Compiling InternalCollectionsUtilities Integer rank.swift
[60/182] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[61/182] Compiling TUIkitStyling RowFillRule+Cube.swift
[65/182] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[67/183] Compiling TUIkitCore HitTestRegion.swift
[68/183] Compiling TUIkitCore KeyEvent.swift
[69/183] Compiling TUIkitCore MouseEvent.swift
[70/183] Compiling TUIkitCore TerminalInput.swift
[71/183] Compiling TUIkitCore AllBytesDefined.swift
[72/183] Compiling TUIkitCore AnimatedCellRun+Ground.swift
[73/183] Compiling TUIkitCore AnimatedCellRun.swift
[74/183] Compiling TUIkitStyling RowFills+Sixteen.swift
[75/183] Compiling TUIkitStyling RowFills.swift
[76/183] Compiling TUIkitStyling Theme.swift
[77/183] Compiling TUIkitStyling ThemeManager.swift
[78/183] Compiling TUIkitCore FrameBuffer+Punching.swift
[79/183] Compiling TUIkitCore FrameBuffer+RevealTarget.swift
[80/183] Compiling TUIkitCore FrameBuffer.swift
[95/187] Wrapping AST for InternalCollectionsUtilities for debugging
[97/187] Compiling SpanPreview InputSpan.swift
[98/187] Compiling SpanPreview OutputSpan+InputSpanHelpers.swift
[99/187] Emitting module SpanPreview
[100/187] Compiling SpanPreview MutableSpan+InputSpanHelpers.swift
[101/188] Wrapping AST for SpanPreview for debugging
[103/195] Emitting module DequeModule
[104/235] Compiling DequeModule Deque+Testing.swift
[105/235] Compiling DequeModule Deque._Storage.swift
[106/235] Compiling DequeModule Deque._UnsafeHandle.swift
[107/235] Compiling DequeModule Deque.swift
[108/235] Compiling DequeModule UniqueDeque+Initializers.swift
[109/235] Compiling DequeModule UniqueDeque+Insertions.swift
[110/235] Compiling DequeModule UniqueDeque+Iterable.swift
[111/235] Compiling DequeModule RigidDeque+Deprecations.swift
[112/235] Compiling DequeModule RigidDeque+Prepend.swift
[113/235] Compiling DequeModule RigidDeque+Removals.swift
[114/235] Compiling DequeModule RigidDeque+Replacements.swift
[115/235] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[116/235] Compiling DequeModule Deque+Extras.swift
[117/235] Compiling DequeModule Deque+Hashable.swift
[120/235] Compiling DequeModule UniqueDeque+Consumption.swift
[121/235] Compiling DequeModule UniqueDeque+ContainerOperations.swift
[122/235] Compiling DequeModule UniqueDeque+Deprecations.swift
[123/235] Compiling DequeModule UniqueDeque+Descriptions.swift
[124/235] Compiling DequeModule UniqueDeque+Equatable.swift
[125/235] Compiling DequeModule UniqueDeque+Hashable.swift
[126/235] Compiling DequeModule _UnsafeDequeHandle.swift
[127/235] Compiling DequeModule _UnsafeDequeSegments.swift
[128/235] Compiling TUIkitCore AnimationCurve.swift
[129/235] Compiling TUIkitCore Transaction.swift
[130/235] Compiling TUIkitCore VectorArithmetic.swift
[131/235] Compiling TUIkitCore CPUClock.swift
[132/235] Compiling TUIkitCore Lock.swift
[133/235] Compiling TUIkitCore MonotonicClock.swift
[134/235] Compiling DequeModule RigidDeque+Descriptions.swift
[135/235] Compiling DequeModule RigidDeque+Equatable.swift
[136/235] Compiling DequeModule RigidDeque+Hashable.swift
[137/235] Compiling DequeModule RigidDeque+Initializers.swift
[138/235] Compiling DequeModule RigidDeque+Insertions.swift
[139/235] Compiling DequeModule RigidDeque+Iterable.swift
[140/235] Compiling DequeModule _DequeBuffer.swift
[141/235] Compiling DequeModule _DequeBufferHeader.swift
[142/235] Compiling DequeModule RigidDeque+Append.swift
[143/235] Compiling DequeModule RigidDeque+Consumption.swift
[144/235] Compiling DequeModule RigidDeque+ContainerOperations.swift
[146/235] Compiling TUIkitCore GradientFrame.swift
[147/235] Compiling TUIkitCore IdentityKey.swift
[148/235] Compiling TUIkitCore LayoutTypes.swift
[149/235] Compiling TUIkitCore OpacityRegion.swift
[150/235] Compiling TUIkitCore OverlayLayer.swift
[151/235] Compiling TUIkitCore TerminalSymbols.swift
[152/235] Compiling TUIkitCore ViewIdentity.swift
[161/235] Compiling DequeModule Deque+Codable.swift
[162/235] Compiling DequeModule Deque+Collection.swift
[163/235] Compiling DequeModule Deque+CustomReflectable.swift
[164/235] Compiling DequeModule Deque+Descriptions.swift
[165/235] Compiling DequeModule Deque+Equatable.swift
[170/235] Compiling DequeModule UniqueDeque+Prepend.swift
[171/235] Compiling DequeModule UniqueDeque+Removals.swift
[186/235] Compiling DequeModule RigidDeque+Testing.swift
[187/235] Compiling DequeModule RigidDeque.swift
[188/235] Compiling DequeModule UniqueDeque+Append.swift
[202/237] Wrapping AST for TUIkitStyling for debugging
[203/237] Wrapping AST for TUIkitCore for debugging
[205/243] Emitting module EmojiBenchmark
error: emit-module command failed with exit code 1 (use -v to see invocation)
[206/243] 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 {
[207/243] 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: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: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: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 | }
error: cancelled
error: cancelled
error: cancelled
error: cancelled
error: cancelled
BUILD FAILURE 6.3 wasm