The Swift Package Index logo.Swift Package Index

Build Information

Failed to build swift-tailscale-client, reference v1.0.0 (d0769f), with Swift 6.4 for Android on 28 Sep 2026 08:43:06 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344844-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/dweekly/swift-tailscale-client.git
Reference: v1.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/dweekly/swift-tailscale-client
 * tag               v1.0.0     -> FETCH_HEAD
HEAD is now at d0769f8 Release v1.0.0: Apple-platform Tailscale LocalAPI client
Cloned https://github.com/dweekly/swift-tailscale-client.git
Revision (git rev-parse @):
d0769f8e196fb21a8e7c7fbff7458e24df7d891c
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/dweekly/swift-tailscale-client.git at v1.0.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.4
Building package at path:  $PWD
https://github.com/dweekly/swift-tailscale-client.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-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/apple/swift-argument-parser
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2345] Fetching swift-docc-plugin
[2276/21293] Fetching swift-docc-plugin, swift-argument-parser
Fetched https://github.com/swiftlang/swift-docc-plugin (0.60s)
[758/18948] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser (0.81s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.5.0 (1.90s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3831] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit (0.61s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.85s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.18s)
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
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Building for debugging...
[Constructing description]
[Planning deferred tasks]
[50 / 84] TailscaleClient
[57 / 93] TailscaleClient
[58 / 93] ArgumentParserToolInfo
[68 / 93] ArgumentParserToolInfo
[69 / 94] TailscaleClientMocks
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/TailscaleClient/Support/DiscoveryLog.swift failed with a nonzero exit code. Command line:     cd /host
    builtin-SwiftPerFileCompile DiscoveryLog.swift
/host/spi-builder-workspace/Sources/TailscaleClient/Support/DiscoveryLog.swift:43:11: error: cannot find 'write' in scope
41 |     let bytes = Array((message + "\n").utf8)
42 |     bytes.withUnsafeBufferPointer { buffer in
43 |       _ = write(2, buffer.baseAddress, buffer.count)
   |           `- error: cannot find 'write' in scope
44 |     }
45 |   }
/host/spi-builder-workspace/Sources/TailscaleClient/TailscaleClient.swift:167:28: warning: 'withValue(_:operation:isolation:file:line:)' is deprecated: Prefer the 'nonisolated(nonsending)' overload with stricter execution on caller context semantics: withValue(_:operation:file:line:) [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 165 |     operation: () async throws -> T
 166 |   ) async rethrows -> T {
 167 |     try await $auditReason.withValue(reason, operation: operation)
     |                            `- warning: 'withValue(_:operation:isolation:file:line:)' is deprecated: Prefer the 'nonisolated(nonsending)' overload with stricter execution on caller context semantics: withValue(_:operation:file:line:) [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 168 |   }
 169 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
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/TailscaleClient/Configuration/EndpointSource.swift /host/spi-builder-workspace/Sources/TailscaleClient/Configuration/LocalAPIDiscovery.swift /host/spi-builder-workspace/Sources/TailscaleClient/Configuration/LocalAPIDiscoveryError.swift /host/spi-builder-workspace/Sources/TailscaleClient/Configuration/TailscaleClientConfiguration.swift /host/spi-builder-workspace/Sources/TailscaleClient/DaemonControlAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/Experimental.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/Certificates.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/DERPMap.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/DNSDiagnostics.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/DaemonControl.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/ExitNodeSuggestion.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/IPNBusEvent.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/IPNNotify.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/JSONValue.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/LoginProfile.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/MaskedPrefs.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/OptionalFeatures.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/PingResult.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/PrefsResponse.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/ServeConfig.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/ServeConfigSnapshot.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/Services.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/StatusQuery.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/StatusResponse.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/StreamBufferBounds.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/StreamRetryPolicy.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/WhoIsResponse.swift /host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/Netcheck.swift /host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift /host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/STUN.swift /host/spi-builder-workspace/Sources/TailscaleClient/Platform/MacClientInfo.swift /host/spi-builder-workspace/Sources/TailscaleClient/Platform/NetworkInterfaceDiscovery.swift /host/spi-builder-workspace/Sources/TailscaleClient/ProfilesAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/ServeAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/StableParityAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/Support/DecodingSupport.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Support/DiscoveryLog.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Support/IPNBusBoundedQueue.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Support/IPNBusStreamContext.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/TailscaleClient.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Transport/ChunkedTransferDecoder.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/HTTPWireFormat.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/StreamingResponse.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/TailscaleTransport.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/TransportByteBoundedQueue.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift -supplementary-output-file-map /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/supplementaryOutputs-7 -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-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name TailscaleClient -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/TailscaleClient_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-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/DiscoveryLog.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/IPNBusBoundedQueue.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/IPNBusStreamContext.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/TailscaleClient.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/ChunkedTransferDecoder.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/DiscoveryLog.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/IPNBusBoundedQueue.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/IPNBusStreamContext.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/TailscaleClient.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/ChunkedTransferDecoder.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
/host/spi-builder-workspace/Sources/TailscaleClient/Models/ServeConfig.swift:78:10: warning: 'etag' is deprecated: Use ServeConfigSnapshot.etag instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 76 |     self.allowFunnel = allowFunnel
 77 |     self.foreground = foreground
 78 |     self.etag = etag
    |          `- warning: 'etag' is deprecated: Use ServeConfigSnapshot.etag instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
 79 |     self._unmodeledFields = unmodeledFields
 80 |   }
/host/spi-builder-workspace/Sources/TailscaleClient/Models/ServeConfig.swift:116:5: warning: 'etag' is deprecated: Use ServeConfigSnapshot.etag instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
114 |     foreground =
115 |       try container.decodeIfPresent([String: ServeConfig].self, forKey: .foreground) ?? [:]
116 |     etag = nil
    |     `- warning: 'etag' is deprecated: Use ServeConfigSnapshot.etag instead [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
117 |
118 |     let dynamicContainer = try decoder.container(keyedBy: AnyCodingKey.self)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift failed with a nonzero exit code. Command line:     cd /host
    builtin-SwiftPerFileCompile NetcheckProbe.swift
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:79:26: error: cannot find 'close' in scope
 77 |     var socketV6: Int32 = -1
 78 |     defer {
 79 |       if socketV4 >= 0 { close(socketV4) }
    |                          `- error: cannot find 'close' in scope
 80 |       if socketV6 >= 0 { close(socketV6) }
 81 |     }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:80:26: error: cannot find 'close' in scope
 78 |     defer {
 79 |       if socketV4 >= 0 { close(socketV4) }
 80 |       if socketV6 >= 0 { close(socketV6) }
    |                          `- error: cannot find 'close' in scope
 81 |     }
 82 |
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:90:23: error: cannot find 'socket' in scope
 88 |         sendFD = fd
 89 |       } else {
 90 |         let created = socket(candidate.ipv6 ? AF_INET6 : AF_INET, datagramSocketType, 0)
    |                       `- error: cannot find 'socket' in scope
 91 |         guard created >= 0 else { continue }
 92 |         if candidate.ipv6 { socketV6 = created } else { socketV4 = created }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:90:47: error: cannot find 'AF_INET6' in scope
 88 |         sendFD = fd
 89 |       } else {
 90 |         let created = socket(candidate.ipv6 ? AF_INET6 : AF_INET, datagramSocketType, 0)
    |                                               `- error: cannot find 'AF_INET6' in scope
 91 |         guard created >= 0 else { continue }
 92 |         if candidate.ipv6 { socketV6 = created } else { socketV4 = created }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:90:58: error: cannot find 'AF_INET' in scope
 88 |         sendFD = fd
 89 |       } else {
 90 |         let created = socket(candidate.ipv6 ? AF_INET6 : AF_INET, datagramSocketType, 0)
    |                                                          `- error: cannot find 'AF_INET' in scope
 91 |         guard created >= 0 else { continue }
 92 |         if candidate.ipv6 { socketV6 = created } else { socketV4 = created }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:100:11: error: cannot find 'sendto' in scope
 98 |       let sent = request.withUnsafeBytes { payload in
 99 |         address.withUnsafeBytes { raw in
100 |           sendto(
    |           `- error: cannot find 'sendto' in scope
101 |             sendFD, payload.baseAddress, payload.count, 0,
102 |             raw.baseAddress!.assumingMemoryBound(to: sockaddr.self),
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:102:54: error: cannot find 'sockaddr' in scope
100 |           sendto(
101 |             sendFD, payload.baseAddress, payload.count, 0,
102 |             raw.baseAddress!.assumingMemoryBound(to: sockaddr.self),
    |                                                      `- error: cannot find 'sockaddr' in scope
103 |             socklen_t(address.count))
104 |         }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:117:25: error: cannot find type 'pollfd' in scope
115 |     var buffer = [UInt8](repeating: 0, count: 2048)
116 |     while !inFlight.isEmpty, ContinuousClock.now < deadline, !Task.isCancelled {
117 |       var descriptors: [pollfd] = []
    |                         `- error: cannot find type 'pollfd' in scope
118 |       for fd in [socketV4, socketV6] where fd >= 0 {
119 |         descriptors.append(pollfd(fd: fd, events: Int16(POLLIN), revents: 0))
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:119:28: error: cannot find 'pollfd' in scope
117 |       var descriptors: [pollfd] = []
118 |       for fd in [socketV4, socketV6] where fd >= 0 {
119 |         descriptors.append(pollfd(fd: fd, events: Int16(POLLIN), revents: 0))
    |                            `- error: cannot find 'pollfd' in scope
120 |       }
121 |       let ready = poll(&descriptors, nfds_t(descriptors.count), 100)
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:119:57: error: cannot find 'POLLIN' in scope
117 |       var descriptors: [pollfd] = []
118 |       for fd in [socketV4, socketV6] where fd >= 0 {
119 |         descriptors.append(pollfd(fd: fd, events: Int16(POLLIN), revents: 0))
    |                                                         `- error: cannot find 'POLLIN' in scope
120 |       }
121 |       let ready = poll(&descriptors, nfds_t(descriptors.count), 100)
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:121:19: error: cannot find 'poll' in scope
119 |         descriptors.append(pollfd(fd: fd, events: Int16(POLLIN), revents: 0))
120 |       }
121 |       let ready = poll(&descriptors, nfds_t(descriptors.count), 100)
    |                   `- error: cannot find 'poll' in scope
122 |       if ready < 0 {
123 |         if errno == EINTR { continue }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:121:38: error: cannot find 'nfds_t' in scope
119 |         descriptors.append(pollfd(fd: fd, events: Int16(POLLIN), revents: 0))
120 |       }
121 |       let ready = poll(&descriptors, nfds_t(descriptors.count), 100)
    |                                      `- error: cannot find 'nfds_t' in scope
122 |       if ready < 0 {
123 |         if errno == EINTR { continue }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:123:12: error: cannot find 'errno' in scope
121 |       let ready = poll(&descriptors, nfds_t(descriptors.count), 100)
122 |       if ready < 0 {
123 |         if errno == EINTR { continue }
    |            `- error: cannot find 'errno' in scope
124 |         break
125 |       }
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:129:24: error: cannot find 'recv' in scope
127 |
128 |       for descriptor in descriptors where descriptor.revents & Int16(POLLIN) != 0 {
129 |         let received = recv(descriptor.fd, &buffer, buffer.count, 0)
    |                        `- error: cannot find 'recv' in scope
130 |         guard received > 0 else { continue }
131 |         let now = ContinuousClock.now
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:161:21: error: cannot find 'sockaddr_in6' in scope
159 |   private static func sockaddrBytes(ip: String, port: Int, ipv6: Bool) -> [UInt8]? {
160 |     if ipv6 {
161 |       var address = sockaddr_in6()
    |                     `- error: cannot find 'sockaddr_in6' in scope
162 |       address.sin6_family = sa_family_t(AF_INET6)
163 |       address.sin6_port = in_port_t(UInt16(port).bigEndian)
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:162:29: error: cannot find 'sa_family_t' in scope
160 |     if ipv6 {
161 |       var address = sockaddr_in6()
162 |       address.sin6_family = sa_family_t(AF_INET6)
    |                             `- error: cannot find 'sa_family_t' in scope
163 |       address.sin6_port = in_port_t(UInt16(port).bigEndian)
164 |       guard inet_pton(AF_INET6, ip, &address.sin6_addr) == 1 else { return nil }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:162:41: error: cannot find 'AF_INET6' in scope
160 |     if ipv6 {
161 |       var address = sockaddr_in6()
162 |       address.sin6_family = sa_family_t(AF_INET6)
    |                                         `- error: cannot find 'AF_INET6' in scope
163 |       address.sin6_port = in_port_t(UInt16(port).bigEndian)
164 |       guard inet_pton(AF_INET6, ip, &address.sin6_addr) == 1 else { return nil }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:163:27: error: cannot find 'in_port_t' in scope
161 |       var address = sockaddr_in6()
162 |       address.sin6_family = sa_family_t(AF_INET6)
163 |       address.sin6_port = in_port_t(UInt16(port).bigEndian)
    |                           `- error: cannot find 'in_port_t' in scope
164 |       guard inet_pton(AF_INET6, ip, &address.sin6_addr) == 1 else { return nil }
165 |       return withUnsafeBytes(of: &address) { [UInt8]($0) }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:163:25: error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
161 |       var address = sockaddr_in6()
162 |       address.sin6_family = sa_family_t(AF_INET6)
163 |       address.sin6_port = in_port_t(UInt16(port).bigEndian)
    |                         `- error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
164 |       guard inet_pton(AF_INET6, ip, &address.sin6_addr) == 1 else { return nil }
165 |       return withUnsafeBytes(of: &address) { [UInt8]($0) }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:164:13: error: cannot find 'inet_pton' in scope
162 |       address.sin6_family = sa_family_t(AF_INET6)
163 |       address.sin6_port = in_port_t(UInt16(port).bigEndian)
164 |       guard inet_pton(AF_INET6, ip, &address.sin6_addr) == 1 else { return nil }
    |             `- error: cannot find 'inet_pton' in scope
165 |       return withUnsafeBytes(of: &address) { [UInt8]($0) }
166 |     }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:164:23: error: cannot find 'AF_INET6' in scope
162 |       address.sin6_family = sa_family_t(AF_INET6)
163 |       address.sin6_port = in_port_t(UInt16(port).bigEndian)
164 |       guard inet_pton(AF_INET6, ip, &address.sin6_addr) == 1 else { return nil }
    |                       `- error: cannot find 'AF_INET6' in scope
165 |       return withUnsafeBytes(of: &address) { [UInt8]($0) }
166 |     }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:167:19: error: cannot find 'sockaddr_in' in scope
165 |       return withUnsafeBytes(of: &address) { [UInt8]($0) }
166 |     }
167 |     var address = sockaddr_in()
    |                   `- error: cannot find 'sockaddr_in' in scope
168 |     address.sin_family = sa_family_t(AF_INET)
169 |     address.sin_port = in_port_t(UInt16(port).bigEndian)
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:168:26: error: cannot find 'sa_family_t' in scope
166 |     }
167 |     var address = sockaddr_in()
168 |     address.sin_family = sa_family_t(AF_INET)
    |                          `- error: cannot find 'sa_family_t' in scope
169 |     address.sin_port = in_port_t(UInt16(port).bigEndian)
170 |     guard inet_pton(AF_INET, ip, &address.sin_addr) == 1 else { return nil }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:168:38: error: cannot find 'AF_INET' in scope
166 |     }
167 |     var address = sockaddr_in()
168 |     address.sin_family = sa_family_t(AF_INET)
    |                                      `- error: cannot find 'AF_INET' in scope
169 |     address.sin_port = in_port_t(UInt16(port).bigEndian)
170 |     guard inet_pton(AF_INET, ip, &address.sin_addr) == 1 else { return nil }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:169:24: error: cannot find 'in_port_t' in scope
167 |     var address = sockaddr_in()
168 |     address.sin_family = sa_family_t(AF_INET)
169 |     address.sin_port = in_port_t(UInt16(port).bigEndian)
    |                        `- error: cannot find 'in_port_t' in scope
170 |     guard inet_pton(AF_INET, ip, &address.sin_addr) == 1 else { return nil }
171 |     return withUnsafeBytes(of: &address) { [UInt8]($0) }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:169:22: error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
167 |     var address = sockaddr_in()
168 |     address.sin_family = sa_family_t(AF_INET)
169 |     address.sin_port = in_port_t(UInt16(port).bigEndian)
    |                      `- error: failed to produce diagnostic for expression; please submit a bug report (https://swift.org/contributing/#reporting-bugs)
170 |     guard inet_pton(AF_INET, ip, &address.sin_addr) == 1 else { return nil }
171 |     return withUnsafeBytes(of: &address) { [UInt8]($0) }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:170:11: error: cannot find 'inet_pton' in scope
168 |     address.sin_family = sa_family_t(AF_INET)
169 |     address.sin_port = in_port_t(UInt16(port).bigEndian)
170 |     guard inet_pton(AF_INET, ip, &address.sin_addr) == 1 else { return nil }
    |           `- error: cannot find 'inet_pton' in scope
171 |     return withUnsafeBytes(of: &address) { [UInt8]($0) }
172 |   }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:170:21: error: cannot find 'AF_INET' in scope
168 |     address.sin_family = sa_family_t(AF_INET)
169 |     address.sin_port = in_port_t(UInt16(port).bigEndian)
170 |     guard inet_pton(AF_INET, ip, &address.sin_addr) == 1 else { return nil }
    |                     `- error: cannot find 'AF_INET' in scope
171 |     return withUnsafeBytes(of: &address) { [UInt8]($0) }
172 |   }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:175:17: error: cannot find 'addrinfo' in scope
173 |
174 |   private static func resolveHostname(_ host: String, port: Int, ipv6: Bool) -> [UInt8]? {
175 |     var hints = addrinfo()
    |                 `- error: cannot find 'addrinfo' in scope
176 |     hints.ai_family = ipv6 ? AF_INET6 : AF_INET
177 |     hints.ai_socktype = datagramSocketType
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:176:30: error: cannot find 'AF_INET6' in scope
174 |   private static func resolveHostname(_ host: String, port: Int, ipv6: Bool) -> [UInt8]? {
175 |     var hints = addrinfo()
176 |     hints.ai_family = ipv6 ? AF_INET6 : AF_INET
    |                              `- error: cannot find 'AF_INET6' in scope
177 |     hints.ai_socktype = datagramSocketType
178 |     var list: UnsafeMutablePointer<addrinfo>?
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:176:41: error: cannot find 'AF_INET' in scope
174 |   private static func resolveHostname(_ host: String, port: Int, ipv6: Bool) -> [UInt8]? {
175 |     var hints = addrinfo()
176 |     hints.ai_family = ipv6 ? AF_INET6 : AF_INET
    |                                         `- error: cannot find 'AF_INET' in scope
177 |     hints.ai_socktype = datagramSocketType
178 |     var list: UnsafeMutablePointer<addrinfo>?
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:178:36: error: cannot find type 'addrinfo' in scope
176 |     hints.ai_family = ipv6 ? AF_INET6 : AF_INET
177 |     hints.ai_socktype = datagramSocketType
178 |     var list: UnsafeMutablePointer<addrinfo>?
    |                                    `- error: cannot find type 'addrinfo' in scope
179 |     guard getaddrinfo(host, String(port), &hints, &list) == 0, let first = list else { return nil }
180 |     defer { freeaddrinfo(list) }
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:179:11: error: cannot find 'getaddrinfo' in scope
177 |     hints.ai_socktype = datagramSocketType
178 |     var list: UnsafeMutablePointer<addrinfo>?
179 |     guard getaddrinfo(host, String(port), &hints, &list) == 0, let first = list else { return nil }
    |           `- error: cannot find 'getaddrinfo' in scope
180 |     defer { freeaddrinfo(list) }
181 |
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:180:13: error: cannot find 'freeaddrinfo' in scope
178 |     var list: UnsafeMutablePointer<addrinfo>?
179 |     guard getaddrinfo(host, String(port), &hints, &list) == 0, let first = list else { return nil }
180 |     defer { freeaddrinfo(list) }
    |             `- error: cannot find 'freeaddrinfo' in scope
181 |
182 |     var current: UnsafeMutablePointer<addrinfo>? = first
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:182:39: error: cannot find type 'addrinfo' in scope
180 |     defer { freeaddrinfo(list) }
181 |
182 |     var current: UnsafeMutablePointer<addrinfo>? = first
    |                                       `- error: cannot find type 'addrinfo' in scope
183 |     while let node = current {
184 |       if node.pointee.ai_family == hints.ai_family, let addr = node.pointee.ai_addr {
/host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift:196:14: error: cannot find 'SOCK_DGRAM' in scope
194 |       return Int32(SOCK_DGRAM.rawValue)
195 |     #else
196 |       return SOCK_DGRAM
    |              `- error: cannot find 'SOCK_DGRAM' in scope
197 |     #endif
198 |   }
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/TailscaleClient/Configuration/EndpointSource.swift /host/spi-builder-workspace/Sources/TailscaleClient/Configuration/LocalAPIDiscovery.swift /host/spi-builder-workspace/Sources/TailscaleClient/Configuration/LocalAPIDiscoveryError.swift /host/spi-builder-workspace/Sources/TailscaleClient/Configuration/TailscaleClientConfiguration.swift /host/spi-builder-workspace/Sources/TailscaleClient/DaemonControlAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/Experimental.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/Certificates.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/DERPMap.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/DNSDiagnostics.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/DaemonControl.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/ExitNodeSuggestion.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/IPNBusEvent.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/IPNNotify.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/JSONValue.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/LoginProfile.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/MaskedPrefs.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/OptionalFeatures.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/PingResult.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/PrefsResponse.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/ServeConfig.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/ServeConfigSnapshot.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/Services.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/StatusQuery.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/StatusResponse.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Models/StreamBufferBounds.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Models/StreamRetryPolicy.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Models/WhoIsResponse.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/Netcheck.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/STUN.swift /host/spi-builder-workspace/Sources/TailscaleClient/Platform/MacClientInfo.swift /host/spi-builder-workspace/Sources/TailscaleClient/Platform/NetworkInterfaceDiscovery.swift /host/spi-builder-workspace/Sources/TailscaleClient/ProfilesAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/ServeAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/StableParityAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/Support/DecodingSupport.swift /host/spi-builder-workspace/Sources/TailscaleClient/Support/DiscoveryLog.swift /host/spi-builder-workspace/Sources/TailscaleClient/Support/IPNBusBoundedQueue.swift /host/spi-builder-workspace/Sources/TailscaleClient/Support/IPNBusStreamContext.swift /host/spi-builder-workspace/Sources/TailscaleClient/TailscaleClient.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/ChunkedTransferDecoder.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/HTTPWireFormat.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/StreamingResponse.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/TailscaleTransport.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/TransportByteBoundedQueue.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift -supplementary-output-file-map /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/supplementaryOutputs-5 -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-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name TailscaleClient -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/TailscaleClient_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-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/StreamBufferBounds.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/StreamRetryPolicy.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/WhoIsResponse.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/Netcheck.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/NetcheckProbe.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/STUN.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/StreamBufferBounds.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/StreamRetryPolicy.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/WhoIsResponse.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/Netcheck.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/NetcheckProbe.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/STUN.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: SwiftCompile normal aarch64 /host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift failed with a nonzero exit code. Command line:     cd /host
    builtin-SwiftPerFileCompile UnixSocketTransport.swift
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:44:13: error: cannot find 'Darwin' in scope
 42 |         _ = Glibc.close(fdToClose)
 43 |       #else
 44 |         _ = Darwin.close(fdToClose)
    |             `- error: cannot find 'Darwin' in scope
 45 |       #endif
 46 |     }
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:274:17: error: cannot find 'socket' in scope
272 |     try Task.checkCancellation()
273 |
274 |     let rawFD = socket(AF_UNIX, socketStreamType, 0)
    |                 `- error: cannot find 'socket' in scope
275 |     guard rawFD >= 0 else {
276 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:274:24: error: cannot find 'AF_UNIX' in scope
272 |     try Task.checkCancellation()
273 |
274 |     let rawFD = socket(AF_UNIX, socketStreamType, 0)
    |                        `- error: cannot find 'AF_UNIX' in scope
275 |     guard rawFD >= 0 else {
276 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:276:40: error: cannot find 'errno' in scope
274 |     let rawFD = socket(AF_UNIX, socketStreamType, 0)
275 |     guard rawFD >= 0 else {
276 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
    |                                        `- error: cannot find 'errno' in scope
277 |     }
278 |     let managed = ManagedSocketFD(rawFD)
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:287:17: error: cannot find 'fcntl' in scope
285 |
286 |     // Configure non-blocking and close-on-exec flags.
287 |     let flags = fcntl(rawFD, F_GETFL, 0)
    |                 `- error: cannot find 'fcntl' in scope
288 |     guard flags >= 0, fcntl(rawFD, F_SETFL, flags | O_NONBLOCK) >= 0 else {
289 |       managed.close()
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:287:30: error: cannot find 'F_GETFL' in scope
285 |
286 |     // Configure non-blocking and close-on-exec flags.
287 |     let flags = fcntl(rawFD, F_GETFL, 0)
    |                              `- error: cannot find 'F_GETFL' in scope
288 |     guard flags >= 0, fcntl(rawFD, F_SETFL, flags | O_NONBLOCK) >= 0 else {
289 |       managed.close()
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:288:23: error: cannot find 'fcntl' in scope
286 |     // Configure non-blocking and close-on-exec flags.
287 |     let flags = fcntl(rawFD, F_GETFL, 0)
288 |     guard flags >= 0, fcntl(rawFD, F_SETFL, flags | O_NONBLOCK) >= 0 else {
    |                       `- error: cannot find 'fcntl' in scope
289 |       managed.close()
290 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:288:36: error: cannot find 'F_SETFL' in scope
286 |     // Configure non-blocking and close-on-exec flags.
287 |     let flags = fcntl(rawFD, F_GETFL, 0)
288 |     guard flags >= 0, fcntl(rawFD, F_SETFL, flags | O_NONBLOCK) >= 0 else {
    |                                    `- error: cannot find 'F_SETFL' in scope
289 |       managed.close()
290 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:288:53: error: cannot find 'O_NONBLOCK' in scope
286 |     // Configure non-blocking and close-on-exec flags.
287 |     let flags = fcntl(rawFD, F_GETFL, 0)
288 |     guard flags >= 0, fcntl(rawFD, F_SETFL, flags | O_NONBLOCK) >= 0 else {
    |                                                     `- error: cannot find 'O_NONBLOCK' in scope
289 |       managed.close()
290 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:290:40: error: cannot find 'errno' in scope
288 |     guard flags >= 0, fcntl(rawFD, F_SETFL, flags | O_NONBLOCK) >= 0 else {
289 |       managed.close()
290 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
    |                                        `- error: cannot find 'errno' in scope
291 |     }
292 |     let fdFlags = fcntl(rawFD, F_GETFD, 0)
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:292:19: error: cannot find 'fcntl' in scope
290 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
291 |     }
292 |     let fdFlags = fcntl(rawFD, F_GETFD, 0)
    |                   `- error: cannot find 'fcntl' in scope
293 |     if fdFlags >= 0 {
294 |       _ = fcntl(rawFD, F_SETFD, fdFlags | FD_CLOEXEC)
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:292:32: error: cannot find 'F_GETFD' in scope
290 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
291 |     }
292 |     let fdFlags = fcntl(rawFD, F_GETFD, 0)
    |                                `- error: cannot find 'F_GETFD' in scope
293 |     if fdFlags >= 0 {
294 |       _ = fcntl(rawFD, F_SETFD, fdFlags | FD_CLOEXEC)
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:294:11: error: cannot find 'fcntl' in scope
292 |     let fdFlags = fcntl(rawFD, F_GETFD, 0)
293 |     if fdFlags >= 0 {
294 |       _ = fcntl(rawFD, F_SETFD, fdFlags | FD_CLOEXEC)
    |           `- error: cannot find 'fcntl' in scope
295 |     }
296 |
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:294:24: error: cannot find 'F_SETFD' in scope
292 |     let fdFlags = fcntl(rawFD, F_GETFD, 0)
293 |     if fdFlags >= 0 {
294 |       _ = fcntl(rawFD, F_SETFD, fdFlags | FD_CLOEXEC)
    |                        `- error: cannot find 'F_SETFD' in scope
295 |     }
296 |
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:294:43: error: cannot find 'FD_CLOEXEC' in scope
292 |     let fdFlags = fcntl(rawFD, F_GETFD, 0)
293 |     if fdFlags >= 0 {
294 |       _ = fcntl(rawFD, F_SETFD, fdFlags | FD_CLOEXEC)
    |                                           `- error: cannot find 'FD_CLOEXEC' in scope
295 |     }
296 |
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:297:16: error: cannot find 'sockaddr_un' in scope
295 |     }
296 |
297 |     var addr = sockaddr_un()
    |                `- error: cannot find 'sockaddr_un' in scope
298 |     addr.sun_family = sa_family_t(AF_UNIX)
299 |     let maxPathLength = MemoryLayout.size(ofValue: addr.sun_path) / MemoryLayout<CChar>.stride
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:298:23: error: cannot find 'sa_family_t' in scope
296 |
297 |     var addr = sockaddr_un()
298 |     addr.sun_family = sa_family_t(AF_UNIX)
    |                       `- error: cannot find 'sa_family_t' in scope
299 |     let maxPathLength = MemoryLayout.size(ofValue: addr.sun_path) / MemoryLayout<CChar>.stride
300 |     guard path.utf8.count < maxPathLength else {
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:298:35: error: cannot find 'AF_UNIX' in scope
296 |
297 |     var addr = sockaddr_un()
298 |     addr.sun_family = sa_family_t(AF_UNIX)
    |                                   `- error: cannot find 'AF_UNIX' in scope
299 |     let maxPathLength = MemoryLayout.size(ofValue: addr.sun_path) / MemoryLayout<CChar>.stride
300 |     guard path.utf8.count < maxPathLength else {
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:313:32: error: cannot find 'sockaddr' in scope
311 |
312 |     let connectResult = withUnsafePointer(to: &addr) {
313 |       $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { ptr in
    |                                `- error: cannot find 'sockaddr' in scope
314 |         connect(rawFD, ptr, addrSize)
315 |       }
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:314:9: error: cannot find 'connect' in scope
312 |     let connectResult = withUnsafePointer(to: &addr) {
313 |       $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { ptr in
314 |         connect(rawFD, ptr, addrSize)
    |         `- error: cannot find 'connect' in scope
315 |       }
316 |     }
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:322:24: error: cannot find 'errno' in scope
320 |     }
321 |
322 |     let initialErrno = errno
    |                        `- error: cannot find 'errno' in scope
323 |     if initialErrno != EINPROGRESS && initialErrno != EINTR {
324 |       managed.close()
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:325:18: error: cannot find 'POSIXErrorCode' in scope
323 |     if initialErrno != EINPROGRESS && initialErrno != EINTR {
324 |       managed.close()
325 |       let code = POSIXErrorCode(rawValue: initialErrno) ?? .EIO
    |                  `- error: cannot find 'POSIXErrorCode' in scope
326 |       switch code {
327 |       case .ENOENT:
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:345:28: error: cannot find 'pollfd' in scope
343 |       }
344 |
345 |       var pollDescriptor = pollfd(fd: rawFD, events: Int16(POLLOUT), revents: 0)
    |                            `- error: cannot find 'pollfd' in scope
346 |       let pollResult = poll(&pollDescriptor, 1, 500)
347 |       if pollResult < 0 {
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:345:60: error: cannot find 'POLLOUT' in scope
343 |       }
344 |
345 |       var pollDescriptor = pollfd(fd: rawFD, events: Int16(POLLOUT), revents: 0)
    |                                                            `- error: cannot find 'POLLOUT' in scope
346 |       let pollResult = poll(&pollDescriptor, 1, 500)
347 |       if pollResult < 0 {
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:346:24: error: cannot find 'poll' in scope
344 |
345 |       var pollDescriptor = pollfd(fd: rawFD, events: Int16(POLLOUT), revents: 0)
346 |       let pollResult = poll(&pollDescriptor, 1, 500)
    |                        `- error: cannot find 'poll' in scope
347 |       if pollResult < 0 {
348 |         if errno == EINTR { continue }
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:348:12: error: cannot find 'errno' in scope
346 |       let pollResult = poll(&pollDescriptor, 1, 500)
347 |       if pollResult < 0 {
348 |         if errno == EINTR { continue }
    |            `- error: cannot find 'errno' in scope
349 |         managed.close()
350 |         throw POSIXError(.init(rawValue: errno) ?? .EIO)
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:350:42: error: cannot find 'errno' in scope
348 |         if errno == EINTR { continue }
349 |         managed.close()
350 |         throw POSIXError(.init(rawValue: errno) ?? .EIO)
    |                                          `- error: cannot find 'errno' in scope
351 |       }
352 |       if pollResult == 0 {
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:359:20: error: cannot find 'getsockopt' in scope
357 |       var errorValue: Int32 = 0
358 |       var errorLength = socklen_t(MemoryLayout<Int32>.size)
359 |       let status = getsockopt(rawFD, SOL_SOCKET, SO_ERROR, &errorValue, &errorLength)
    |                    `- error: cannot find 'getsockopt' in scope
360 |       guard status == 0 else {
361 |         managed.close()
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:359:38: error: cannot find 'SOL_SOCKET' in scope
357 |       var errorValue: Int32 = 0
358 |       var errorLength = socklen_t(MemoryLayout<Int32>.size)
359 |       let status = getsockopt(rawFD, SOL_SOCKET, SO_ERROR, &errorValue, &errorLength)
    |                                      `- error: cannot find 'SOL_SOCKET' in scope
360 |       guard status == 0 else {
361 |         managed.close()
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:359:50: error: cannot find 'SO_ERROR' in scope
357 |       var errorValue: Int32 = 0
358 |       var errorLength = socklen_t(MemoryLayout<Int32>.size)
359 |       let status = getsockopt(rawFD, SOL_SOCKET, SO_ERROR, &errorValue, &errorLength)
    |                                                  `- error: cannot find 'SO_ERROR' in scope
360 |       guard status == 0 else {
361 |         managed.close()
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:362:42: error: cannot find 'errno' in scope
360 |       guard status == 0 else {
361 |         managed.close()
362 |         throw POSIXError(.init(rawValue: errno) ?? .EIO)
    |                                          `- error: cannot find 'errno' in scope
363 |       }
364 |       if errorValue != 0 {
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:366:20: error: cannot find 'POSIXErrorCode' in scope
364 |       if errorValue != 0 {
365 |         managed.close()
366 |         let code = POSIXErrorCode(rawValue: errorValue) ?? .EIO
    |                    `- error: cannot find 'POSIXErrorCode' in scope
367 |         switch code {
368 |         case .ENOENT:
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:385:14: error: cannot find 'SOCK_STREAM' in scope
383 |       return Int32(SOCK_STREAM.rawValue)
384 |     #else
385 |       return SOCK_STREAM
    |              `- error: cannot find 'SOCK_STREAM' in scope
386 |     #endif
387 |   }
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:407:25: error: cannot find 'Darwin' in scope
405 |           let written = Glibc.send(rawFD, currentPointer, bytesRemaining, Int32(MSG_NOSIGNAL))
406 |         #else
407 |           let written = Darwin.write(rawFD, currentPointer, bytesRemaining)
    |                         `- error: cannot find 'Darwin' in scope
408 |         #endif
409 |
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:414:14: error: cannot find 'errno' in scope
412 |           currentPointer = currentPointer.advanced(by: written)
413 |         } else if written < 0 {
414 |           if errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK {
    |              `- error: cannot find 'errno' in scope
415 |             continue
416 |           }
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:414:32: error: cannot find 'errno' in scope
412 |           currentPointer = currentPointer.advanced(by: written)
413 |         } else if written < 0 {
414 |           if errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK {
    |                                `- error: cannot find 'errno' in scope
415 |             continue
416 |           }
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:414:51: error: cannot find 'errno' in scope
412 |           currentPointer = currentPointer.advanced(by: written)
413 |         } else if written < 0 {
414 |           if errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK {
    |                                                   `- error: cannot find 'errno' in scope
415 |             continue
416 |           }
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:417:22: error: cannot find 'POSIXErrorCode' in scope
415 |             continue
416 |           }
417 |           let code = POSIXErrorCode(rawValue: errno) ?? .EIO
    |                      `- error: cannot find 'POSIXErrorCode' in scope
418 |           if code == .EPIPE || code == .ECONNRESET {
419 |             throw TailscaleTransportError.networkFailure(underlying: POSIXError(code))
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:417:47: error: cannot find 'errno' in scope
415 |             continue
416 |           }
417 |           let code = POSIXErrorCode(rawValue: errno) ?? .EIO
    |                                               `- error: cannot find 'errno' in scope
418 |           if code == .EPIPE || code == .ECONNRESET {
419 |             throw TailscaleTransportError.networkFailure(underlying: POSIXError(code))
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:431:26: error: cannot find 'pollfd' in scope
429 |   private func waitWritable(_ fd: Int32, timeoutMilliseconds: Int32) throws -> Bool {
430 |     guard fd >= 0 else { throw POSIXError(.EBADF) }
431 |     var pollDescriptor = pollfd(fd: fd, events: Int16(POLLOUT), revents: 0)
    |                          `- error: cannot find 'pollfd' in scope
432 |     let result = poll(&pollDescriptor, 1, timeoutMilliseconds)
433 |     if result < 0 {
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:431:55: error: cannot find 'POLLOUT' in scope
429 |   private func waitWritable(_ fd: Int32, timeoutMilliseconds: Int32) throws -> Bool {
430 |     guard fd >= 0 else { throw POSIXError(.EBADF) }
431 |     var pollDescriptor = pollfd(fd: fd, events: Int16(POLLOUT), revents: 0)
    |                                                       `- error: cannot find 'POLLOUT' in scope
432 |     let result = poll(&pollDescriptor, 1, timeoutMilliseconds)
433 |     if result < 0 {
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:432:18: error: cannot find 'poll' in scope
430 |     guard fd >= 0 else { throw POSIXError(.EBADF) }
431 |     var pollDescriptor = pollfd(fd: fd, events: Int16(POLLOUT), revents: 0)
432 |     let result = poll(&pollDescriptor, 1, timeoutMilliseconds)
    |                  `- error: cannot find 'poll' in scope
433 |     if result < 0 {
434 |       if errno == EINTR { return false }
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:434:10: error: cannot find 'errno' in scope
432 |     let result = poll(&pollDescriptor, 1, timeoutMilliseconds)
433 |     if result < 0 {
434 |       if errno == EINTR { return false }
    |          `- error: cannot find 'errno' in scope
435 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
436 |     }
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:435:40: error: cannot find 'errno' in scope
433 |     if result < 0 {
434 |       if errno == EINTR { return false }
435 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
    |                                        `- error: cannot find 'errno' in scope
436 |     }
437 |     return result > 0
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:444:23: error: cannot find 'read' in scope
442 |     guard fd >= 0 else { throw POSIXError(.EBADF) }
443 |     while true {
444 |       let readCount = read(fd, &buffer, buffer.count)
    |                       `- error: cannot find 'read' in scope
445 |       if readCount >= 0 { return readCount }
446 |       if errno == EINTR { continue }
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:446:10: error: cannot find 'errno' in scope
444 |       let readCount = read(fd, &buffer, buffer.count)
445 |       if readCount >= 0 { return readCount }
446 |       if errno == EINTR { continue }
    |          `- error: cannot find 'errno' in scope
447 |       if errno == EAGAIN || errno == EWOULDBLOCK {
448 |         return nil
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:447:10: error: cannot find 'errno' in scope
445 |       if readCount >= 0 { return readCount }
446 |       if errno == EINTR { continue }
447 |       if errno == EAGAIN || errno == EWOULDBLOCK {
    |          `- error: cannot find 'errno' in scope
448 |         return nil
449 |       }
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:447:29: error: cannot find 'errno' in scope
445 |       if readCount >= 0 { return readCount }
446 |       if errno == EINTR { continue }
447 |       if errno == EAGAIN || errno == EWOULDBLOCK {
    |                             `- error: cannot find 'errno' in scope
448 |         return nil
449 |       }
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:450:18: error: cannot find 'POSIXErrorCode' in scope
448 |         return nil
449 |       }
450 |       let code = POSIXErrorCode(rawValue: errno) ?? .EIO
    |                  `- error: cannot find 'POSIXErrorCode' in scope
451 |       if code == .ECONNRESET {
452 |         throw TailscaleTransportError.networkFailure(underlying: POSIXError(code))
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:450:43: error: cannot find 'errno' in scope
448 |         return nil
449 |       }
450 |       let code = POSIXErrorCode(rawValue: errno) ?? .EIO
    |                                           `- error: cannot find 'errno' in scope
451 |       if code == .ECONNRESET {
452 |         throw TailscaleTransportError.networkFailure(underlying: POSIXError(code))
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:463:26: error: cannot find 'pollfd' in scope
461 |   private func waitReadable(_ fd: Int32, timeoutMilliseconds: Int32) throws -> Bool {
462 |     guard fd >= 0 else { throw POSIXError(.EBADF) }
463 |     var pollDescriptor = pollfd(fd: fd, events: Int16(POLLIN), revents: 0)
    |                          `- error: cannot find 'pollfd' in scope
464 |     let result = poll(&pollDescriptor, 1, timeoutMilliseconds)
465 |     if result < 0 {
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:463:55: error: cannot find 'POLLIN' in scope
461 |   private func waitReadable(_ fd: Int32, timeoutMilliseconds: Int32) throws -> Bool {
462 |     guard fd >= 0 else { throw POSIXError(.EBADF) }
463 |     var pollDescriptor = pollfd(fd: fd, events: Int16(POLLIN), revents: 0)
    |                                                       `- error: cannot find 'POLLIN' in scope
464 |     let result = poll(&pollDescriptor, 1, timeoutMilliseconds)
465 |     if result < 0 {
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:464:18: error: cannot find 'poll' in scope
462 |     guard fd >= 0 else { throw POSIXError(.EBADF) }
463 |     var pollDescriptor = pollfd(fd: fd, events: Int16(POLLIN), revents: 0)
464 |     let result = poll(&pollDescriptor, 1, timeoutMilliseconds)
    |                  `- error: cannot find 'poll' in scope
465 |     if result < 0 {
466 |       if errno == EINTR { return false }
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:466:10: error: cannot find 'errno' in scope
464 |     let result = poll(&pollDescriptor, 1, timeoutMilliseconds)
465 |     if result < 0 {
466 |       if errno == EINTR { return false }
    |          `- error: cannot find 'errno' in scope
467 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
468 |     }
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift:467:40: error: cannot find 'errno' in scope
465 |     if result < 0 {
466 |       if errno == EINTR { return false }
467 |       throw POSIXError(.init(rawValue: errno) ?? .EIO)
    |                                        `- error: cannot find 'errno' in scope
468 |     }
469 |     return result > 0
/android-ndk/android-ndk-r27d/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
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/TailscaleClient/Configuration/EndpointSource.swift /host/spi-builder-workspace/Sources/TailscaleClient/Configuration/LocalAPIDiscovery.swift /host/spi-builder-workspace/Sources/TailscaleClient/Configuration/LocalAPIDiscoveryError.swift /host/spi-builder-workspace/Sources/TailscaleClient/Configuration/TailscaleClientConfiguration.swift /host/spi-builder-workspace/Sources/TailscaleClient/DaemonControlAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/Experimental.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/Certificates.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/DERPMap.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/DNSDiagnostics.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/DaemonControl.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/ExitNodeSuggestion.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/IPNBusEvent.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/IPNNotify.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/JSONValue.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/LoginProfile.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/MaskedPrefs.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/OptionalFeatures.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/PingResult.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/PrefsResponse.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/ServeConfig.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/ServeConfigSnapshot.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/Services.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/StatusQuery.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/StatusResponse.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/StreamBufferBounds.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/StreamRetryPolicy.swift /host/spi-builder-workspace/Sources/TailscaleClient/Models/WhoIsResponse.swift /host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/Netcheck.swift /host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/NetcheckProbe.swift /host/spi-builder-workspace/Sources/TailscaleClient/Netcheck/STUN.swift /host/spi-builder-workspace/Sources/TailscaleClient/Platform/MacClientInfo.swift /host/spi-builder-workspace/Sources/TailscaleClient/Platform/NetworkInterfaceDiscovery.swift /host/spi-builder-workspace/Sources/TailscaleClient/ProfilesAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/ServeAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/StableParityAPI.swift /host/spi-builder-workspace/Sources/TailscaleClient/Support/DecodingSupport.swift /host/spi-builder-workspace/Sources/TailscaleClient/Support/DiscoveryLog.swift /host/spi-builder-workspace/Sources/TailscaleClient/Support/IPNBusBoundedQueue.swift /host/spi-builder-workspace/Sources/TailscaleClient/Support/IPNBusStreamContext.swift /host/spi-builder-workspace/Sources/TailscaleClient/TailscaleClient.swift /host/spi-builder-workspace/Sources/TailscaleClient/Transport/ChunkedTransferDecoder.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Transport/HTTPWireFormat.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Transport/StreamingResponse.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Transport/TailscaleTransport.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Transport/TransportByteBoundedQueue.swift -primary-file /host/spi-builder-workspace/Sources/TailscaleClient/Transport/UnixSocketTransport.swift -supplementary-output-file-map /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/supplementaryOutputs-8 -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-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/DerivedSources-normal/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/DerivedSources/aarch64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name TailscaleClient -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/TailscaleClient_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-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/HTTPWireFormat.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/StreamingResponse.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/TailscaleTransport.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/TransportByteBoundedQueue.o -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/UnixSocketTransport.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/HTTPWireFormat.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/StreamingResponse.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/TailscaleTransport.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/TransportByteBoundedQueue.o -index-unit-output-path /swift-tailscale-client.build/Debug-android-aarch64/TailscaleClient-t.build/Objects-normal/aarch64/UnixSocketTransport.o -index-store-path /host/spi-builder-workspace/.build/out -index-system-modules
error: Build failed
BUILD FAILURE 6.4 android