Build Information
Failed to build swift-ssrf-guard, reference 1.0.0 (b6bb1d), with Swift 6.4 for Android on 26 Sep 2026 10:57:46 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/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/ivan-magda/swift-ssrf-guard.git
Reference: 1.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/ivan-magda/swift-ssrf-guard
* tag 1.0.0 -> FETCH_HEAD
HEAD is now at b6bb1d3 Initial commit: SSRFGuard - classify safe egress vs private/reserved IP targets for Swift
Cloned https://github.com/ivan-magda/swift-ssrf-guard.git
Revision (git rev-parse @):
b6bb1d334df2f1a094b00af1d516482438cb93ca
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ivan-magda/swift-ssrf-guard.git at 1.0.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.4
Building package at path: $PWD
https://github.com/ivan-magda/swift-ssrf-guard.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/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/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin (0.52s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (1.62s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3831] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (0.55s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.80s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.5.0
Building for debugging...
[Planning deferred tasks]
[27 / 35] SSRFGuard
[32 / 35] SSRFGuard
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift failed with a nonzero exit code. Command line: cd /host
builtin-SwiftPerFileCompile ResolvedAddress.swift
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:19:21: [1;31merror: [1;39mcannot find 'in_addr' in scope[0;0m
[0;36m17 |[0;0m /// Parses a textual IPv4/IPv6 literal via `inet_pton`; nil for anything else.
[0;36m18 |[0;0m public static func parse(_ text: String) -> ResolvedAddress? {
[0;36m19 |[0;0m var v4Address = [4;39min_addr[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'in_addr' in scope[0;0m
[0;36m20 |[0;0m if inet_pton(AF_INET, text, &v4Address) == 1 {
[0;36m21 |[0;0m return .ipv4(UInt32(bigEndian: v4Address.s_addr))
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:20:8: [1;31merror: [1;39mcannot find 'inet_pton' in scope[0;0m
[0;36m18 |[0;0m public static func parse(_ text: String) -> ResolvedAddress? {
[0;36m19 |[0;0m var v4Address = in_addr()
[0;36m20 |[0;0m if [4;39minet_pton[0;0m(AF_INET, text, &v4Address) == 1 {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'inet_pton' in scope[0;0m
[0;36m21 |[0;0m return .ipv4(UInt32(bigEndian: v4Address.s_addr))
[0;36m22 |[0;0m }
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:20:18: [1;31merror: [1;39mcannot find 'AF_INET' in scope[0;0m
[0;36m18 |[0;0m public static func parse(_ text: String) -> ResolvedAddress? {
[0;36m19 |[0;0m var v4Address = in_addr()
[0;36m20 |[0;0m if inet_pton([4;39mAF_INET[0;0m, text, &v4Address) == 1 {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'AF_INET' in scope[0;0m
[0;36m21 |[0;0m return .ipv4(UInt32(bigEndian: v4Address.s_addr))
[0;36m22 |[0;0m }
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:24:21: [1;31merror: [1;39mcannot find 'in6_addr' in scope[0;0m
[0;36m22 |[0;0m }
[0;36m23 |[0;0m
[0;36m24 |[0;0m var v6Address = [4;39min6_addr[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'in6_addr' in scope[0;0m
[0;36m25 |[0;0m if inet_pton(AF_INET6, text, &v6Address) == 1 {
[0;36m26 |[0;0m let bytes = withUnsafeBytes(of: &v6Address) { raw in Array(raw) }
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:25:8: [1;31merror: [1;39mcannot find 'inet_pton' in scope[0;0m
[0;36m23 |[0;0m
[0;36m24 |[0;0m var v6Address = in6_addr()
[0;36m25 |[0;0m if [4;39minet_pton[0;0m(AF_INET6, text, &v6Address) == 1 {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'inet_pton' in scope[0;0m
[0;36m26 |[0;0m let bytes = withUnsafeBytes(of: &v6Address) { raw in Array(raw) }
[0;36m27 |[0;0m return .ipv6(bytes)
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:25:18: [1;31merror: [1;39mcannot find 'AF_INET6' in scope[0;0m
[0;36m23 |[0;0m
[0;36m24 |[0;0m var v6Address = in6_addr()
[0;36m25 |[0;0m if inet_pton([4;39mAF_INET6[0;0m, text, &v6Address) == 1 {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'AF_INET6' in scope[0;0m
[0;36m26 |[0;0m let bytes = withUnsafeBytes(of: &v6Address) { raw in Array(raw) }
[0;36m27 |[0;0m return .ipv6(bytes)
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:44:21: [1;31merror: [1;39mcannot find 'in_addr' in scope[0;0m
[0;36m42 |[0;0m }
[0;36m43 |[0;0m
[0;36m44 |[0;0m var v4Address = [4;39min_addr[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'in_addr' in scope[0;0m
[0;36m45 |[0;0m return host.withCString { pointer in
[0;36m46 |[0;0m inet_aton(pointer, &v4Address) != 0
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:46:7: [1;31merror: [1;39mcannot find 'inet_aton' in scope[0;0m
[0;36m44 |[0;0m var v4Address = in_addr()
[0;36m45 |[0;0m return host.withCString { pointer in
[0;36m46 |[0;0m [4;39minet_aton[0;0m(pointer, &v4Address) != 0
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'inet_aton' in scope[0;0m
[0;36m47 |[0;0m }
[0;36m48 |[0;0m }
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:57:17: [1;31merror: [1;39mcannot find 'in_addr' in scope[0;0m
[0;36m55 |[0;0m switch self {
[0;36m56 |[0;0m case .ipv4(let value):
[0;36m57 |[0;0m var raw = [4;39min_addr[0;0m(s_addr: value.bigEndian)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'in_addr' in scope[0;0m
[0;36m58 |[0;0m var buffer = [CChar](repeating: 0, count: Int(INET_ADDRSTRLEN))
[0;36m59 |[0;0m
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:58:53: [1;31merror: [1;39mcannot find 'INET_ADDRSTRLEN' in scope[0;0m
[0;36m56 |[0;0m case .ipv4(let value):
[0;36m57 |[0;0m var raw = in_addr(s_addr: value.bigEndian)
[0;36m58 |[0;0m var buffer = [CChar](repeating: 0, count: Int([4;39mINET_ADDRSTRLEN[0;0m))
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'INET_ADDRSTRLEN' in scope[0;0m
[0;36m59 |[0;0m
[0;36m60 |[0;0m guard inet_ntop(AF_INET, &raw, &buffer, socklen_t(INET_ADDRSTRLEN)) != nil else {
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:60:13: [1;31merror: [1;39mcannot find 'inet_ntop' in scope[0;0m
[0;36m58 |[0;0m var buffer = [CChar](repeating: 0, count: Int(INET_ADDRSTRLEN))
[0;36m59 |[0;0m
[0;36m60 |[0;0m guard [4;39minet_ntop[0;0m(AF_INET, &raw, &buffer, socklen_t(INET_ADDRSTRLEN)) != nil else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'inet_ntop' in scope[0;0m
[0;36m61 |[0;0m return "invalid-ipv4"
[0;36m62 |[0;0m }
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:60:23: [1;31merror: [1;39mcannot find 'AF_INET' in scope[0;0m
[0;36m58 |[0;0m var buffer = [CChar](repeating: 0, count: Int(INET_ADDRSTRLEN))
[0;36m59 |[0;0m
[0;36m60 |[0;0m guard inet_ntop([4;39mAF_INET[0;0m, &raw, &buffer, socklen_t(INET_ADDRSTRLEN)) != nil else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'AF_INET' in scope[0;0m
[0;36m61 |[0;0m return "invalid-ipv4"
[0;36m62 |[0;0m }
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:60:57: [1;31merror: [1;39mcannot find 'INET_ADDRSTRLEN' in scope[0;0m
[0;36m58 |[0;0m var buffer = [CChar](repeating: 0, count: Int(INET_ADDRSTRLEN))
[0;36m59 |[0;0m
[0;36m60 |[0;0m guard inet_ntop(AF_INET, &raw, &buffer, socklen_t([4;39mINET_ADDRSTRLEN[0;0m)) != nil else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'INET_ADDRSTRLEN' in scope[0;0m
[0;36m61 |[0;0m return "invalid-ipv4"
[0;36m62 |[0;0m }
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:75:17: [1;31merror: [1;39mcannot find 'in6_addr' in scope[0;0m
[0;36m73 |[0;0m }
[0;36m74 |[0;0m
[0;36m75 |[0;0m var raw = [4;39min6_addr[0;0m()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'in6_addr' in scope[0;0m
[0;36m76 |[0;0m withUnsafeMutableBytes(of: &raw) { destination in
[0;36m77 |[0;0m destination.copyBytes(from: bytes)
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:80:53: [1;31merror: [1;39mcannot find 'INET6_ADDRSTRLEN' in scope[0;0m
[0;36m78 |[0;0m }
[0;36m79 |[0;0m
[0;36m80 |[0;0m var buffer = [CChar](repeating: 0, count: Int([4;39mINET6_ADDRSTRLEN[0;0m))
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'INET6_ADDRSTRLEN' in scope[0;0m
[0;36m81 |[0;0m guard inet_ntop(AF_INET6, &raw, &buffer, socklen_t(INET6_ADDRSTRLEN)) != nil else {
[0;36m82 |[0;0m return "invalid-ipv6"
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:81:13: [1;31merror: [1;39mcannot find 'inet_ntop' in scope[0;0m
[0;36m79 |[0;0m
[0;36m80 |[0;0m var buffer = [CChar](repeating: 0, count: Int(INET6_ADDRSTRLEN))
[0;36m81 |[0;0m guard [4;39minet_ntop[0;0m(AF_INET6, &raw, &buffer, socklen_t(INET6_ADDRSTRLEN)) != nil else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'inet_ntop' in scope[0;0m
[0;36m82 |[0;0m return "invalid-ipv6"
[0;36m83 |[0;0m }
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:81:23: [1;31merror: [1;39mcannot find 'AF_INET6' in scope[0;0m
[0;36m79 |[0;0m
[0;36m80 |[0;0m var buffer = [CChar](repeating: 0, count: Int(INET6_ADDRSTRLEN))
[0;36m81 |[0;0m guard inet_ntop([4;39mAF_INET6[0;0m, &raw, &buffer, socklen_t(INET6_ADDRSTRLEN)) != nil else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'AF_INET6' in scope[0;0m
[0;36m82 |[0;0m return "invalid-ipv6"
[0;36m83 |[0;0m }
/host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift:81:58: [1;31merror: [1;39mcannot find 'INET6_ADDRSTRLEN' in scope[0;0m
[0;36m79 |[0;0m
[0;36m80 |[0;0m var buffer = [CChar](repeating: 0, count: Int(INET6_ADDRSTRLEN))
[0;36m81 |[0;0m guard inet_ntop(AF_INET6, &raw, &buffer, socklen_t([4;39mINET6_ADDRSTRLEN[0;0m)) != nil else {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'INET6_ADDRSTRLEN' in scope[0;0m
[0;36m82 |[0;0m return "invalid-ipv6"
[0;36m83 |[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/SSRFGuard/Address/CIDR.swift -primary-file /host/spi-builder-workspace/Sources/SSRFGuard/Address/ResolvedAddress.swift /host/spi-builder-workspace/Sources/SSRFGuard/Classifier/Classification.swift /host/spi-builder-workspace/Sources/SSRFGuard/Classifier/EgressClassifier.swift /host/spi-builder-workspace/Sources/SSRFGuard/Classifier/EgressPolicy.swift /host/spi-builder-workspace/Sources/SSRFGuard/Resolver/AddressResolving.swift /host/spi-builder-workspace/Sources/SSRFGuard/Resolver/SystemAddressResolver.swift -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-ssrf-guard.build/Debug-android-aarch64/SSRFGuard-t.build/Objects-normal/aarch64/ResolvedAddress.d -emit-const-values-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-ssrf-guard.build/Debug-android-aarch64/SSRFGuard-t.build/Objects-normal/aarch64/ResolvedAddress.swiftconstvalues -emit-reference-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-ssrf-guard.build/Debug-android-aarch64/SSRFGuard-t.build/Objects-normal/aarch64/ResolvedAddress.swiftdeps -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-ssrf-guard.build/Debug-android-aarch64/SSRFGuard-t.build/Objects-normal/aarch64/ResolvedAddress.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 6 -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/swift-ssrf-guard.build/Debug-android-aarch64/SSRFGuard-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-ssrf-guard.build/Debug-android-aarch64/SSRFGuard-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-ssrf-guard.build/Debug-android-aarch64/SSRFGuard-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name SSRFGuard -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-ssrf-guard.build/Debug-android-aarch64/SSRFGuard-t.build/Objects-normal/aarch64/SSRFGuard_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/swift-ssrf-guard.build/Debug-android-aarch64/SSRFGuard-t.build/Objects-normal/aarch64/ResolvedAddress.o -index-unit-output-path /swift-ssrf-guard.build/Debug-android-aarch64/SSRFGuard-t.build/Objects-normal/aarch64/ResolvedAddress.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: Build failed
BUILD FAILURE 6.4 android