The Swift Package Index logo.Swift Package Index

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>&1

Build 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: error: cannot find 'STDIN_FILENO' in scope
 37 |         renderer.draw()
 38 |
 39 |         let stdInSource = DispatchSource.makeReadSource(fileDescriptor: STDIN_FILENO, queue: .main)
    |                                                                         `- error: cannot find 'STDIN_FILENO' in scope
 40 |         stdInSource.setEventHandler(qos: .default, flags: [], handler: self.handleInput)
 41 |         stdInSource.resume()
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:52:21: error: cannot find 'termios' in scope
 50 |
 51 |     private func setInputMode() {
 52 |         var tattr = termios()
    |                     `- error: cannot find 'termios' in scope
 53 |         tcgetattr(STDIN_FILENO, &tattr)
 54 | #if os(Linux)
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:53:9: error: cannot find 'tcgetattr' in scope
 51 |     private func setInputMode() {
 52 |         var tattr = termios()
 53 |         tcgetattr(STDIN_FILENO, &tattr)
    |         `- error: cannot find 'tcgetattr' in scope
 54 | #if os(Linux)
 55 |         tattr.c_lflag &= ~UInt32(ECHO | ICANON)
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:53:19: error: cannot find 'STDIN_FILENO' in scope
 51 |     private func setInputMode() {
 52 |         var tattr = termios()
 53 |         tcgetattr(STDIN_FILENO, &tattr)
    |                   `- error: cannot find 'STDIN_FILENO' in scope
 54 | #if os(Linux)
 55 |         tattr.c_lflag &= ~UInt32(ECHO | ICANON)
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:57:32: error: cannot find 'ECHO' in scope
 55 |         tattr.c_lflag &= ~UInt32(ECHO | ICANON)
 56 | #else
 57 |         tattr.c_lflag &= ~UInt(ECHO | ICANON)
    |                                `- error: cannot find 'ECHO' in scope
 58 | #endif
 59 |         tcsetattr(STDIN_FILENO, TCSAFLUSH, &tattr);
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:57:39: error: cannot find 'ICANON' in scope
 55 |         tattr.c_lflag &= ~UInt32(ECHO | ICANON)
 56 | #else
 57 |         tattr.c_lflag &= ~UInt(ECHO | ICANON)
    |                                       `- error: cannot find 'ICANON' in scope
 58 | #endif
 59 |         tcsetattr(STDIN_FILENO, TCSAFLUSH, &tattr);
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:59:9: error: cannot find 'tcsetattr' in scope
 57 |         tattr.c_lflag &= ~UInt(ECHO | ICANON)
 58 | #endif
 59 |         tcsetattr(STDIN_FILENO, TCSAFLUSH, &tattr);
    |         `- error: cannot find 'tcsetattr' in scope
 60 |     }
 61 |
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:59:19: error: cannot find 'STDIN_FILENO' in scope
 57 |         tattr.c_lflag &= ~UInt(ECHO | ICANON)
 58 | #endif
 59 |         tcsetattr(STDIN_FILENO, TCSAFLUSH, &tattr);
    |                   `- error: cannot find 'STDIN_FILENO' in scope
 60 |     }
 61 |
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:59:33: error: cannot find 'TCSAFLUSH' in scope
 57 |         tattr.c_lflag &= ~UInt(ECHO | ICANON)
 58 | #endif
 59 |         tcsetattr(STDIN_FILENO, TCSAFLUSH, &tattr);
    |                                 `- error: cannot find 'TCSAFLUSH' in scope
 60 |     }
 61 |
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:64:13: error: cannot find 'read' in scope
 62 |     private func handleInput() {
 63 |         var char: UInt8 = 0
 64 |         _ = read(STDIN_FILENO, &char, 1)
    |             `- error: cannot find 'read' in scope
 65 |
 66 |         if arrowKeyParser.parse(character: char) {
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:64:18: error: cannot find 'STDIN_FILENO' in scope
 62 |     private func handleInput() {
 63 |         var char: UInt8 = 0
 64 |         _ = read(STDIN_FILENO, &char, 1)
    |                  `- error: cannot find 'STDIN_FILENO' in scope
 65 |
 66 |         if arrowKeyParser.parse(character: char) {
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:133:20: error: cannot find 'winsize' in scope
131 |
132 |     private func updateWindowSize() {
133 |         var size = winsize()
    |                    `- error: cannot find 'winsize' in scope
134 |         guard ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size) == 0 else {
135 |             assertionFailure("Could not get window size")
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:134:15: error: cannot find 'ioctl' in scope
132 |     private func updateWindowSize() {
133 |         var size = winsize()
134 |         guard ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size) == 0 else {
    |               `- error: cannot find 'ioctl' in scope
135 |             assertionFailure("Could not get window size")
136 |             return
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:134:21: error: cannot find 'STDOUT_FILENO' in scope
132 |     private func updateWindowSize() {
133 |         var size = winsize()
134 |         guard ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size) == 0 else {
    |                     `- error: cannot find 'STDOUT_FILENO' in scope
135 |             assertionFailure("Could not get window size")
136 |             return
/host/spi-builder-workspace/Sources/SwiftTUI/RunLoop/Application.swift:134:41: error: cannot find 'TIOCGWINSZ' in scope
132 |     private func updateWindowSize() {
133 |         var size = winsize()
134 |         guard ioctl(STDOUT_FILENO, UInt(TIOCGWINSZ), &size) == 0 else {
    |                                         `- error: cannot find 'TIOCGWINSZ' in scope
135 |             assertionFailure("Could not get window size")
136 |             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