Build Information
Failed to build Screeen, reference v3.0.0 (f8f4bf), with Swift 6.4 for Android on 27 Sep 2026 23:22:58 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/Clipy/Screeen.git
Reference: v3.0.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/Clipy/Screeen
* tag v3.0.0 -> FETCH_HEAD
HEAD is now at f8f4bfa Bump version to v3.0.0
Cloned https://github.com/Clipy/Screeen.git
Revision (git rev-parse @):
f8f4bfa6cb38cb69ec1ee104fb5ad949a92b2ae3
SUCCESS checkout https://github.com/Clipy/Screeen.git at v3.0.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/Clipy/Screeen.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]
error: SwiftCompile normal aarch64 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:13:2: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m11 |[0;0m import Foundation
[0;36m12 |[0;0m
[0;36m13 |[0;0m @objc
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m14 |[0;0m public protocol ScreenShotObserverDelegate: AnyObject {
[0;36m15 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: NSMetadataItem)
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:15:92: [1;31merror: [1;39mcannot find type 'NSMetadataItem' in scope[0;0m
[0;36m13 |[0;0m @objc
[0;36m14 |[0;0m public protocol ScreenShotObserverDelegate: AnyObject {
[0;36m15 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: [4;39mNSMetadataItem[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSMetadataItem' in scope[0;0m
[0;36m16 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, updatedItem item: NSMetadataItem)
[0;36m17 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, removedItem item: NSMetadataItem)
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:15:11: [1;31merror: [1;39m'optional' can only be applied to members of an '@objc' protocol[0;0m
[0;36m13 |[0;0m @objc
[0;36m14 |[0;0m public protocol ScreenShotObserverDelegate: AnyObject {
[0;36m15 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: NSMetadataItem)
[0;36m|[0;0m `- [1;31merror: [1;39m'optional' can only be applied to members of an '@objc' protocol[0;0m
[0;36m16 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, updatedItem item: NSMetadataItem)
[0;36m17 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, removedItem item: NSMetadataItem)
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:15:6: [1;31merror: [1;39m'@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes[0;0m
[0;36m13 |[0;0m @objc
[0;36m14 |[0;0m public protocol ScreenShotObserverDelegate: AnyObject {
[0;36m15 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: NSMetadataItem)
[0;36m|[0;0m `- [1;31merror: [1;39m'@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes[0;0m
[0;36m16 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, updatedItem item: NSMetadataItem)
[0;36m17 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, removedItem item: NSMetadataItem)
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:16:94: [1;31merror: [1;39mcannot find type 'NSMetadataItem' in scope[0;0m
[0;36m14 |[0;0m public protocol ScreenShotObserverDelegate: AnyObject {
[0;36m15 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: NSMetadataItem)
[0;36m16 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, updatedItem item: [4;39mNSMetadataItem[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSMetadataItem' in scope[0;0m
[0;36m17 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, removedItem item: NSMetadataItem)
[0;36m18 |[0;0m }
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:16:11: [1;31merror: [1;39m'optional' can only be applied to members of an '@objc' protocol[0;0m
[0;36m14 |[0;0m public protocol ScreenShotObserverDelegate: AnyObject {
[0;36m15 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: NSMetadataItem)
[0;36m16 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, updatedItem item: NSMetadataItem)
[0;36m|[0;0m `- [1;31merror: [1;39m'optional' can only be applied to members of an '@objc' protocol[0;0m
[0;36m17 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, removedItem item: NSMetadataItem)
[0;36m18 |[0;0m }
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:16:6: [1;31merror: [1;39m'@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes[0;0m
[0;36m14 |[0;0m public protocol ScreenShotObserverDelegate: AnyObject {
[0;36m15 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: NSMetadataItem)
[0;36m16 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, updatedItem item: NSMetadataItem)
[0;36m|[0;0m `- [1;31merror: [1;39m'@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes[0;0m
[0;36m17 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, removedItem item: NSMetadataItem)
[0;36m18 |[0;0m }
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:17:94: [1;31merror: [1;39mcannot find type 'NSMetadataItem' in scope[0;0m
[0;36m15 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: NSMetadataItem)
[0;36m16 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, updatedItem item: NSMetadataItem)
[0;36m17 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, removedItem item: [4;39mNSMetadataItem[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSMetadataItem' in scope[0;0m
[0;36m18 |[0;0m }
[0;36m19 |[0;0m
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:17:11: [1;31merror: [1;39m'optional' can only be applied to members of an '@objc' protocol[0;0m
[0;36m15 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: NSMetadataItem)
[0;36m16 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, updatedItem item: NSMetadataItem)
[0;36m17 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, removedItem item: NSMetadataItem)
[0;36m|[0;0m `- [1;31merror: [1;39m'optional' can only be applied to members of an '@objc' protocol[0;0m
[0;36m18 |[0;0m }
[0;36m19 |[0;0m
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:17:6: [1;31merror: [1;39m'@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes[0;0m
[0;36m15 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: NSMetadataItem)
[0;36m16 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, updatedItem item: NSMetadataItem)
[0;36m17 |[0;0m @objc optional func screenShotObserver(_ observer: ScreenShotObserver, removedItem item: NSMetadataItem)
[0;36m|[0;0m `- [1;31merror: [1;39m'@objc' can only be used with members of classes, '@objc' protocols, and concrete extensions of classes[0;0m
[0;36m18 |[0;0m }
[0;36m19 |[0;0m
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:26:25: [1;31merror: [1;39mcannot find 'NSMetadataQuery' in scope[0;0m
[0;36m24 |[0;0m public var isEnabled = true
[0;36m25 |[0;0m
[0;36m26 |[0;0m private let query = [4;39mNSMetadataQuery[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'NSMetadataQuery' in scope[0;0m
[0;36m27 |[0;0m private let notificationCenter: NotificationCenter
[0;36m28 |[0;0m
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:64:39: [1;31merror: [1;39mcannot find 'CFPreferencesCopyAppValue' in scope[0;0m
[0;36m62 |[0;0m // MARK: - Search Directories
[0;36m63 |[0;0m static func defaultSearchDirectoryPaths(
[0;36m64 |[0;0m screenshotLocation: String? = [4;39mCFPreferencesCopyAppValue[0;0m("location" as CFString, "com.apple.screencapture" as CFString) as? String,
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'CFPreferencesCopyAppValue' in scope[0;0m
[0;36m65 |[0;0m desktopDirectoryPath: String? = NSSearchPathForDirectoriesInDomains(.desktopDirectory, .userDomainMask, true).first
[0;36m66 |[0;0m ) -> [String] {
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:64:79: [1;31merror: [1;39mcannot find type 'CFString' in scope[0;0m
[0;36m62 |[0;0m // MARK: - Search Directories
[0;36m63 |[0;0m static func defaultSearchDirectoryPaths(
[0;36m64 |[0;0m screenshotLocation: String? = CFPreferencesCopyAppValue("location" as [4;39mCFString[0;0m, "com.apple.screencapture" as CFString) as? String,
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'CFString' in scope[0;0m
[0;36m65 |[0;0m desktopDirectoryPath: String? = NSSearchPathForDirectoriesInDomains(.desktopDirectory, .userDomainMask, true).first
[0;36m66 |[0;0m ) -> [String] {
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:64:118: [1;31merror: [1;39mcannot find type 'CFString' in scope[0;0m
[0;36m62 |[0;0m // MARK: - Search Directories
[0;36m63 |[0;0m static func defaultSearchDirectoryPaths(
[0;36m64 |[0;0m screenshotLocation: String? = CFPreferencesCopyAppValue("location" as CFString, "com.apple.screencapture" as [4;39mCFString[0;0m) as? String,
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'CFString' in scope[0;0m
[0;36m65 |[0;0m desktopDirectoryPath: String? = NSSearchPathForDirectoriesInDomains(.desktopDirectory, .userDomainMask, true).first
[0;36m66 |[0;0m ) -> [String] {
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:88:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m86 |[0;0m
[0;36m87 |[0;0m // MARK: - Notification
[0;36m88 |[0;0m @objc func updateQuery(_ notification: Notification) {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m89 |[0;0m guard isEnabled else { return }
[0;36m90 |[0;0m
/host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift:101:31: [1;31merror: [1;39mcannot find type 'NSMetadataQueryDelegate' in scope[0;0m
[0;36m99 |[0;0m }
[0;36m100 |[0;0m
[0;36m101 |[0;0m extension ScreenShotObserver: [4;39mNSMetadataQueryDelegate[0;0m {}
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSMetadataQueryDelegate' in scope[0;0m
[0;36m102 |[0;0m
Failed frontend command:
/root/.local/share/swiftly/toolchains/6.4.x-snapshot-2026-09-04/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Lib/Screeen/ScreenShotObserver.swift -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/Screeen.build/Debug-android-aarch64/Screeen-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Screeen.build/Debug-android-aarch64/Screeen-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Screeen.build/Debug-android-aarch64/Screeen-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Screeen -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Screeen.build/Debug-android-aarch64/Screeen-t.build/Objects-normal/aarch64/Screeen_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 -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Screeen.build/Debug-android-aarch64/Screeen-t.build/Objects-normal/aarch64/Modules/Screeen.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Screeen.build/Debug-android-aarch64/Screeen-t.build/Objects-normal/aarch64/Modules/Screeen.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Screeen.build/Debug-android-aarch64/Screeen-t.build/Objects-normal/aarch64/Screeen-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Screeen.build/Debug-android-aarch64/Screeen-t.build/Objects-normal/aarch64/Screeen-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Screeen.build/Debug-android-aarch64/Screeen-t.build/Objects-normal/aarch64/Screeen-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Screeen.build/Debug-android-aarch64/Screeen-t.build/Objects-normal/aarch64/Modules/Screeen.swiftmodule
error: Build failed
BUILD FAILURE 6.4 android