Build Information
Failed to build SwiftTerm, reference v1.99.2 (a183c1), with Swift 6.4 for Android on 31 Oct 2026 18:00:55 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-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.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/migueldeicaza/SwiftTerm.git
Reference: v1.99.2
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.2 -> FETCH_HEAD
HEAD is now at a183c15 make LocalProcessTerminalView.dataReceived(slice:) unavailable (#742)
Cloned https://github.com/migueldeicaza/SwiftTerm.git
Revision (git rev-parse @):
a183c15b52858530a17de57dcc72b93eeebc9857
SUCCESS checkout https://github.com/migueldeicaza/SwiftTerm.git at v1.99.2
========================================
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-54344845-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:1ec638249ee9496bfd8413990a8663326bfd4883adb2b1d6b616fd753c8ff99b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Fetching https://github.com/tayloraswift/swift-png
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-argument-parser
[1/7626] Fetching swift-png
[1527/9971] Fetching swift-png, swift-docc-plugin
[4558/29291] Fetching swift-png, swift-docc-plugin, swift-argument-parser
Fetched https://github.com/apple/swift-docc-plugin (0.92s)
Fetched https://github.com/apple/swift-argument-parser (0.92s)
[3203/7626] Fetching swift-png
Fetched https://github.com/tayloraswift/swift-png (3.47s)
Computing version for https://github.com/tayloraswift/swift-png
Computed https://github.com/tayloraswift/swift-png at 4.5.2 (4.08s)
Fetching https://github.com/rarestype/h
[1/1374] Fetching h
Fetched https://github.com/rarestype/h (0.76s)
Computing version for https://github.com/rarestype/h
Computed https://github.com/rarestype/h at 1.0.1 (0.93s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (0.87s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3850] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (0.65s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.86s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.15s)
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.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
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/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 417]
[Planning deferred tasks]
[82 / 153]
[99 / 164] BaseDigits
[102 / 170] Base16
[104 / 170] SwiftTermBuildInfoGenerator-product
[115 / 170] CRC
[120 / 174] Base16
[132 / 186] CRC
[136 / 196] LZ77
[137 / 197] LZ77
[139 / 197] LZ77
[144 / 197] LZ77
[146 / 197] PNG
[147 / 197] LZ77-product
[154 / 197] ArgumentParserToolInfo
[163 / 197] ArgumentParser
[165 / 198] SwiftTermBuildInfoGenerator-product
[169 / 199] ArgumentParser-product
[170 / 199] ArgumentParser-product
[172 / 200]
[174 / 200] PNG
[178 / 209] PNG
[179 / 209] PNG
[181 / 209] PNG
[182 / 209] PNG
[188 / 209] ArgumentParser
[191 / 210]
[191 / 210] PNG
[195 / 211] SwiftTerm
[205 / 221] 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 / 230] SwiftTermFuzz-product
error: Build failed
BUILD FAILURE 6.4 android