Build Information
Failed to build SwiftTerm, reference v1.99.0 (2dad6a), with Swift 6.4 for Android on 12 Oct 2026 05:41:33 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344843-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:android-6.4-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/migueldeicaza/SwiftTerm.git
Reference: v1.99.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/migueldeicaza/SwiftTerm
* tag v1.99.0 -> FETCH_HEAD
HEAD is now at 2dad6a1 Osc 7501 (#746)
Cloned https://github.com/migueldeicaza/SwiftTerm.git
Revision (git rev-parse @):
2dad6a1e516f755bed77cf9bbd09455062f54758
SUCCESS checkout https://github.com/migueldeicaza/SwiftTerm.git at v1.99.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/migueldeicaza/SwiftTerm.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-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: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:34a00a57f57797b403a98b861c3ce940f20735b4cb78ef45654f0d4f3b0c0295
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/tayloraswift/swift-png
Fetching https://github.com/apple/swift-docc-plugin
[1/7577] Fetching swift-png
[1517/9922] Fetching swift-png, swift-docc-plugin
[4468/29034] Fetching swift-png, swift-docc-plugin, swift-argument-parser
Fetched https://github.com/apple/swift-docc-plugin (0.56s)
[2963/26689] Fetching swift-png, swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser (4.47s)
Fetched https://github.com/tayloraswift/swift-png (4.56s)
Computing version for https://github.com/tayloraswift/swift-png
Computed https://github.com/tayloraswift/swift-png at 4.5.1 (4.80s)
Fetching https://github.com/rarestype/h
[1/1340] Fetching h
Fetched https://github.com/rarestype/h (0.39s)
Computing version for https://github.com/rarestype/h
Computed https://github.com/rarestype/h at 1.0.1 (0.56s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (1.09s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3837] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (0.63s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.93s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.23s)
Creating working copy for https://github.com/rarestype/h
Working copy of https://github.com/rarestype/h resolved at 1.0.1
Creating working copy for https://github.com/tayloraswift/swift-png
Working copy of https://github.com/tayloraswift/swift-png resolved at 4.5.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/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.5.0
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 417]
[Planning deferred tasks]
[76 / 152] ArgumentParser
[93 / 163] BaseDigits
[101 / 169] Base16
[102 / 169] ArgumentParserToolInfo
[104 / 169] Base16
[115 / 169] Base16
[117 / 171] CRC
[122 / 174]
[125 / 183] CRC
[127 / 184] CRC
[133 / 186] CRC-product
[137 / 186] LZ77
[141 / 186] ArgumentParserToolInfo
[143 / 187] SwiftTermBuildInfoGenerator-product
[144 / 187] ArgumentParser
[150 / 187] SwiftTermBuildInfoGenerator-product
[151 / 187] ArgumentParser-product
[152 / 187]
[153 / 188] LZ77
[155 / 197] LZ77
[156 / 197] LZ77
[157 / 197] LZ77
[158 / 197] LZ77
[159 / 197] LZ77
[160 / 197] LZ77
[162 / 197] LZ77
[166 / 197] LZ77
[167 / 197] PNG
[169 / 198] ArgumentParser
[170 / 198] CRC
[170 / 198] PNG
[174 / 207] PNG
[175 / 207] PNG
[175 / 207] ArgumentParser
[177 / 208] LZ77
[178 / 208] PNG
[179 / 209] PNG
[180 / 209] LZ77
[181 / 209] ArgumentParser
[185 / 209] ArgumentParser
[190 / 209] ArgumentParser
[190 / 209] PNG
[193 / 210] PNG
[194 / 210] SwiftTerm
[204 / 220] SwiftTerm
[211 / 222] termcast-product
[215 / 229] SwiftTermFuzz-product
[216 / 229] SwiftTerm
error: SwiftCompile normal aarch64 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:19:26: [1;31merror: [1;39mcannot find type 'LocalProcess' in scope[0;0m
[0;36m17 |[0;0m @MainActor
[0;36m18 |[0;0m private final class TermcastInputHandler {
[0;36m19 |[0;0m private let process: [4;39mLocalProcess[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'LocalProcess' in scope[0;0m
[0;36m20 |[0;0m private let startTime: TimeInterval
[0;36m21 |[0;0m private let fileHandle: FileHandle?
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:24:19: [1;31merror: [1;39mcannot find type 'LocalProcess' in scope[0;0m
[0;36m22 |[0;0m private let encoder = JSONEncoder()
[0;36m23 |[0;0m
[0;36m24 |[0;0m init(process: [4;39mLocalProcess[0;0m, startTime: TimeInterval, fileHandle: FileHandle?) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'LocalProcess' in scope[0;0m
[0;36m25 |[0;0m self.process = process
[0;36m26 |[0;0m self.startTime = startTime
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:53:26: [1;31merror: [1;39mcannot find type 'LocalProcess' in scope[0;0m
[0;36m51 |[0;0m private var fileHandle: FileHandle?
[0;36m52 |[0;0m private var startTime: TimeInterval = 0
[0;36m53 |[0;0m private var process: [4;39mLocalProcess[0;0m?
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'LocalProcess' in scope[0;0m
[0;36m54 |[0;0m private var initialWindowSize: winsize = winsize()
[0;36m55 |[0;0m private let encoder = JSONEncoder()
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:54:36: [1;31merror: [1;39mcannot find type 'winsize' in scope[0;0m
[0;36m52 |[0;0m private var startTime: TimeInterval = 0
[0;36m53 |[0;0m private var process: LocalProcess?
[0;36m54 |[0;0m private var initialWindowSize: [4;39mwinsize[0;0m = winsize()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'winsize' in scope[0;0m
[0;36m55 |[0;0m private let encoder = JSONEncoder()
[0;36m56 |[0;0m private var timeoutTimer: DispatchSourceTimer?
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:57:34: [1;31merror: [1;39mcannot find type 'termios' in scope[0;0m
[0;36m55 |[0;0m private let encoder = JSONEncoder()
[0;36m56 |[0;0m private var timeoutTimer: DispatchSourceTimer?
[0;36m57 |[0;0m private var originalTermios: [4;39mtermios[0;0m = termios()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'termios' in scope[0;0m
[0;36m58 |[0;0m private var originalStdoutTermios: termios = termios()
[0;36m59 |[0;0m private var terminalModeSet = false
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:58:40: [1;31merror: [1;39mcannot find type 'termios' in scope[0;0m
[0;36m56 |[0;0m private var timeoutTimer: DispatchSourceTimer?
[0;36m57 |[0;0m private var originalTermios: termios = termios()
[0;36m58 |[0;0m private var originalStdoutTermios: [4;39mtermios[0;0m = termios()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'termios' in scope[0;0m
[0;36m59 |[0;0m private var terminalModeSet = false
[0;36m60 |[0;0m private var stdoutModeSet = false
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:54:46: [1;31merror: [1;39mcannot find 'winsize' in scope[0;0m
[0;36m52 |[0;0m private var startTime: TimeInterval = 0
[0;36m53 |[0;0m private var process: LocalProcess?
[0;36m54 |[0;0m private var initialWindowSize: winsize = [4;39mwinsize[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'winsize' in scope[0;0m
[0;36m55 |[0;0m private let encoder = JSONEncoder()
[0;36m56 |[0;0m private var timeoutTimer: DispatchSourceTimer?
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:57:44: [1;31merror: [1;39mcannot find 'termios' in scope[0;0m
[0;36m55 |[0;0m private let encoder = JSONEncoder()
[0;36m56 |[0;0m private var timeoutTimer: DispatchSourceTimer?
[0;36m57 |[0;0m private var originalTermios: termios = [4;39mtermios[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'termios' in scope[0;0m
[0;36m58 |[0;0m private var originalStdoutTermios: termios = termios()
[0;36m59 |[0;0m private var terminalModeSet = false
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:58:50: [1;31merror: [1;39mcannot find 'termios' in scope[0;0m
[0;36m56 |[0;0m private var timeoutTimer: DispatchSourceTimer?
[0;36m57 |[0;0m private var originalTermios: termios = termios()
[0;36m58 |[0;0m private var originalStdoutTermios: termios = [4;39mtermios[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'termios' in scope[0;0m
[0;36m59 |[0;0m private var terminalModeSet = false
[0;36m60 |[0;0m private var stdoutModeSet = false
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:381:29: [1;31merror: [1;39mcannot find type 'LocalProcessDelegate' in scope[0;0m
[0;36m379 |[0;0m }
[0;36m380 |[0;0m
[0;36m381 |[0;0m extension TermcastRecorder: [4;39mLocalProcessDelegate[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'LocalProcessDelegate' in scope[0;0m
[0;36m382 |[0;0m func processTerminated(_ source: LocalProcess, exitCode: Int32?) {
[0;36m383 |[0;0m debugMessage("[DEBUG] Process terminated with exit code: \(exitCode ?? -1)\n")
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:382:38: [1;31merror: [1;39mcannot find type 'LocalProcess' in scope[0;0m
[0;36m380 |[0;0m
[0;36m381 |[0;0m extension TermcastRecorder: LocalProcessDelegate {
[0;36m382 |[0;0m func processTerminated(_ source: [4;39mLocalProcess[0;0m, exitCode: Int32?) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'LocalProcess' in scope[0;0m
[0;36m383 |[0;0m debugMessage("[DEBUG] Process terminated with exit code: \(exitCode ?? -1)\n")
[0;36m384 |[0;0m restoreTerminalMode()
/host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift:403:29: [1;31merror: [1;39mcannot find type 'winsize' in scope[0;0m
[0;36m401 |[0;0m }
[0;36m402 |[0;0m
[0;36m403 |[0;0m func getWindowSize() -> [4;39mwinsize[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'winsize' in scope[0;0m
[0;36m404 |[0;0m return initialWindowSize
[0;36m405 |[0;0m }
Failed frontend command:
/root/.local/share/swiftly/toolchains/6.4.0/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/Termcast/AsciicastFormat.swift /host/spi-builder-workspace/Sources/Termcast/TermcastPlayer.swift /host/spi-builder-workspace/Sources/Termcast/TermcastRecorder.swift /host/spi-builder-workspace/Sources/Termcast/main.swift -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 PortableGraphics -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/SwiftTerm.build/Debug-android-aarch64/termcast-p.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTerm.build/Debug-android-aarch64/termcast-p.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTerm.build/Debug-android-aarch64/termcast-p.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Termcast -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTerm.build/Debug-android-aarch64/termcast-p.build/Objects-normal/aarch64/termcast_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 -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTerm.build/Debug-android-aarch64/termcast-p.build/Objects-normal/aarch64/Modules/Termcast.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTerm.build/Debug-android-aarch64/termcast-p.build/Objects-normal/aarch64/Modules/Termcast.swiftsourceinfo -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTerm.build/Debug-android-aarch64/termcast-p.build/Objects-normal/aarch64/termcast-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTerm.build/Debug-android-aarch64/termcast-p.build/Objects-normal/aarch64/termcast-primary-emit-module.d -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTerm.build/Debug-android-aarch64/termcast-p.build/Objects-normal/aarch64/Modules/Termcast.swiftmodule
[217 / 229] termcast-product
error: Build failed
BUILD FAILURE 6.4 android