Build Information
Failed to build Aoxiang, reference 1.0.0 (db7da0
), with Swift 6.2 (beta) for Android on 20 Jun 2025 07:28:38 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/isaced/Aoxiang.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/isaced/Aoxiang
* tag 1.0.0 -> FETCH_HEAD
HEAD is now at db7da0e doc: Update README.md
Cloned https://github.com/isaced/Aoxiang.git
Revision (git rev-parse @):
db7da0ef43828d05911110793302866d6164e4bd
SUCCESS checkout https://github.com/isaced/Aoxiang.git at 1.0.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.2
Building package at path: $PWD
https://github.com/isaced/Aoxiang.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-8C5A4AE7A8CE2BA.txt
[3/9] Compiling Aoxiang HTTPResponse.swift
[4/9] Compiling Aoxiang HTTPRequest.swift
[5/9] Compiling Aoxiang Socket.swift
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:29:16: error: cannot find type 'in_port_t' in scope
27 | }
28 |
29 | init(port: in_port_t) throws {
| `- error: cannot find type 'in_port_t' in scope
30 | let zero = Int8(0)
31 | let transportLayerType = SOCK_STREAM // TCP
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:31:34: error: cannot find 'SOCK_STREAM' in scope
29 | init(port: in_port_t) throws {
30 | let zero = Int8(0)
31 | let transportLayerType = SOCK_STREAM // TCP
| `- error: cannot find 'SOCK_STREAM' in scope
32 | let internetLayerProtocol = AF_INET // IPv4
33 | let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:32:37: error: cannot find 'AF_INET' in scope
30 | let zero = Int8(0)
31 | let transportLayerType = SOCK_STREAM // TCP
32 | let internetLayerProtocol = AF_INET // IPv4
| `- error: cannot find 'AF_INET' in scope
33 | let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
34 | var serveraddr = sockaddr_in()
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:33:52: error: cannot find type 'sockaddr_in' in scope
31 | let transportLayerType = SOCK_STREAM // TCP
32 | let internetLayerProtocol = AF_INET // IPv4
33 | let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
| `- error: cannot find type 'sockaddr_in' in scope
34 | var serveraddr = sockaddr_in()
35 | serveraddr.sin_family = sa_family_t(internetLayerProtocol)
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:34:26: error: cannot find 'sockaddr_in' in scope
32 | let internetLayerProtocol = AF_INET // IPv4
33 | let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
34 | var serveraddr = sockaddr_in()
| `- error: cannot find 'sockaddr_in' in scope
35 | serveraddr.sin_family = sa_family_t(internetLayerProtocol)
36 | serveraddr.sin_port = port.bigEndian
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:35:33: error: cannot find 'sa_family_t' in scope
33 | let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
34 | var serveraddr = sockaddr_in()
35 | serveraddr.sin_family = sa_family_t(internetLayerProtocol)
| `- error: cannot find 'sa_family_t' in scope
36 | serveraddr.sin_port = port.bigEndian
37 | serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:37:31: error: cannot find 'in_addr' in scope
35 | serveraddr.sin_family = sa_family_t(internetLayerProtocol)
36 | serveraddr.sin_port = port.bigEndian
37 | serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
| `- error: cannot find 'in_addr' in scope
38 | serveraddr.sin_zero = (zero, zero, zero, zero, zero, zero, zero, zero)
39 | self.sock = socket(internetLayerProtocol, Int32(transportLayerType), 0)
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:37:47: error: cannot find 'in_addr_t' in scope
35 | serveraddr.sin_family = sa_family_t(internetLayerProtocol)
36 | serveraddr.sin_port = port.bigEndian
37 | serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
| `- error: cannot find 'in_addr_t' in scope
38 | serveraddr.sin_zero = (zero, zero, zero, zero, zero, zero, zero, zero)
39 | self.sock = socket(internetLayerProtocol, Int32(transportLayerType), 0)
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:39:21: error: cannot find 'socket' in scope
37 | serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
38 | serveraddr.sin_zero = (zero, zero, zero, zero, zero, zero, zero, zero)
39 | self.sock = socket(internetLayerProtocol, Int32(transportLayerType), 0)
| `- error: cannot find 'socket' in scope
40 |
41 | // reuse socket address (for fix "Address already in use")
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:42:9: error: cannot find 'setsockopt' in scope
40 |
41 | // reuse socket address (for fix "Address already in use")
42 | setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &serveraddr, socklen_t(socklen))
| `- error: cannot find 'setsockopt' in scope
43 |
44 | // bind
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:42:26: error: cannot find 'SOL_SOCKET' in scope
40 |
41 | // reuse socket address (for fix "Address already in use")
42 | setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &serveraddr, socklen_t(socklen))
| `- error: cannot find 'SOL_SOCKET' in scope
43 |
44 | // bind
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:42:38: error: cannot find 'SO_REUSEADDR' in scope
40 |
41 | // reuse socket address (for fix "Address already in use")
42 | setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &serveraddr, socklen_t(socklen))
| `- error: cannot find 'SO_REUSEADDR' in scope
43 |
44 | // bind
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:46:13: error: cannot find 'bind' in scope
44 | // bind
45 | let bindResult = withUnsafePointer(to: &serveraddr) {
46 | bind(sock, UnsafePointer<sockaddr>(OpaquePointer($0)), socklen_t(socklen))
| `- error: cannot find 'bind' in scope
47 | }
48 | if bindResult == -1 {
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:46:38: error: cannot find type 'sockaddr' in scope
44 | // bind
45 | let bindResult = withUnsafePointer(to: &serveraddr) {
46 | bind(sock, UnsafePointer<sockaddr>(OpaquePointer($0)), socklen_t(socklen))
| `- error: cannot find type 'sockaddr' in scope
47 | }
48 | if bindResult == -1 {
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:53:12: error: cannot find 'listen' in scope
51 |
52 | // listen
53 | if listen(sock, SOMAXCONN) == -1 {
| `- error: cannot find 'listen' in scope
54 | throw SocketError.listenFailed(errorDescription())
55 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:53:25: error: cannot find 'SOMAXCONN' in scope
51 |
52 | // listen
53 | if listen(sock, SOMAXCONN) == -1 {
| `- error: cannot find 'SOMAXCONN' in scope
54 | throw SocketError.listenFailed(errorDescription())
55 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:69:28: error: cannot find 'Darwin' in scope
67 |
68 | public func accept() throws -> Socket {
69 | let clientSocket = Darwin.accept(sock, nil, nil)
| `- error: cannot find 'Darwin' in scope
70 | if clientSocket == -1 {
71 | throw SocketError.acceptFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:69:48: error: 'nil' requires a contextual type
67 |
68 | public func accept() throws -> Socket {
69 | let clientSocket = Darwin.accept(sock, nil, nil)
| `- error: 'nil' requires a contextual type
70 | if clientSocket == -1 {
71 | throw SocketError.acceptFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:69:53: error: 'nil' requires a contextual type
67 |
68 | public func accept() throws -> Socket {
69 | let clientSocket = Darwin.accept(sock, nil, nil)
| `- error: 'nil' requires a contextual type
70 | if clientSocket == -1 {
71 | throw SocketError.acceptFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:77:9: error: cannot find 'Darwin' in scope
75 |
76 | public func close() {
77 | Darwin.close(sock)
| `- error: cannot find 'Darwin' in scope
78 | }
79 |
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:93:26: error: cannot find 'Darwin' in scope
91 | var sent = 0
92 | while sent < length {
93 | let result = Darwin.write(sock, pointer + sent, Int(length - sent))
| `- error: cannot find 'Darwin' in scope
94 | if result <= 0 {
95 | throw SocketError.writeFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:109:21: error: cannot find 'Darwin' in scope
107 | open func read() throws -> UInt8 {
108 | var byte: UInt8 = 0
109 | let count = Darwin.read(sock, &byte, 1)
| `- error: cannot find 'Darwin' in scope
110 | guard count > 0 else {
111 | throw SocketError.recvFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:142:29: error: cannot find 'Darwin' in scope
140 | // Compute next read length in bytes. The bytes read is never more than kBufferLength at once.
141 | let readLength = offset + Socket.kBufferLength < length ? Socket.kBufferLength : length - offset
142 | let bytesRead = Darwin.read(sock, baseAddress + offset, readLength)
| `- error: cannot find 'Darwin' in scope
143 | guard bytesRead > 0 else {
144 | throw SocketError.recvFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:166:20: error: cannot find 'sockaddr' in scope
164 |
165 | public func peername() throws -> String {
166 | var addr = sockaddr(), len = socklen_t(MemoryLayout<sockaddr>.size)
| `- error: cannot find 'sockaddr' in scope
167 | if getpeername(sock, &addr, &len) != 0 {
168 | throw SocketError.getPeerNameFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:166:61: error: cannot find type 'sockaddr' in scope
164 |
165 | public func peername() throws -> String {
166 | var addr = sockaddr(), len = socklen_t(MemoryLayout<sockaddr>.size)
| `- error: cannot find type 'sockaddr' in scope
167 | if getpeername(sock, &addr, &len) != 0 {
168 | throw SocketError.getPeerNameFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:167:12: error: cannot find 'getpeername' in scope
165 | public func peername() throws -> String {
166 | var addr = sockaddr(), len = socklen_t(MemoryLayout<sockaddr>.size)
167 | if getpeername(sock, &addr, &len) != 0 {
| `- error: cannot find 'getpeername' in scope
168 | throw SocketError.getPeerNameFailed(errorDescription())
169 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:170:59: error: cannot find 'NI_MAXHOST' in scope
168 | throw SocketError.getPeerNameFailed(errorDescription())
169 | }
170 | var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
| `- error: cannot find 'NI_MAXHOST' in scope
171 | if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
172 | throw SocketError.getNameInfoFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:171:12: error: cannot find 'getnameinfo' in scope
169 | }
170 | var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
171 | if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
| `- error: cannot find 'getnameinfo' in scope
172 | throw SocketError.getNameInfoFailed(errorDescription())
173 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:171:86: error: cannot find 'NI_NUMERICHOST' in scope
169 | }
170 | var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
171 | if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
| `- error: cannot find 'NI_NUMERICHOST' in scope
172 | throw SocketError.getNameInfoFailed(errorDescription())
173 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:171:78: error: 'nil' requires a contextual type
169 | }
170 | var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
171 | if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
| `- error: 'nil' requires a contextual type
172 | throw SocketError.getNameInfoFailed(errorDescription())
173 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:179:41: error: cannot find 'errno' in scope
177 | /// A utility function to get a human-readable description of the last error.
178 | func errorDescription() -> String {
179 | return String(cString: strerror(errno))
| `- error: cannot find 'errno' in scope
180 | }
181 | }
/root/.swiftpm/swift-sdks/swift-6.2-DEVELOPMENT-SNAPSHOT-2025-05-15-a-android-0.1.artifactbundle/swift-android/ndk-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
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/9] Compiling Aoxiang HTTPParser.swift
[7/9] Emitting module Aoxiang
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:45:31: error: cannot find type 'in_port_t' in scope
43 | private var sockets = Set<Socket>()
44 | private let queue = DispatchQueue(label: "aoxiang.socket")
45 | public func start(_ port: in_port_t = 8080) throws {
| `- error: cannot find type 'in_port_t' in scope
46 | // load router middleware
47 | self.use(self.router)
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:29:16: error: cannot find type 'in_port_t' in scope
27 | }
28 |
29 | init(port: in_port_t) throws {
| `- error: cannot find type 'in_port_t' in scope
30 | let zero = Int8(0)
31 | let transportLayerType = SOCK_STREAM // TCP
[8/9] Compiling Aoxiang HTTPRouter.swift
[9/9] Compiling Aoxiang HTTPServer.swift
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:45:31: error: cannot find type 'in_port_t' in scope
43 | private var sockets = Set<Socket>()
44 | private let queue = DispatchQueue(label: "aoxiang.socket")
45 | public func start(_ port: in_port_t = 8080) throws {
| `- error: cannot find type 'in_port_t' in scope
46 | // load router middleware
47 | self.use(self.router)
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:29:16: error: cannot find type 'in_port_t' in scope
27 | }
28 |
29 | init(port: in_port_t) throws {
| `- error: cannot find type 'in_port_t' in scope
30 | let zero = Int8(0)
31 | let transportLayerType = SOCK_STREAM // TCP
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:51:33: error: incorrect argument label in call (have 'port:', expected 'sock:')
49 | // start server
50 | self.stop()
51 | self.socket = try Socket(port: port)
| `- error: incorrect argument label in call (have 'port:', expected 'sock:')
52 | Task(priority: .background) { [weak self] in
53 | guard let strongSelf = self else { return }
BUILD FAILURE 6.2 android