The Swift Package Index logo.Swift Package Index

Build Information

Failed to build terminal-ansi, reference 0.3.0 (4a56c0), with Swift 6.2 for Android on 25 Oct 2025 17:33:53 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/juri/terminal-ansi.git
Reference: 0.3.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/juri/terminal-ansi
 * tag               0.3.0      -> FETCH_HEAD
HEAD is now at 4a56c05 Backtick string literals in a doc comment
Cloned https://github.com/juri/terminal-ansi.git
Revision (git rev-parse @):
4a56c05d18cd7cb0ad85fcc0bd1b616f45c8a067
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/juri/terminal-ansi.git at 0.3.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/juri/terminal-ansi.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:d70d83f328e9f1ae04a4e17e63e2d335ae10639f90ee796a5fe3bfb139eab948
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Fetching https://github.com/apple/swift-numerics
[1/6380] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics from cache (1.18s)
Computing version for https://github.com/apple/swift-numerics
Computed https://github.com/apple/swift-numerics at 1.1.1 (1.57s)
Creating working copy for https://github.com/apple/swift-numerics
Working copy of https://github.com/apple/swift-numerics resolved at 1.1.1
Building for debugging...
[0/8] Write sources
[2/8] Compiling CSelect select.c
[3/8] Write swift-version--11D90AFD9DD3AB2.txt
[5/16] Compiling TerminalANSI Terminal.swift
/host/spi-builder-workspace/Sources/TerminalANSI/Terminal.swift:34:15: error: cannot find 'isatty' in scope
 32 |         fileHandle: FileHandle
 33 |     ) {
 34 |         guard isatty(fileHandle.fileDescriptor) == 1 else { return nil }
    |               `- error: cannot find 'isatty' in scope
 35 |         self.environment = environment ?? ProcessInfo.processInfo.environment
 36 |         self.fileHandle = fileHandle
/host/spi-builder-workspace/Sources/TerminalANSI/Terminal.swift:41:9: error: cannot find 'tcflush' in scope
 39 |     public func close() throws {
 40 |         try self.fileHandle.synchronize()
 41 |         tcflush(self.fileHandle.fileDescriptor, TCOFLUSH)
    |         `- error: cannot find 'tcflush' in scope
 42 |         try self.fileHandle.close()
 43 |     }
/host/spi-builder-workspace/Sources/TerminalANSI/Terminal.swift:41:49: error: cannot find 'TCOFLUSH' in scope
 39 |     public func close() throws {
 40 |         try self.fileHandle.synchronize()
 41 |         tcflush(self.fileHandle.fileDescriptor, TCOFLUSH)
    |                                                 `- error: cannot find 'TCOFLUSH' in scope
 42 |         try self.fileHandle.close()
 43 |     }
[6/16] Compiling TerminalANSI Size.swift
/host/spi-builder-workspace/Sources/TerminalANSI/Size.swift:19:17: error: cannot find 'winsize' in scope
17 |     @MainActor
18 |     public static func current(fileHandle: FileHandle) throws(TerminalReadFailure) -> Self {
19 |         var w = winsize()
   |                 `- error: cannot find 'winsize' in scope
20 |         guard ioctl(fileHandle.fileDescriptor, UInt(TIOCGWINSZ), &w) >= 0 else {
21 |             throw .callFailure(.ioctl, errno: errno)
/host/spi-builder-workspace/Sources/TerminalANSI/Size.swift:20:15: error: cannot find 'ioctl' in scope
18 |     public static func current(fileHandle: FileHandle) throws(TerminalReadFailure) -> Self {
19 |         var w = winsize()
20 |         guard ioctl(fileHandle.fileDescriptor, UInt(TIOCGWINSZ), &w) >= 0 else {
   |               `- error: cannot find 'ioctl' in scope
21 |             throw .callFailure(.ioctl, errno: errno)
22 |         }
/host/spi-builder-workspace/Sources/TerminalANSI/Size.swift:20:53: error: cannot find 'TIOCGWINSZ' in scope
18 |     public static func current(fileHandle: FileHandle) throws(TerminalReadFailure) -> Self {
19 |         var w = winsize()
20 |         guard ioctl(fileHandle.fileDescriptor, UInt(TIOCGWINSZ), &w) >= 0 else {
   |                                                     `- error: cannot find 'TIOCGWINSZ' in scope
21 |             throw .callFailure(.ioctl, errno: errno)
22 |         }
/host/spi-builder-workspace/Sources/TerminalANSI/Size.swift:21:47: error: cannot find 'errno' in scope
19 |         var w = winsize()
20 |         guard ioctl(fileHandle.fileDescriptor, UInt(TIOCGWINSZ), &w) >= 0 else {
21 |             throw .callFailure(.ioctl, errno: errno)
   |                                               `- error: cannot find 'errno' in scope
22 |         }
23 |         return TerminalSize(height: Int(w.ws_row), width: Int(w.ws_col))
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
[7/16] Compiling TerminalANSI Inspect.swift
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:159:27: error: cannot find 'termios' in scope
157 |     }
158 |
159 |     var originalTermios = termios()
    |                           `- error: cannot find 'termios' in scope
160 |     if tcgetattr(fileHandle.fileDescriptor, &originalTermios) == -1 {
161 |         throw .callFailure(.tcgetattr, errno: errno)
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:160:8: error: cannot find 'tcgetattr' in scope
158 |
159 |     var originalTermios = termios()
160 |     if tcgetattr(fileHandle.fileDescriptor, &originalTermios) == -1 {
    |        `- error: cannot find 'tcgetattr' in scope
161 |         throw .callFailure(.tcgetattr, errno: errno)
162 |     }
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:161:47: error: cannot find 'errno' in scope
159 |     var originalTermios = termios()
160 |     if tcgetattr(fileHandle.fileDescriptor, &originalTermios) == -1 {
161 |         throw .callFailure(.tcgetattr, errno: errno)
    |                                               `- error: cannot find 'errno' in scope
162 |     }
163 |
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:165:9: error: cannot find 'tcsetattr' in scope
163 |
164 |     defer {
165 |         tcsetattr(fileHandle.fileDescriptor, TCSAFLUSH, &originalTermios)
    |         `- error: cannot find 'tcsetattr' in scope
166 |     }
167 |
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:165:46: error: cannot find 'TCSAFLUSH' in scope
163 |
164 |     defer {
165 |         tcsetattr(fileHandle.fileDescriptor, TCSAFLUSH, &originalTermios)
    |                                              `- error: cannot find 'TCSAFLUSH' in scope
166 |     }
167 |
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:169:23: error: cannot find 'tcflag_t' in scope
167 |
168 |     var noEcho = originalTermios
169 |     noEcho.c_lflag ^= tcflag_t(ECHO)
    |                       `- error: cannot find 'tcflag_t' in scope
170 |     noEcho.c_lflag ^= tcflag_t(ICANON)
171 |
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:169:32: error: cannot find 'ECHO' in scope
167 |
168 |     var noEcho = originalTermios
169 |     noEcho.c_lflag ^= tcflag_t(ECHO)
    |                                `- error: cannot find 'ECHO' in scope
170 |     noEcho.c_lflag ^= tcflag_t(ICANON)
171 |
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:170:23: error: cannot find 'tcflag_t' in scope
168 |     var noEcho = originalTermios
169 |     noEcho.c_lflag ^= tcflag_t(ECHO)
170 |     noEcho.c_lflag ^= tcflag_t(ICANON)
    |                       `- error: cannot find 'tcflag_t' in scope
171 |
172 |     tcsetattr(fileHandle.fileDescriptor, TCSAFLUSH, &noEcho)
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:170:32: error: cannot find 'ICANON' in scope
168 |     var noEcho = originalTermios
169 |     noEcho.c_lflag ^= tcflag_t(ECHO)
170 |     noEcho.c_lflag ^= tcflag_t(ICANON)
    |                                `- error: cannot find 'ICANON' in scope
171 |
172 |     tcsetattr(fileHandle.fileDescriptor, TCSAFLUSH, &noEcho)
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:172:5: error: cannot find 'tcsetattr' in scope
170 |     noEcho.c_lflag ^= tcflag_t(ICANON)
171 |
172 |     tcsetattr(fileHandle.fileDescriptor, TCSAFLUSH, &noEcho)
    |     `- error: cannot find 'tcsetattr' in scope
173 |
174 |     // first, send OSC query, which is ignored by terminal which do not support it
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:172:42: error: cannot find 'TCSAFLUSH' in scope
170 |     noEcho.c_lflag ^= tcflag_t(ICANON)
171 |
172 |     tcsetattr(fileHandle.fileDescriptor, TCSAFLUSH, &noEcho)
    |                                          `- error: cannot find 'TCSAFLUSH' in scope
173 |
174 |     // first, send OSC query, which is ignored by terminal which do not support it
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:209:25: error: cannot find 'errno' in scope
207 |
208 |         if result == -1 {
209 |             let error = errno
    |                         `- error: cannot find 'errno' in scope
210 |             if error == EINTR {
211 |                 continue  // Interrupted by signal, retry
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:293:11: error: cannot find 'ioctl' in scope
291 | func isForeground(fileHandle: FileHandle) -> Bool {
292 |     var pgrp = pid_t()
293 |     guard ioctl(fileHandle.fileDescriptor, UInt(TIOCGPGRP), &pgrp) > -1 else { return false }
    |           `- error: cannot find 'ioctl' in scope
294 |     return pgrp == getpgrp()
295 | }
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:293:49: error: cannot find 'TIOCGPGRP' in scope
291 | func isForeground(fileHandle: FileHandle) -> Bool {
292 |     var pgrp = pid_t()
293 |     guard ioctl(fileHandle.fileDescriptor, UInt(TIOCGPGRP), &pgrp) > -1 else { return false }
    |                                                 `- error: cannot find 'TIOCGPGRP' in scope
294 |     return pgrp == getpgrp()
295 | }
/host/spi-builder-workspace/Sources/TerminalANSI/Inspect.swift:294:20: error: cannot find 'getpgrp' in scope
292 |     var pgrp = pid_t()
293 |     guard ioctl(fileHandle.fileDescriptor, UInt(TIOCGPGRP), &pgrp) > -1 else { return false }
294 |     return pgrp == getpgrp()
    |                    `- error: cannot find 'getpgrp' in scope
295 | }
296 |
[8/16] Compiling TerminalANSI ANSIControlCode.swift
[9/16] Compiling TerminalANSI Color.swift
[10/16] Emitting module TerminalANSI
[11/16] Compiling TerminalANSI ColorMode.swift
/host/spi-builder-workspace/Sources/TerminalANSI/ColorMode.swift:25:15: error: cannot find 'isatty' in scope
23 |         fileHandle: FileHandle,
24 |     ) -> ColorMode {
25 |         guard isatty(fileHandle.fileDescriptor) == 1 else { return .noColor }
   |               `- error: cannot find 'isatty' in scope
26 |         return self.current(environment: environment ?? ProcessInfo.processInfo.environment)
27 |     }
[12/16] Compiling TerminalANSI EnvironmentColorMode.swift
/host/spi-builder-workspace/Sources/TerminalANSI/EnvironmentColorMode.swift:56:13: error: cannot find 'isatty' in scope
54 |             false
55 |         case .enable:
56 |             isatty(fileHandle.fileDescriptor) == 1
   |             `- error: cannot find 'isatty' in scope
57 |         case .force:
58 |             true
/host/spi-builder-workspace/Sources/TerminalANSI/EnvironmentColorMode.swift:60:13: error: cannot find 'isatty' in scope
58 |             true
59 |         case .none:
60 |             isatty(fileHandle.fileDescriptor) == 1
   |             `- error: cannot find 'isatty' in scope
61 |         }
62 |     }
BUILD FAILURE 6.2 android