Build Information
Failed to build SwiftTUI, reference 0.1.0 (75ae35), with Swift 6.4 for Android on 18 Sep 2026 14:30:42 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.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/rensbreur/SwiftTUI.git
Reference: 0.1.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/rensbreur/SwiftTUI
* tag 0.1.0 -> FETCH_HEAD
HEAD is now at 75ae35a Add Flags example
Cloned https://github.com/rensbreur/SwiftTUI.git
Revision (git rev-parse @):
75ae35af4115f87601657957e3332fc9eb5829d5
SUCCESS checkout https://github.com/rensbreur/SwiftTUI.git at 0.1.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/rensbreur/SwiftTUI.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:abadcff584c273feba50641b454858d377ba30b35ea7287a94f45ebd8afd0ea0
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.4-latest
Building for debugging...
[Planning deferred tasks]
[28 / 36] SwiftTUI
[29 / 36] SwiftTUI
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift failed with a nonzero exit code. Command line: cd /host
builtin-SwiftPerFileCompile Application.swift
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:39:73: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m37 |[0;0m renderer.draw()
[0;36m38 |[0;0m
[0;36m39 |[0;0m let stdInSource = DispatchSource.makeReadSource(fileDescriptor: [4;39mSTDIN_FILENO[0;0m, queue: .main)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m40 |[0;0m stdInSource.setEventHandler(qos: .default, flags: [], handler: self.handleInput)
[0;36m41 |[0;0m stdInSource.resume()
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:52:21: [1;31merror: [1;39mcannot find 'termios' in scope[0;0m
[0;36m50 |[0;0m
[0;36m51 |[0;0m private func setInputMode() {
[0;36m52 |[0;0m var tattr = [4;39mtermios[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'termios' in scope[0;0m
[0;36m53 |[0;0m tcgetattr(STDIN_FILENO, &tattr)
[0;36m54 |[0;0m #if os(Linux)
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:53:9: [1;31merror: [1;39mcannot find 'tcgetattr' in scope[0;0m
[0;36m51 |[0;0m private func setInputMode() {
[0;36m52 |[0;0m var tattr = termios()
[0;36m53 |[0;0m [4;39mtcgetattr[0;0m(STDIN_FILENO, &tattr)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'tcgetattr' in scope[0;0m
[0;36m54 |[0;0m #if os(Linux)
[0;36m55 |[0;0m tattr.c_lflag &= ~UInt32(ECHO | ICANON)
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:53:19: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m51 |[0;0m private func setInputMode() {
[0;36m52 |[0;0m var tattr = termios()
[0;36m53 |[0;0m tcgetattr([4;39mSTDIN_FILENO[0;0m, &tattr)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m54 |[0;0m #if os(Linux)
[0;36m55 |[0;0m tattr.c_lflag &= ~UInt32(ECHO | ICANON)
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:57:32: [1;31merror: [1;39mcannot find 'ECHO' in scope[0;0m
[0;36m55 |[0;0m tattr.c_lflag &= ~UInt32(ECHO | ICANON)
[0;36m56 |[0;0m #else
[0;36m57 |[0;0m tattr.c_lflag &= ~UInt([4;39mECHO[0;0m | ICANON)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'ECHO' in scope[0;0m
[0;36m58 |[0;0m #endif
[0;36m59 |[0;0m tcsetattr(STDIN_FILENO, TCSAFLUSH, &tattr);
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:57:39: [1;31merror: [1;39mcannot find 'ICANON' in scope[0;0m
[0;36m55 |[0;0m tattr.c_lflag &= ~UInt32(ECHO | ICANON)
[0;36m56 |[0;0m #else
[0;36m57 |[0;0m tattr.c_lflag &= ~UInt(ECHO | [4;39mICANON[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'ICANON' in scope[0;0m
[0;36m58 |[0;0m #endif
[0;36m59 |[0;0m tcsetattr(STDIN_FILENO, TCSAFLUSH, &tattr);
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:59:9: [1;31merror: [1;39mcannot find 'tcsetattr' in scope[0;0m
[0;36m57 |[0;0m tattr.c_lflag &= ~UInt(ECHO | ICANON)
[0;36m58 |[0;0m #endif
[0;36m59 |[0;0m [4;39mtcsetattr[0;0m(STDIN_FILENO, TCSAFLUSH, &tattr);
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'tcsetattr' in scope[0;0m
[0;36m60 |[0;0m }
[0;36m61 |[0;0m
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:59:19: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m57 |[0;0m tattr.c_lflag &= ~UInt(ECHO | ICANON)
[0;36m58 |[0;0m #endif
[0;36m59 |[0;0m tcsetattr([4;39mSTDIN_FILENO[0;0m, TCSAFLUSH, &tattr);
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m60 |[0;0m }
[0;36m61 |[0;0m
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:59:33: [1;31merror: [1;39mcannot find 'TCSAFLUSH' in scope[0;0m
[0;36m57 |[0;0m tattr.c_lflag &= ~UInt(ECHO | ICANON)
[0;36m58 |[0;0m #endif
[0;36m59 |[0;0m tcsetattr(STDIN_FILENO, [4;39mTCSAFLUSH[0;0m, &tattr);
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'TCSAFLUSH' in scope[0;0m
[0;36m60 |[0;0m }
[0;36m61 |[0;0m
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:64:13: [1;31merror: [1;39mcannot find 'read' in scope[0;0m
[0;36m62 |[0;0m private func handleInput() {
[0;36m63 |[0;0m var char: UInt8 = 0
[0;36m64 |[0;0m _ = [4;39mread[0;0m(STDIN_FILENO, &char, 1)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'read' in scope[0;0m
[0;36m65 |[0;0m
[0;36m66 |[0;0m if arrowKeyParser.parse(character: char) {
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:64:18: [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m62 |[0;0m private func handleInput() {
[0;36m63 |[0;0m var char: UInt8 = 0
[0;36m64 |[0;0m _ = read([4;39mSTDIN_FILENO[0;0m, &char, 1)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDIN_FILENO' in scope[0;0m
[0;36m65 |[0;0m
[0;36m66 |[0;0m if arrowKeyParser.parse(character: char) {
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:133:20: [1;31merror: [1;39mcannot find 'winsize' in scope[0;0m
[0;36m131 |[0;0m
[0;36m132 |[0;0m private func updateWindowSize() {
[0;36m133 |[0;0m var size = [4;39mwinsize[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'winsize' in scope[0;0m
[0;36m134 |[0;0m guard ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size) == 0 else {
[0;36m135 |[0;0m assertionFailure("Could not get window size")
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:134:15: [1;31merror: [1;39mcannot find 'ioctl' in scope[0;0m
[0;36m132 |[0;0m private func updateWindowSize() {
[0;36m133 |[0;0m var size = winsize()
[0;36m134 |[0;0m guard [4;39mioctl[0;0m(STDOUT_FILENO, UInt(TIOCGWINSZ), &size) == 0 else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'ioctl' in scope[0;0m
[0;36m135 |[0;0m assertionFailure("Could not get window size")
[0;36m136 |[0;0m return
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:134:21: [1;31merror: [1;39mcannot find 'STDOUT_FILENO' in scope[0;0m
[0;36m132 |[0;0m private func updateWindowSize() {
[0;36m133 |[0;0m var size = winsize()
[0;36m134 |[0;0m guard ioctl([4;39mSTDOUT_FILENO[0;0m, UInt(TIOCGWINSZ), &size) == 0 else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'STDOUT_FILENO' in scope[0;0m
[0;36m135 |[0;0m assertionFailure("Could not get window size")
[0;36m136 |[0;0m return
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:134:41: [1;31merror: [1;39mcannot find 'TIOCGWINSZ' in scope[0;0m
[0;36m132 |[0;0m private func updateWindowSize() {
[0;36m133 |[0;0m var size = winsize()
[0;36m134 |[0;0m guard ioctl(STDOUT_FILENO, UInt([4;39mTIOCGWINSZ[0;0m), &size) == 0 else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'TIOCGWINSZ' in scope[0;0m
[0;36m135 |[0;0m assertionFailure("Could not get window size")
[0;36m136 |[0;0m return
Failed frontend command:
/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-frontend -frontend -c /host/spi-builder-workspace/Sources/SwiftTUI/Controls/Control.swift /host/spi-builder-workspace/Sources/SwiftTUI/Controls/Window.swift /host/spi-builder-workspace/Sources/SwiftTUI/Debug/Node+logTree.swift /host/spi-builder-workspace/Sources/SwiftTUI/Debug/log.swift /host/spi-builder-workspace/Sources/SwiftTUI/Drawing/Cell.swift /host/spi-builder-workspace/Sources/SwiftTUI/Drawing/Color.swift /host/spi-builder-workspace/Sources/SwiftTUI/Drawing/Position.swift /host/spi-builder-workspace/Sources/SwiftTUI/Drawing/Rect.swift /host/spi-builder-workspace/Sources/SwiftTUI/Drawing/Rendering/Layer.swift /host/spi-builder-workspace/Sources/SwiftTUI/Drawing/Rendering/LayerDrawing.swift /host/spi-builder-workspace/Sources/SwiftTUI/Drawing/Rendering/Renderer.swift /host/spi-builder-workspace/Sources/SwiftTUI/Drawing/Size.swift -primary-file /host/spi-builder-workspace/Sources/SwiftTUI/PropertyWrappers/Binding.swift -primary-file /host/spi-builder-workspace/Sources/SwiftTUI/PropertyWrappers/State.swift -primary-file /host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift -primary-file /host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/ArrowKeyParser.swift -primary-file /host/spi-builder-workspace/Sources/SwiftTUI/SwiftTUI.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/ControlMapper.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/PrimitiveView.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/View.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/ViewContainer.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/ViewWrapper.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Merging/Alignment.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Merging/HStack.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Merging/VStack.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Modifier/Background.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Modifier/Border.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Modifier/FixedFrame.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Modifier/Padding.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Structural/EmptyView.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Structural/ForEach.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Structural/Group.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Structural/Optional+View.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Structural/TupleView.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Structural/ViewBuilder.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Structural/_ConditionalView.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Unary/Button.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Unary/Color+View.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Unary/Spacer.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Unary/Text.swift /host/spi-builder-workspace/Sources/SwiftTUI/View/Views/Unary/TextField.swift /host/spi-builder-workspace/Sources/SwiftTUI/ViewGraph/Node.swift -supplementary-output-file-map /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/supplementaryOutputs-3 -target aarch64-unknown-linux-android28 -Xllvm -aarch64-use-tbi -disable-objc-interop -sdk /android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot -sysroot /android-ndk/android-ndk-r27d/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 5 -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.x-snapshot-2026-09-04/usr/lib/swift/host/plugins/testing\#/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/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.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_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-r27d/toolchains/llvm/prebuilt/linux-x86_64/lib/clang/18 -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/SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name SwiftTUI -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/SwiftTUI_const_extract_protocols.json -in-process-plugin-server-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/lib/swift/host/plugins -plugin-path /root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/local/lib/swift/host/plugins -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/Binding.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/State.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/Application.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/ArrowKeyParser.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/SwiftTUI.o -index-unit-output-path /SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/Binding.o -index-unit-output-path /SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/State.o -index-unit-output-path /SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/Application.o -index-unit-output-path /SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/ArrowKeyParser.o -index-unit-output-path /SwiftTUI.build/Debug-android-aarch64/SwiftTUI-t.build/Objects-normal/aarch64/SwiftTUI.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: Build failed
BUILD FAILURE 6.4 android