Build Information
Failed to build Introspection, reference 2.1.0 (80eac1), with Swift 6.4 for Android on 23 Sep 2026 22:33:25 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886770-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/RougeWare/Swift-Introspection.git
Reference: 2.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/RougeWare/Swift-Introspection
* tag 2.1.0 -> FETCH_HEAD
HEAD is now at 80eac12 Merge pull request #11 from RougeWare/feature/hardwareModelIdentifier-parsing
Cloned https://github.com/RougeWare/Swift-Introspection.git
Revision (git rev-parse @):
80eac12471167aa7ab8c562f76d889d51a4228a1
SUCCESS checkout https://github.com/RougeWare/Swift-Introspection.git at 2.1.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/RougeWare/Swift-Introspection.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886770-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
Fetching https://github.com/RougeWare/Swift-String-Integer-Access.git
Fetching https://github.com/RougeWare/Swift-Special-String.git
Fetching https://github.com/RougeWare/Swift-Collection-Tools.git
Fetching https://github.com/RougeWare/Swift-SemVer.git
[1/74] Fetching swift-special-string
[75/345] Fetching swift-special-string, swift-semver
[346/579] Fetching swift-special-string, swift-semver, swift-collection-tools
Fetched https://github.com/RougeWare/Swift-SemVer.git (0.47s)
[96/308] Fetching swift-special-string, swift-collection-tools
[309/400] Fetching swift-special-string, swift-collection-tools, swift-string-integer-access
Fetched https://github.com/RougeWare/Swift-Collection-Tools.git (0.49s)
Fetched https://github.com/RougeWare/Swift-Special-String.git (0.50s)
Fetched https://github.com/RougeWare/Swift-String-Integer-Access.git (0.50s)
Computing version for https://github.com/RougeWare/Swift-String-Integer-Access.git
Computed https://github.com/RougeWare/Swift-String-Integer-Access.git at 2.1.0 (0.70s)
Fetching https://github.com/RougeWare/Swift-Range-Tools.git
Fetching https://github.com/RougeWare/Swift-Safe-Collection-Access.git
[1/70] Fetching swift-range-tools
Fetched https://github.com/RougeWare/Swift-Range-Tools.git (0.45s)
[1/165] Fetching swift-safe-collection-access
Fetched https://github.com/RougeWare/Swift-Safe-Collection-Access.git (0.51s)
Computing version for https://github.com/RougeWare/Swift-Special-String.git
Computed https://github.com/RougeWare/Swift-Special-String.git at 1.2.0 (0.70s)
Computing version for https://github.com/RougeWare/Swift-Collection-Tools.git
Computed https://github.com/RougeWare/Swift-Collection-Tools.git at 3.2.1 (0.19s)
Fetching https://github.com/RougeWare/Swift-Function-Tools.git
[1/191] Fetching swift-function-tools
Fetched https://github.com/RougeWare/Swift-Function-Tools.git (0.45s)
Computing version for https://github.com/RougeWare/Swift-Range-Tools.git
Computed https://github.com/RougeWare/Swift-Range-Tools.git at 1.2.1 (0.65s)
Computing version for https://github.com/RougeWare/Swift-Function-Tools.git
Computed https://github.com/RougeWare/Swift-Function-Tools.git at 2.0.1 (0.16s)
Computing version for https://github.com/RougeWare/Swift-Safe-Collection-Access.git
Computed https://github.com/RougeWare/Swift-Safe-Collection-Access.git at 2.3.0 (0.18s)
Computing version for https://github.com/RougeWare/Swift-SemVer.git
Computed https://github.com/RougeWare/Swift-SemVer.git at 3.0.0-Beta.5 (0.18s)
Creating working copy for https://github.com/RougeWare/Swift-Range-Tools.git
Working copy of https://github.com/RougeWare/Swift-Range-Tools.git resolved at 1.2.1
Creating working copy for https://github.com/RougeWare/Swift-Collection-Tools.git
Working copy of https://github.com/RougeWare/Swift-Collection-Tools.git resolved at 3.2.1
Creating working copy for https://github.com/RougeWare/Swift-String-Integer-Access.git
Working copy of https://github.com/RougeWare/Swift-String-Integer-Access.git resolved at 2.1.0
Creating working copy for https://github.com/RougeWare/Swift-Special-String.git
Working copy of https://github.com/RougeWare/Swift-Special-String.git resolved at 1.2.0
Creating working copy for https://github.com/RougeWare/Swift-Function-Tools.git
Working copy of https://github.com/RougeWare/Swift-Function-Tools.git resolved at 2.0.1
Creating working copy for https://github.com/RougeWare/Swift-SemVer.git
Working copy of https://github.com/RougeWare/Swift-SemVer.git resolved at 3.0.0-Beta.5
Creating working copy for https://github.com/RougeWare/Swift-Safe-Collection-Access.git
Working copy of https://github.com/RougeWare/Swift-Safe-Collection-Access.git resolved at 2.3.0
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 306]
[Constructing 222 / 711]
[79 / 157] SpecialString
[94 / 157] RangeTools
[103 / 157] SemVer
[104 / 157] SemVer
[114 / 159] RangeTools
[117 / 159] FunctionTools
[130 / 178] FunctionTools
[153 / 179] FunctionTools
[165 / 182]
[167 / 184] SafeStringIntegerAccess
[177 / 189] Introspection
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/Introspection/Device\ Info.swift failed with a nonzero exit code. Command line: cd /host
builtin-SwiftPerFileCompile Device\ Info.swift
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:112:42: [1;31merror: [1;39msubscript 'subscript(orNil:)' requires that 'NSRange' (aka '_NSRange') conform to 'SafeRangeExpression'[0;0m
[0;36m110 |[0;0m
[0;36m111 |[0;0m guard let typeRange = match?.range(withName: "Type"),
[0;36m112 |[0;0m let type = identifierString[orNil: typeRange],
[0;36m|[0;0m `- [1;31merror: [1;39msubscript 'subscript(orNil:)' requires that 'NSRange' (aka '_NSRange') conform to 'SafeRangeExpression'[0;0m
[0;36m113 |[0;0m
[0;36m114 |[0;0m let versionRange = match?.range(withName: "Version"),
/host/spi-builder-workspace/.build/checkouts/Swift-Safe-Collection-Access/Sources/SafeCollectionAccess/Ranges or nil.swift:102:5: [1;39mnote: [1;39mwhere 'RangeType' = 'NSRange' (aka '_NSRange')[0;0m
[0;36m100 |[0;0m /// within `0` (inclusive) and `count` (exclusive).
[0;36m101 |[0;0m @inlinable
[0;36m102 |[0;0m subscript<RangeType>(orNil range: RangeType) -> SubSequence?
[0;36m|[0;0m `- [1;39mnote: [1;39mwhere 'RangeType' = 'NSRange' (aka '_NSRange')[0;0m
[0;36m103 |[0;0m where RangeType: SafeRangeExpression,
[0;36m104 |[0;0m RangeType.Bound == Index {
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:142:5: [1;33mwarning: [1;39m'public' modifier is redundant for struct declared in a public extension[0;0m
[0;36m140 |[0;0m
[0;36m141 |[0;0m /// Models the components of a hardware model identifier. So `"MacBookAir9,1"` would split into `{type: "MacBookAir", version: {full: "9,1", major: 9, minor: 1}}`
[0;36m142 |[0;0m public struct HardwareModelIdentifier: Hashable {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'public' modifier is redundant for struct declared in a public extension[0;0m
[0;36m143 |[0;0m
[0;36m144 |[0;0m /// The "type" portion of the hardware model identifier, like `"MacBookAir"` or `"iPhone"`
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:193:34: [1;31merror: [1;39msubscript 'subscript(orNil:)' requires that 'NSRange' (aka '_NSRange') conform to 'SafeRangeExpression'[0;0m
[0;36m191 |[0;0m .firstMatch(in: identifier, options: .anchored, range: NSRange(location: 0, length: identifier.count))?
[0;36m192 |[0;0m .range(withName: "Type"),
[0;36m193 |[0;0m let type = identifier[orNil: typeRange]
[0;36m|[0;0m `- [1;31merror: [1;39msubscript 'subscript(orNil:)' requires that 'NSRange' (aka '_NSRange') conform to 'SafeRangeExpression'[0;0m
[0;36m194 |[0;0m else {
[0;36m195 |[0;0m // Not an Apple-format identifier; just return the string itself
/host/spi-builder-workspace/.build/checkouts/Swift-Safe-Collection-Access/Sources/SafeCollectionAccess/Ranges or nil.swift:102:5: [1;39mnote: [1;39mwhere 'RangeType' = 'NSRange' (aka '_NSRange')[0;0m
[0;36m100 |[0;0m /// within `0` (inclusive) and `count` (exclusive).
[0;36m101 |[0;0m @inlinable
[0;36m102 |[0;0m subscript<RangeType>(orNil range: RangeType) -> SubSequence?
[0;36m|[0;0m `- [1;39mnote: [1;39mwhere 'RangeType' = 'NSRange' (aka '_NSRange')[0;0m
[0;36m103 |[0;0m where RangeType: SafeRangeExpression,
[0;36m104 |[0;0m RangeType.Bound == Index {
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:459:31: [1;31merror: [1;39mextra arguments at positions #3, #4, #5, #6 in call[0;0m
[0;36m453 |[0;0m // MARK: Tools
[0;36m454 |[0;0m
[0;36m455 |[0;0m private func sysctl(category: CInt, value: CInt) -> String? {
[0;36m|[0;0m `- [1;39mnote: [1;39m'sysctl(category:value:)' declared here[0;0m
[0;36m456 |[0;0m var mib = [category, value]
[0;36m457 |[0;0m
[0;36m458 |[0;0m var len: size_t = 0
[0;36m459 |[0;0m let getSizeResult = sysctl(&mib, 2, nil, &len, nil, 0)
[0;36m|[0;0m `- [1;31merror: [1;39mextra arguments at positions #3, #4, #5, #6 in call[0;0m
[0;36m460 |[0;0m guard getSizeResult == 0, len > 0 else { return nil }
[0;36m461 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:459:32: [1;31merror: [1;39mcannot convert value of type '[CInt]' (aka 'Array<Int32>') to expected argument type 'CInt' (aka 'Int32')[0;0m
[0;36m457 |[0;0m
[0;36m458 |[0;0m var len: size_t = 0
[0;36m459 |[0;0m let getSizeResult = sysctl(&mib, 2, nil, &len, nil, 0)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot convert value of type '[CInt]' (aka 'Array<Int32>') to expected argument type 'CInt' (aka 'Int32')[0;0m
[0;36m460 |[0;0m guard getSizeResult == 0, len > 0 else { return nil }
[0;36m461 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:459:41: [1;31merror: [1;39m'nil' requires a contextual type[0;0m
[0;36m457 |[0;0m
[0;36m458 |[0;0m var len: size_t = 0
[0;36m459 |[0;0m let getSizeResult = sysctl(&mib, 2, nil, &len, nil, 0)
[0;36m|[0;0m `- [1;31merror: [1;39m'nil' requires a contextual type[0;0m
[0;36m460 |[0;0m guard getSizeResult == 0, len > 0 else { return nil }
[0;36m461 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:459:52: [1;31merror: [1;39m'nil' requires a contextual type[0;0m
[0;36m457 |[0;0m
[0;36m458 |[0;0m var len: size_t = 0
[0;36m459 |[0;0m let getSizeResult = sysctl(&mib, 2, nil, &len, nil, 0)
[0;36m|[0;0m `- [1;31merror: [1;39m'nil' requires a contextual type[0;0m
[0;36m460 |[0;0m guard getSizeResult == 0, len > 0 else { return nil }
[0;36m461 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:465:27: [1;31merror: [1;39mextra arguments at positions #3, #4, #5, #6 in call[0;0m
[0;36m453 |[0;0m // MARK: Tools
[0;36m454 |[0;0m
[0;36m455 |[0;0m private func sysctl(category: CInt, value: CInt) -> String? {
[0;36m|[0;0m `- [1;39mnote: [1;39m'sysctl(category:value:)' declared here[0;0m
[0;36m456 |[0;0m var mib = [category, value]
[0;36m457 |[0;0m
[0;36m:[0;0m
[0;36m463 |[0;0m defer { buffer.deallocate() }
[0;36m464 |[0;0m
[0;36m465 |[0;0m let getResult = sysctl(&mib, 2, buffer, &len, nil, 0)
[0;36m|[0;0m `- [1;31merror: [1;39mextra arguments at positions #3, #4, #5, #6 in call[0;0m
[0;36m466 |[0;0m guard getResult == 0 else { return nil }
[0;36m467 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:465:28: [1;31merror: [1;39mcannot convert value of type '[CInt]' (aka 'Array<Int32>') to expected argument type 'CInt' (aka 'Int32')[0;0m
[0;36m463 |[0;0m defer { buffer.deallocate() }
[0;36m464 |[0;0m
[0;36m465 |[0;0m let getResult = sysctl(&mib, 2, buffer, &len, nil, 0)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot convert value of type '[CInt]' (aka 'Array<Int32>') to expected argument type 'CInt' (aka 'Int32')[0;0m
[0;36m466 |[0;0m guard getResult == 0 else { return nil }
[0;36m467 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:465:51: [1;31merror: [1;39m'nil' requires a contextual type[0;0m
[0;36m463 |[0;0m defer { buffer.deallocate() }
[0;36m464 |[0;0m
[0;36m465 |[0;0m let getResult = sysctl(&mib, 2, buffer, &len, nil, 0)
[0;36m|[0;0m `- [1;31merror: [1;39m'nil' requires a contextual type[0;0m
[0;36m466 |[0;0m guard getResult == 0 else { return nil }
[0;36m467 |[0;0m
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/Introspection/Bundle\ Reading.swift -primary-file /host/spi-builder-workspace/Sources/Introspection/Device\ Info.swift /host/spi-builder-workspace/Sources/Introspection/Introspection.swift -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Introspection.build/Debug-android-aarch64/Introspection-t.build/Objects-normal/aarch64/Device\ Info.d -emit-const-values-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Introspection.build/Debug-android-aarch64/Introspection-t.build/Objects-normal/aarch64/Device\ Info.swiftconstvalues -emit-reference-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Introspection.build/Debug-android-aarch64/Introspection-t.build/Objects-normal/aarch64/Device\ Info.swiftdeps -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Introspection.build/Debug-android-aarch64/Introspection-t.build/Objects-normal/aarch64/Device\ Info.dia -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/Introspection.build/Debug-android-aarch64/Introspection-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Introspection.build/Debug-android-aarch64/Introspection-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Introspection.build/Debug-android-aarch64/Introspection-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Introspection -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Introspection.build/Debug-android-aarch64/Introspection-t.build/Objects-normal/aarch64/Introspection_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/Introspection.build/Debug-android-aarch64/Introspection-t.build/Objects-normal/aarch64/Device\ Info.o -index-unit-output-path /Introspection.build/Debug-android-aarch64/Introspection-t.build/Objects-normal/aarch64/Device\ Info.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: Build failed
BUILD FAILURE 6.4 android