Build Information
Failed to build Introspection, reference 3.0.0 (708ffe), with Swift 6.4 for Android on 3 Nov 2026 12:34:13 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886768-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/RougeWare/Swift-Introspection.git
Reference: 3.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/RougeWare/Swift-Introspection
* tag 3.0.0 -> FETCH_HEAD
HEAD is now at 708ffef Merge pull request #12 from RougeWare/feature/hardwareModelIdentifier-parsing
Cloned https://github.com/RougeWare/Swift-Introspection.git
Revision (git rev-parse @):
708ffefee5553616eb4e4ca9bc54b6baa1d50fb1
SUCCESS checkout https://github.com/RougeWare/Swift-Introspection.git at 3.0.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-53886768-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/RougeWare/Swift-Special-String.git
Fetching https://github.com/RougeWare/Swift-String-Integer-Access.git
Fetching https://github.com/RougeWare/Swift-SemVer.git
Fetching https://github.com/RougeWare/Swift-Collection-Tools.git
[1/105] Fetching swift-special-string
[63/197] Fetching swift-special-string, swift-string-integer-access
[198/702] Fetching swift-special-string, swift-string-integer-access, swift-semver
[703/936] Fetching swift-special-string, swift-string-integer-access, swift-semver, swift-collection-tools
Fetched https://github.com/RougeWare/Swift-Special-String.git (0.45s)
Fetched https://github.com/RougeWare/Swift-Collection-Tools.git (0.45s)
Fetched https://github.com/RougeWare/Swift-String-Integer-Access.git (0.45s)
Fetched https://github.com/RougeWare/Swift-SemVer.git (0.45s)
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 (1.39s)
Fetching https://github.com/RougeWare/Swift-Range-Tools.git
Fetching https://github.com/RougeWare/Swift-Safe-Collection-Access.git
[1/165] Fetching swift-safe-collection-access
[155/235] Fetching swift-safe-collection-access, swift-range-tools
Fetched https://github.com/RougeWare/Swift-Range-Tools.git (0.42s)
Fetched https://github.com/RougeWare/Swift-Safe-Collection-Access.git (0.42s)
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.60s)
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.40s)
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.58s)
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.14s)
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.17s)
Computing version for https://github.com/RougeWare/Swift-Special-String.git
Computed https://github.com/RougeWare/Swift-Special-String.git at 1.3.1 (0.17s)
Fetching https://github.com/RougeWare/Swift-EssentiallyAString
[1/34] Fetching swift-essentiallyastring
Fetched https://github.com/RougeWare/Swift-EssentiallyAString (0.40s)
Computing version for https://github.com/RougeWare/Swift-EssentiallyAString
Computed https://github.com/RougeWare/Swift-EssentiallyAString at 1.0.1 (0.54s)
Computing version for https://github.com/RougeWare/Swift-SemVer.git
Computed https://github.com/RougeWare/Swift-SemVer.git at 3.0.0-Beta.6 (0.14s)
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.3.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-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-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-Safe-Collection-Access.git
Working copy of https://github.com/RougeWare/Swift-Safe-Collection-Access.git resolved at 2.3.0
Creating working copy for https://github.com/RougeWare/Swift-EssentiallyAString
Working copy of https://github.com/RougeWare/Swift-EssentiallyAString resolved at 1.0.1
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.6
warning: 'swift-semver': Conflicting identity for swift-essentiallyastring: dependency 'github.com/kynorthstar/swift-essentiallyastring' and dependency 'github.com/rougeware/swift-essentiallyastring' both point to the same package identity 'swift-essentiallyastring'. The dependencies are introduced through the following chains: (A) /host/spi-builder-workspace->github.com/rougeware/swift-semver->github.com/kynorthstar/swift-essentiallyastring (B) /host/spi-builder-workspace->github.com/rougeware/swift-special-string->github.com/rougeware/swift-essentiallyastring. If there are multiple chains that lead to the same dependency, only the first chain is shown here. To see all chains use debug output option. To resolve the conflict, coordinate with the maintainer of the package that introduces the conflicting dependency. This will be escalated to an error in future versions of SwiftPM.
warning: 'swift-semver': Conflicting identity for swift-essentiallyastring: dependency 'github.com/kynorthstar/swift-essentiallyastring' and dependency 'github.com/rougeware/swift-essentiallyastring' both point to the same package identity 'swift-essentiallyastring'. The dependencies are introduced through the following chains: (A) /host/spi-builder-workspace->github.com/rougeware/swift-semver->github.com/kynorthstar/swift-essentiallyastring (B) /host/spi-builder-workspace->github.com/rougeware/swift-special-string->github.com/rougeware/swift-essentiallyastring. If there are multiple chains that lead to the same dependency, only the first chain is shown here. To see all chains use debug output option. To resolve the conflict, coordinate with the maintainer of the package that introduces the conflicting dependency. This will be escalated to an error in future versions of SwiftPM.
Building for debugging...
[Computing dependencies]
[Constructing description]
[Pre-planning 1 / 336]
[Constructing 626 / 783]
[84 / 161] RangeTools
[95 / 161] EssentiallyAString
[97 / 161] EssentiallyAString
[99 / 161] EssentiallyAString
[103 / 161] RangeTools
[105 / 161] EssentiallyAString
[110 / 170] SpecialString
[117 / 175] EssentiallyAString
[132 / 175] SpecialString-product
[134 / 175] SpecialString
[144 / 197] SemVer
[146 / 198] CollectionTools
[154 / 199] SemVer
[155 / 199] SemVer
[163 / 199] RangeTools
[166 / 199] CollectionTools
[170 / 199]
[173 / 202] EssentiallyAString
[181 / 202]
[187 / 203] Introspection
[191 / 207] Introspection
[199 / 208] AllExcludingTests
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:176:42: [1;31merror: [1;39msubscript 'subscript(orNil:)' requires that 'NSRange' (aka '_NSRange') conform to 'SafeRangeExpression'[0;0m
[0;36m174 |[0;0m
[0;36m175 |[0;0m guard let typeRange = match?.range(withName: "Type"),
[0;36m176 |[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;36m177 |[0;0m
[0;36m178 |[0;0m let majorVersionRange = match?.range(withName: "MajorVersion"),
/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:179:56: [1;31merror: [1;39msubscript 'subscript(orNil:)' requires that 'NSRange' (aka '_NSRange') conform to 'SafeRangeExpression'[0;0m
[0;36m177 |[0;0m
[0;36m178 |[0;0m let majorVersionRange = match?.range(withName: "MajorVersion"),
[0;36m179 |[0;0m let majorVersionString = identifierString[orNil: majorVersionRange],
[0;36m|[0;0m `- [1;31merror: [1;39msubscript 'subscript(orNil:)' requires that 'NSRange' (aka '_NSRange') conform to 'SafeRangeExpression'[0;0m
[0;36m180 |[0;0m let majorVersion = Int(majorVersionString),
[0;36m181 |[0;0m
/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:183:56: [1;31merror: [1;39msubscript 'subscript(orNil:)' requires that 'NSRange' (aka '_NSRange') conform to 'SafeRangeExpression'[0;0m
[0;36m181 |[0;0m
[0;36m182 |[0;0m let minorVersionRange = match?.range(withName: "MinorVersion"),
[0;36m183 |[0;0m let minorVersionString = identifierString[orNil: minorVersionRange],
[0;36m|[0;0m `- [1;31merror: [1;39msubscript 'subscript(orNil:)' requires that 'NSRange' (aka '_NSRange') conform to 'SafeRangeExpression'[0;0m
[0;36m184 |[0;0m let minorVersion = Int(minorVersionString)
[0;36m185 |[0;0m else {
/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:470:31: [1;31merror: [1;39mextra arguments at positions #3, #4, #5, #6 in call[0;0m
[0;36m464 |[0;0m // MARK: Tools
[0;36m465 |[0;0m
[0;36m466 |[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;36m467 |[0;0m var mib = [category, value]
[0;36m468 |[0;0m
[0;36m469 |[0;0m var len: size_t = 0
[0;36m470 |[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;36m471 |[0;0m guard getSizeResult == 0, len > 0 else { return nil }
[0;36m472 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:470:32: [1;31merror: [1;39mcannot convert value of type '[CInt]' (aka 'Array<Int32>') to expected argument type 'CInt' (aka 'Int32')[0;0m
[0;36m468 |[0;0m
[0;36m469 |[0;0m var len: size_t = 0
[0;36m470 |[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;36m471 |[0;0m guard getSizeResult == 0, len > 0 else { return nil }
[0;36m472 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:470:41: [1;31merror: [1;39m'nil' requires a contextual type[0;0m
[0;36m468 |[0;0m
[0;36m469 |[0;0m var len: size_t = 0
[0;36m470 |[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;36m471 |[0;0m guard getSizeResult == 0, len > 0 else { return nil }
[0;36m472 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:470:52: [1;31merror: [1;39m'nil' requires a contextual type[0;0m
[0;36m468 |[0;0m
[0;36m469 |[0;0m var len: size_t = 0
[0;36m470 |[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;36m471 |[0;0m guard getSizeResult == 0, len > 0 else { return nil }
[0;36m472 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:476:27: [1;31merror: [1;39mextra arguments at positions #3, #4, #5, #6 in call[0;0m
[0;36m464 |[0;0m // MARK: Tools
[0;36m465 |[0;0m
[0;36m466 |[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;36m467 |[0;0m var mib = [category, value]
[0;36m468 |[0;0m
[0;36m:[0;0m
[0;36m474 |[0;0m defer { buffer.deallocate() }
[0;36m475 |[0;0m
[0;36m476 |[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;36m477 |[0;0m guard getResult == 0 else { return nil }
[0;36m478 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:476:28: [1;31merror: [1;39mcannot convert value of type '[CInt]' (aka 'Array<Int32>') to expected argument type 'CInt' (aka 'Int32')[0;0m
[0;36m474 |[0;0m defer { buffer.deallocate() }
[0;36m475 |[0;0m
[0;36m476 |[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;36m477 |[0;0m guard getResult == 0 else { return nil }
[0;36m478 |[0;0m
/host/spi-builder-workspace/Sources/Introspection/Device Info.swift:476:51: [1;31merror: [1;39m'nil' requires a contextual type[0;0m
[0;36m474 |[0;0m defer { buffer.deallocate() }
[0;36m475 |[0;0m
[0;36m476 |[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;36m477 |[0;0m guard getResult == 0 else { return nil }
[0;36m478 |[0;0m
Failed frontend command:
/root/.local/share/swiftly/toolchains/6.4.0/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-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 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.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/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 -package-name spi_builder_workspace -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.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 -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