Build Information
Failed to build swift-interaction, reference v0.2.0 (a23060), with Swift 6.4 for Android on 16 Oct 2026 10:47:19 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344846-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Ryu0118/swift-interaction.git
Reference: v0.2.0
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/Ryu0118/swift-interaction
* tag v0.2.0 -> FETCH_HEAD
HEAD is now at a230607 Redesign ValidationRule as an async, closure-based value type (#2)
Cloned https://github.com/Ryu0118/swift-interaction.git
Revision (git rev-parse @):
a2306079edb72712e4e8b262b4d420d292200009
SUCCESS checkout https://github.com/Ryu0118/swift-interaction.git at v0.2.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/Ryu0118/swift-interaction.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344846-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:d9a84d7647394b4473e054b8d8a8f0e0b43300080afc6972ec459a3a608366e4
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin (0.48s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (1.36s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3840] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (0.56s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.76s)
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
Building for debugging...
[Planning deferred tasks]
[28 / 36] Interaction
[33 / 36] Interaction
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift failed with a nonzero exit code. Command line: cd /host
builtin-SwiftPerFileCompile StandardKeyInput.swift
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift failed with a nonzero exit code. Command line: cd /host
builtin-SwiftPerFileCompile TerminalCapabilities.swift
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:22:24: [1;31merror: [1;39mcannot find 'termios' in scope[0;0m
[0;36m20 |[0;0m /// Puts the terminal into raw input mode for the duration of the body.
[0;36m21 |[0;0m public func withRawInput<Result>(_ body: () throws -> Result) rethrows -> Result {
[0;36m22 |[0;0m var original = [4;39mtermios[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'termios' in scope[0;0m
[0;36m23 |[0;0m guard tcgetattr(STDIN_FILENO, &original) == 0 else {
[0;36m24 |[0;0m return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:23:15: [1;31merror: [1;39mcannot find 'tcgetattr' in scope[0;0m
[0;36m21 |[0;0m public func withRawInput<Result>(_ body: () throws -> Result) rethrows -> Result {
[0;36m22 |[0;0m var original = termios()
[0;36m23 |[0;0m guard [4;39mtcgetattr[0;0m(STDIN_FILENO, &original) == 0 else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'tcgetattr' in scope[0;0m
[0;36m24 |[0;0m return try body()
[0;36m25 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:23:25: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m21 |[0;0m public func withRawInput<Result>(_ body: () throws -> Result) rethrows -> Result {
[0;36m22 |[0;0m var original = termios()
[0;36m23 |[0;0m guard tcgetattr([4;39mSTDIN_FILENO[0;0m, &original) == 0 else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m24 |[0;0m return try body()
[0;36m25 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:25: [1;31merror: [1;39mcannot find 'tcflag_t' in scope[0;0m
[0;36m26 |[0;0m
[0;36m27 |[0;0m var raw = original
[0;36m28 |[0;0m raw.c_lflag &= ~[4;39mtcflag_t[0;0m(ECHO | ICANON | ISIG)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'tcflag_t' in scope[0;0m
[0;36m29 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m30 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:34: [1;31merror: [1;39mcannot find 'ECHO' in scope[0;0m
[0;36m26 |[0;0m
[0;36m27 |[0;0m var raw = original
[0;36m28 |[0;0m raw.c_lflag &= ~tcflag_t([4;39mECHO[0;0m | ICANON | ISIG)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'ECHO' in scope[0;0m
[0;36m29 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m30 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:41: [1;31merror: [1;39mcannot find 'ICANON' in scope[0;0m
[0;36m26 |[0;0m
[0;36m27 |[0;0m var raw = original
[0;36m28 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | [4;39mICANON[0;0m | ISIG)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'ICANON' in scope[0;0m
[0;36m29 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m30 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:28:50: [1;31merror: [1;39mcannot find 'ISIG' in scope[0;0m
[0;36m26 |[0;0m
[0;36m27 |[0;0m var raw = original
[0;36m28 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | [4;39mISIG[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'ISIG' in scope[0;0m
[0;36m29 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m30 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:29:9: [1;31merror: [1;39mcannot find 'tcsetattr' in scope[0;0m
[0;36m27 |[0;0m var raw = original
[0;36m28 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m29 |[0;0m [4;39mtcsetattr[0;0m(STDIN_FILENO, TCSANOW, &raw)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'tcsetattr' in scope[0;0m
[0;36m30 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
[0;36m31 |[0;0m return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:29:19: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m27 |[0;0m var raw = original
[0;36m28 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m29 |[0;0m tcsetattr([4;39mSTDIN_FILENO[0;0m, TCSANOW, &raw)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m30 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
[0;36m31 |[0;0m return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:29:33: [1;31merror: [1;39mcannot find 'TCSANOW' in scope[0;0m
[0;36m27 |[0;0m var raw = original
[0;36m28 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m29 |[0;0m tcsetattr(STDIN_FILENO, [4;39mTCSANOW[0;0m, &raw)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'TCSANOW' in scope[0;0m
[0;36m30 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
[0;36m31 |[0;0m return try body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:30:17: [1;31merror: [1;39mcannot find 'tcsetattr' in scope[0;0m
[0;36m28 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m29 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m30 |[0;0m defer { [4;39mtcsetattr[0;0m(STDIN_FILENO, TCSANOW, &original) }
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'tcsetattr' in scope[0;0m
[0;36m31 |[0;0m return try body()
[0;36m32 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:30:27: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m28 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m29 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m30 |[0;0m defer { tcsetattr([4;39mSTDIN_FILENO[0;0m, TCSANOW, &original) }
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m31 |[0;0m return try body()
[0;36m32 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:30:41: [1;31merror: [1;39mcannot find 'TCSANOW' in scope[0;0m
[0;36m28 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m29 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m30 |[0;0m defer { tcsetattr(STDIN_FILENO, [4;39mTCSANOW[0;0m, &original) }
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'TCSANOW' in scope[0;0m
[0;36m31 |[0;0m return try body()
[0;36m32 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:36:24: [1;31merror: [1;39mcannot find 'termios' in scope[0;0m
[0;36m34 |[0;0m /// Puts the terminal into raw input mode for the duration of the asynchronous body.
[0;36m35 |[0;0m public func withRawInput<Result>(_ body: () async throws -> Result) async rethrows -> Result {
[0;36m36 |[0;0m var original = [4;39mtermios[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'termios' in scope[0;0m
[0;36m37 |[0;0m guard tcgetattr(STDIN_FILENO, &original) == 0 else {
[0;36m38 |[0;0m return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:37:15: [1;31merror: [1;39mcannot find 'tcgetattr' in scope[0;0m
[0;36m35 |[0;0m public func withRawInput<Result>(_ body: () async throws -> Result) async rethrows -> Result {
[0;36m36 |[0;0m var original = termios()
[0;36m37 |[0;0m guard [4;39mtcgetattr[0;0m(STDIN_FILENO, &original) == 0 else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'tcgetattr' in scope[0;0m
[0;36m38 |[0;0m return try await body()
[0;36m39 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:37:25: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m35 |[0;0m public func withRawInput<Result>(_ body: () async throws -> Result) async rethrows -> Result {
[0;36m36 |[0;0m var original = termios()
[0;36m37 |[0;0m guard tcgetattr([4;39mSTDIN_FILENO[0;0m, &original) == 0 else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m38 |[0;0m return try await body()
[0;36m39 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:25: [1;31merror: [1;39mcannot find 'tcflag_t' in scope[0;0m
[0;36m40 |[0;0m
[0;36m41 |[0;0m var raw = original
[0;36m42 |[0;0m raw.c_lflag &= ~[4;39mtcflag_t[0;0m(ECHO | ICANON | ISIG)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'tcflag_t' in scope[0;0m
[0;36m43 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m44 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:34: [1;31merror: [1;39mcannot find 'ECHO' in scope[0;0m
[0;36m40 |[0;0m
[0;36m41 |[0;0m var raw = original
[0;36m42 |[0;0m raw.c_lflag &= ~tcflag_t([4;39mECHO[0;0m | ICANON | ISIG)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'ECHO' in scope[0;0m
[0;36m43 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m44 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:41: [1;31merror: [1;39mcannot find 'ICANON' in scope[0;0m
[0;36m40 |[0;0m
[0;36m41 |[0;0m var raw = original
[0;36m42 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | [4;39mICANON[0;0m | ISIG)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'ICANON' in scope[0;0m
[0;36m43 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m44 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:42:50: [1;31merror: [1;39mcannot find 'ISIG' in scope[0;0m
[0;36m40 |[0;0m
[0;36m41 |[0;0m var raw = original
[0;36m42 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | [4;39mISIG[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'ISIG' in scope[0;0m
[0;36m43 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m44 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:43:9: [1;31merror: [1;39mcannot find 'tcsetattr' in scope[0;0m
[0;36m41 |[0;0m var raw = original
[0;36m42 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m43 |[0;0m [4;39mtcsetattr[0;0m(STDIN_FILENO, TCSANOW, &raw)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'tcsetattr' in scope[0;0m
[0;36m44 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
[0;36m45 |[0;0m return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:43:19: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m41 |[0;0m var raw = original
[0;36m42 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m43 |[0;0m tcsetattr([4;39mSTDIN_FILENO[0;0m, TCSANOW, &raw)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m44 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
[0;36m45 |[0;0m return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:43:33: [1;31merror: [1;39mcannot find 'TCSANOW' in scope[0;0m
[0;36m41 |[0;0m var raw = original
[0;36m42 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m43 |[0;0m tcsetattr(STDIN_FILENO, [4;39mTCSANOW[0;0m, &raw)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'TCSANOW' in scope[0;0m
[0;36m44 |[0;0m defer { tcsetattr(STDIN_FILENO, TCSANOW, &original) }
[0;36m45 |[0;0m return try await body()
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:44:17: [1;31merror: [1;39mcannot find 'tcsetattr' in scope[0;0m
[0;36m42 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m43 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m44 |[0;0m defer { [4;39mtcsetattr[0;0m(STDIN_FILENO, TCSANOW, &original) }
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'tcsetattr' in scope[0;0m
[0;36m45 |[0;0m return try await body()
[0;36m46 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:44:27: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m42 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m43 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m44 |[0;0m defer { tcsetattr([4;39mSTDIN_FILENO[0;0m, TCSANOW, &original) }
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m45 |[0;0m return try await body()
[0;36m46 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:44:41: [1;31merror: [1;39mcannot find 'TCSANOW' in scope[0;0m
[0;36m42 |[0;0m raw.c_lflag &= ~tcflag_t(ECHO | ICANON | ISIG)
[0;36m43 |[0;0m tcsetattr(STDIN_FILENO, TCSANOW, &raw)
[0;36m44 |[0;0m defer { tcsetattr(STDIN_FILENO, [4;39mTCSANOW[0;0m, &original) }
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'TCSANOW' in scope[0;0m
[0;36m45 |[0;0m return try await body()
[0;36m46 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:50:21: [1;31merror: [1;39mcannot find 'read' in scope[0;0m
[0;36m48 |[0;0m private func readByte() -> UInt8? {
[0;36m49 |[0;0m var byte: UInt8 = 0
[0;36m50 |[0;0m let count = [4;39mread[0;0m(STDIN_FILENO, &byte, 1)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'read' in scope[0;0m
[0;36m51 |[0;0m return count == 1 ? byte : nil
[0;36m52 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift:50:26: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m48 |[0;0m private func readByte() -> UInt8? {
[0;36m49 |[0;0m var byte: UInt8 = 0
[0;36m50 |[0;0m let count = read([4;39mSTDIN_FILENO[0;0m, &byte, 1)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m51 |[0;0m return count == 1 ? byte : nil
[0;36m52 |[0;0m }
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:21:26: [1;31merror: [1;39mcannot find 'isatty' in scope[0;0m
[0;36m19 |[0;0m /// Capabilities detected from the standard streams and environment.
[0;36m20 |[0;0m public static func detect(environment: [String: String] = ProcessInfo.processInfo.environment) -> TerminalCapabilities {
[0;36m21 |[0;0m let stdinIsTTY = [4;39misatty[0;0m(STDIN_FILENO) == 1
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'isatty' in scope[0;0m
[0;36m22 |[0;0m let stdoutIsTTY = isatty(STDOUT_FILENO) == 1
[0;36m23 |[0;0m let isDumb = environment["TERM"] == "dumb"
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:21:33: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m19 |[0;0m /// Capabilities detected from the standard streams and environment.
[0;36m20 |[0;0m public static func detect(environment: [String: String] = ProcessInfo.processInfo.environment) -> TerminalCapabilities {
[0;36m21 |[0;0m let stdinIsTTY = isatty([4;39mSTDIN_FILENO[0;0m) == 1
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m22 |[0;0m let stdoutIsTTY = isatty(STDOUT_FILENO) == 1
[0;36m23 |[0;0m let isDumb = environment["TERM"] == "dumb"
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:22:27: [1;31merror: [1;39mcannot find 'isatty' in scope[0;0m
[0;36m20 |[0;0m public static func detect(environment: [String: String] = ProcessInfo.processInfo.environment) -> TerminalCapabilities {
[0;36m21 |[0;0m let stdinIsTTY = isatty(STDIN_FILENO) == 1
[0;36m22 |[0;0m let stdoutIsTTY = [4;39misatty[0;0m(STDOUT_FILENO) == 1
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'isatty' in scope[0;0m
[0;36m23 |[0;0m let isDumb = environment["TERM"] == "dumb"
[0;36m24 |[0;0m let noColor = environment["NO_COLOR"].map { !$0.isEmpty } ?? false
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:22:34: [1;31merror: [1;39mcannot find 'STDOUT_FILENO' in scope[0;0m
[0;36m20 |[0;0m public static func detect(environment: [String: String] = ProcessInfo.processInfo.environment) -> TerminalCapabilities {
[0;36m21 |[0;0m let stdinIsTTY = isatty(STDIN_FILENO) == 1
[0;36m22 |[0;0m let stdoutIsTTY = isatty([4;39mSTDOUT_FILENO[0;0m) == 1
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDOUT_FILENO' in scope[0;0m
[0;36m23 |[0;0m let isDumb = environment["TERM"] == "dumb"
[0;36m24 |[0;0m let noColor = environment["NO_COLOR"].map { !$0.isEmpty } ?? false
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:41:20: [1;31merror: [1;39mcannot find 'winsize' in scope[0;0m
[0;36m39 |[0;0m guard stdoutIsTTY else { return nil }
[0;36m40 |[0;0m
[0;36m41 |[0;0m var size = [4;39mwinsize[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'winsize' in scope[0;0m
[0;36m42 |[0;0m let result = ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size)
[0;36m43 |[0;0m guard result == 0, size.ws_col > 0 else { return nil }
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:42:22: [1;31merror: [1;39mcannot find 'ioctl' in scope[0;0m
[0;36m40 |[0;0m
[0;36m41 |[0;0m var size = winsize()
[0;36m42 |[0;0m let result = [4;39mioctl[0;0m(STDOUT_FILENO, UInt(TIOCGWINSZ), &size)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'ioctl' in scope[0;0m
[0;36m43 |[0;0m guard result == 0, size.ws_col > 0 else { return nil }
[0;36m44 |[0;0m return Int(size.ws_col)
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:42:28: [1;31merror: [1;39mcannot find 'STDOUT_FILENO' in scope[0;0m
[0;36m40 |[0;0m
[0;36m41 |[0;0m var size = winsize()
[0;36m42 |[0;0m let result = ioctl([4;39mSTDOUT_FILENO[0;0m, UInt(TIOCGWINSZ), &size)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDOUT_FILENO' in scope[0;0m
[0;36m43 |[0;0m guard result == 0, size.ws_col > 0 else { return nil }
[0;36m44 |[0;0m return Int(size.ws_col)
/host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift:42:48: [1;31merror: [1;39mcannot find 'TIOCGWINSZ' in scope[0;0m
[0;36m40 |[0;0m
[0;36m41 |[0;0m var size = winsize()
[0;36m42 |[0;0m let result = ioctl(STDOUT_FILENO, UInt([4;39mTIOCGWINSZ[0;0m), &size)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'TIOCGWINSZ' in scope[0;0m
[0;36m43 |[0;0m guard result == 0, size.ws_col > 0 else { return nil }
[0;36m44 |[0;0m return Int(size.ws_col)
Failed frontend command:
/root/.local/share/swiftly/toolchains/6.4.0/usr/bin/swift-frontend -frontend -c -primary-file /host/spi-builder-workspace/Sources/Interaction/Input/StandardKeyInput.swift -primary-file /host/spi-builder-workspace/Sources/Interaction/Input/TerminalCapabilities.swift -primary-file /host/spi-builder-workspace/Sources/Interaction/Input/TerminalKey.swift /host/spi-builder-workspace/Sources/Interaction/InteractionProviding+Convenience.swift /host/spi-builder-workspace/Sources/Interaction/InteractionProviding+PromptConvenience.swift /host/spi-builder-workspace/Sources/Interaction/Prompts/BlockRenderer.swift /host/spi-builder-workspace/Sources/Interaction/Prompts/ConfirmationLoop.swift /host/spi-builder-workspace/Sources/Interaction/Prompts/LineBuffer.swift /host/spi-builder-workspace/Sources/Interaction/Prompts/MultipleChoiceLoop.swift /host/spi-builder-workspace/Sources/Interaction/Prompts/Prompt.swift /host/spi-builder-workspace/Sources/Interaction/Prompts/PromptRendering.swift /host/spi-builder-workspace/Sources/Interaction/Prompts/SingleChoiceLoop.swift /host/spi-builder-workspace/Sources/Interaction/Prompts/TextPromptLoop.swift /host/spi-builder-workspace/Sources/Interaction/Selection/ChoiceOption.swift /host/spi-builder-workspace/Sources/Interaction/Selection/MultipleSelectionState.swift /host/spi-builder-workspace/Sources/Interaction/Selection/SingleSelectionState.swift /host/spi-builder-workspace/Sources/Interaction/Styling/DisplayWidth.swift /host/spi-builder-workspace/Sources/Interaction/Styling/StyledText.swift /host/spi-builder-workspace/Sources/Interaction/Styling/StyledTextRenderer.swift /host/spi-builder-workspace/Sources/Interaction/Table.swift /host/spi-builder-workspace/Sources/Interaction/Terminal+LineMode.swift /host/spi-builder-workspace/Sources/Interaction/Terminal.swift /host/spi-builder-workspace/Sources/Interaction/Validation.swift -supplementary-output-file-map /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-interaction.build/Debug-android-aarch64/Interaction-t.build/Objects-normal/aarch64/supplementaryOutputs-1 -target aarch64-unknown-linux-android28 -Xllvm -aarch64-use-tbi -disable-objc-interop -sdk /android-ndk/android-ndk-r30/toolchains/llvm/prebuilt/linux-x86_64/sysroot -sysroot /android-ndk/android-ndk-r30/toolchains/llvm/prebuilt/linux-x86_64/sysroot -I /host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /root/.local/share/swiftly/toolchains/6.4.0/usr/lib/swift/host/plugins/testing\#/root/.local/share/swiftly/toolchains/6.4.0/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.0-RELEASE_android.artifactbundle/swift-android/swift-resources/usr/lib/swift-aarch64 -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /android-ndk/android-ndk-r30/toolchains/llvm/prebuilt/linux-x86_64/lib/clang/21 -Xcc -fno-omit-frame-pointer -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-android-aarch64/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-interaction.build/Debug-android-aarch64/Interaction-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-interaction.build/Debug-android-aarch64/Interaction-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-interaction.build/Debug-android-aarch64/Interaction-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Interaction -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-interaction.build/Debug-android-aarch64/Interaction-t.build/Objects-normal/aarch64/Interaction_const_extract_protocols.json -in-process-plugin-server-path /root/.local/share/swiftly/toolchains/6.4.0/usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /root/.local/share/swiftly/toolchains/6.4.0/usr/lib/swift/host/plugins -plugin-path /root/.local/share/swiftly/toolchains/6.4.0/usr/local/lib/swift/host/plugins -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-interaction.build/Debug-android-aarch64/Interaction-t.build/Objects-normal/aarch64/StandardKeyInput.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-interaction.build/Debug-android-aarch64/Interaction-t.build/Objects-normal/aarch64/TerminalCapabilities.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-interaction.build/Debug-android-aarch64/Interaction-t.build/Objects-normal/aarch64/TerminalKey.o -index-unit-output-path /swift-interaction.build/Debug-android-aarch64/Interaction-t.build/Objects-normal/aarch64/StandardKeyInput.o -index-unit-output-path /swift-interaction.build/Debug-android-aarch64/Interaction-t.build/Objects-normal/aarch64/TerminalCapabilities.o -index-unit-output-path /swift-interaction.build/Debug-android-aarch64/Interaction-t.build/Objects-normal/aarch64/TerminalKey.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: Build failed
BUILD FAILURE 6.4 android