Build Information
Failed to build Aoxiang, reference main (220000
), with Swift 6.2 (beta) for Android on 20 Jun 2025 07:27:54 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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: main
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
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 220000a fix: public property automaticallySuspendInBackground
Cloned https://github.com/isaced/Aoxiang.git
Revision (git rev-parse @):
220000a543578c7fb4aa8eed01ab7fe95488cbda
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/isaced/Aoxiang.git at main
========================================
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-4606859-2":/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 HTTPRouter.swift
[4/9] Compiling Aoxiang Socket.swift
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:40:16: error: cannot find type 'in_port_t' in scope
38 | ///
39 | /// - Note: This method will throw an error if the port is already in use.
40 | init(port: in_port_t) throws {
| `- error: cannot find type 'in_port_t' in scope
41 | let zero = Int8(0)
42 | let transportLayerType = SOCK_STREAM // TCP
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:42:34: error: cannot find 'SOCK_STREAM' in scope
40 | init(port: in_port_t) throws {
41 | let zero = Int8(0)
42 | let transportLayerType = SOCK_STREAM // TCP
| `- error: cannot find 'SOCK_STREAM' in scope
43 | let internetLayerProtocol = AF_INET // IPv4
44 | let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:43:37: error: cannot find 'AF_INET' in scope
41 | let zero = Int8(0)
42 | let transportLayerType = SOCK_STREAM // TCP
43 | let internetLayerProtocol = AF_INET // IPv4
| `- error: cannot find 'AF_INET' in scope
44 | let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
45 | var serveraddr = sockaddr_in()
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:44:52: error: cannot find type 'sockaddr_in' in scope
42 | let transportLayerType = SOCK_STREAM // TCP
43 | let internetLayerProtocol = AF_INET // IPv4
44 | let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
| `- error: cannot find type 'sockaddr_in' in scope
45 | var serveraddr = sockaddr_in()
46 | serveraddr.sin_family = sa_family_t(internetLayerProtocol)
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:45:26: error: cannot find 'sockaddr_in' in scope
43 | let internetLayerProtocol = AF_INET // IPv4
44 | let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
45 | var serveraddr = sockaddr_in()
| `- error: cannot find 'sockaddr_in' in scope
46 | serveraddr.sin_family = sa_family_t(internetLayerProtocol)
47 | serveraddr.sin_port = port.bigEndian
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:46:33: error: cannot find 'sa_family_t' in scope
44 | let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
45 | var serveraddr = sockaddr_in()
46 | serveraddr.sin_family = sa_family_t(internetLayerProtocol)
| `- error: cannot find 'sa_family_t' in scope
47 | serveraddr.sin_port = port.bigEndian
48 | serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:48:31: error: cannot find 'in_addr' in scope
46 | serveraddr.sin_family = sa_family_t(internetLayerProtocol)
47 | serveraddr.sin_port = port.bigEndian
48 | serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
| `- error: cannot find 'in_addr' in scope
49 | serveraddr.sin_zero = (zero, zero, zero, zero, zero, zero, zero, zero)
50 | self.sock = socket(internetLayerProtocol, Int32(transportLayerType), 0)
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:48:47: error: cannot find 'in_addr_t' in scope
46 | serveraddr.sin_family = sa_family_t(internetLayerProtocol)
47 | serveraddr.sin_port = port.bigEndian
48 | serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
| `- error: cannot find 'in_addr_t' in scope
49 | serveraddr.sin_zero = (zero, zero, zero, zero, zero, zero, zero, zero)
50 | self.sock = socket(internetLayerProtocol, Int32(transportLayerType), 0)
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:50:21: error: cannot find 'socket' in scope
48 | serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
49 | serveraddr.sin_zero = (zero, zero, zero, zero, zero, zero, zero, zero)
50 | self.sock = socket(internetLayerProtocol, Int32(transportLayerType), 0)
| `- error: cannot find 'socket' in scope
51 |
52 | // reuse socket address (for fix "Address already in use")
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:53:9: error: cannot find 'setsockopt' in scope
51 |
52 | // reuse socket address (for fix "Address already in use")
53 | setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &serveraddr, socklen_t(socklen))
| `- error: cannot find 'setsockopt' in scope
54 |
55 | // bind
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:53:26: error: cannot find 'SOL_SOCKET' in scope
51 |
52 | // reuse socket address (for fix "Address already in use")
53 | setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &serveraddr, socklen_t(socklen))
| `- error: cannot find 'SOL_SOCKET' in scope
54 |
55 | // bind
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:53:38: error: cannot find 'SO_REUSEADDR' in scope
51 |
52 | // reuse socket address (for fix "Address already in use")
53 | setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &serveraddr, socklen_t(socklen))
| `- error: cannot find 'SO_REUSEADDR' in scope
54 |
55 | // bind
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:57:13: error: cannot find 'bind' in scope
55 | // bind
56 | let bindResult = withUnsafePointer(to: &serveraddr) {
57 | bind(sock, UnsafePointer<sockaddr>(OpaquePointer($0)), socklen_t(socklen))
| `- error: cannot find 'bind' in scope
58 | }
59 | if bindResult == -1 {
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:57:38: error: cannot find type 'sockaddr' in scope
55 | // bind
56 | let bindResult = withUnsafePointer(to: &serveraddr) {
57 | bind(sock, UnsafePointer<sockaddr>(OpaquePointer($0)), socklen_t(socklen))
| `- error: cannot find type 'sockaddr' in scope
58 | }
59 | if bindResult == -1 {
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:64:12: error: cannot find 'listen' in scope
62 |
63 | // listen
64 | if listen(sock, SOMAXCONN) == -1 {
| `- error: cannot find 'listen' in scope
65 | throw SocketError.listenFailed(errorDescription())
66 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:64:25: error: cannot find 'SOMAXCONN' in scope
62 |
63 | // listen
64 | if listen(sock, SOMAXCONN) == -1 {
| `- error: cannot find 'SOMAXCONN' in scope
65 | throw SocketError.listenFailed(errorDescription())
66 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:80:28: error: cannot find 'Darwin' in scope
78 |
79 | public func accept() throws -> Socket {
80 | let clientSocket = Darwin.accept(sock, nil, nil)
| `- error: cannot find 'Darwin' in scope
81 | if clientSocket == -1 {
82 | throw SocketError.acceptFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:80:48: error: 'nil' requires a contextual type
78 |
79 | public func accept() throws -> Socket {
80 | let clientSocket = Darwin.accept(sock, nil, nil)
| `- error: 'nil' requires a contextual type
81 | if clientSocket == -1 {
82 | throw SocketError.acceptFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:80:53: error: 'nil' requires a contextual type
78 |
79 | public func accept() throws -> Socket {
80 | let clientSocket = Darwin.accept(sock, nil, nil)
| `- error: 'nil' requires a contextual type
81 | if clientSocket == -1 {
82 | throw SocketError.acceptFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:88:9: error: cannot find 'Darwin' in scope
86 |
87 | public func close() {
88 | Darwin.close(sock)
| `- error: cannot find 'Darwin' in scope
89 | }
90 |
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:104:26: error: cannot find 'Darwin' in scope
102 | var sent = 0
103 | while sent < length {
104 | let result = Darwin.write(sock, pointer + sent, Int(length - sent))
| `- error: cannot find 'Darwin' in scope
105 | if result <= 0 {
106 | throw SocketError.writeFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:120:21: error: cannot find 'Darwin' in scope
118 | open func read() throws -> UInt8 {
119 | var byte: UInt8 = 0
120 | let count = Darwin.read(sock, &byte, 1)
| `- error: cannot find 'Darwin' in scope
121 | guard count > 0 else {
122 | throw SocketError.recvFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:153:29: error: cannot find 'Darwin' in scope
151 | // Compute next read length in bytes. The bytes read is never more than kBufferLength at once.
152 | let readLength = offset + Socket.kBufferLength < length ? Socket.kBufferLength : length - offset
153 | let bytesRead = Darwin.read(sock, baseAddress + offset, readLength)
| `- error: cannot find 'Darwin' in scope
154 | guard bytesRead > 0 else {
155 | throw SocketError.recvFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:177:20: error: cannot find 'sockaddr' in scope
175 |
176 | public func peername() throws -> String {
177 | var addr = sockaddr(), len = socklen_t(MemoryLayout<sockaddr>.size)
| `- error: cannot find 'sockaddr' in scope
178 | if getpeername(sock, &addr, &len) != 0 {
179 | throw SocketError.getPeerNameFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:177:61: error: cannot find type 'sockaddr' in scope
175 |
176 | public func peername() throws -> String {
177 | var addr = sockaddr(), len = socklen_t(MemoryLayout<sockaddr>.size)
| `- error: cannot find type 'sockaddr' in scope
178 | if getpeername(sock, &addr, &len) != 0 {
179 | throw SocketError.getPeerNameFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:178:12: error: cannot find 'getpeername' in scope
176 | public func peername() throws -> String {
177 | var addr = sockaddr(), len = socklen_t(MemoryLayout<sockaddr>.size)
178 | if getpeername(sock, &addr, &len) != 0 {
| `- error: cannot find 'getpeername' in scope
179 | throw SocketError.getPeerNameFailed(errorDescription())
180 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:181:59: error: cannot find 'NI_MAXHOST' in scope
179 | throw SocketError.getPeerNameFailed(errorDescription())
180 | }
181 | var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
| `- error: cannot find 'NI_MAXHOST' in scope
182 | if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
183 | throw SocketError.getNameInfoFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:182:12: error: cannot find 'getnameinfo' in scope
180 | }
181 | var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
182 | if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
| `- error: cannot find 'getnameinfo' in scope
183 | throw SocketError.getNameInfoFailed(errorDescription())
184 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:182:86: error: cannot find 'NI_NUMERICHOST' in scope
180 | }
181 | var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
182 | if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
| `- error: cannot find 'NI_NUMERICHOST' in scope
183 | throw SocketError.getNameInfoFailed(errorDescription())
184 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:182:78: error: 'nil' requires a contextual type
180 | }
181 | var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
182 | if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
| `- error: 'nil' requires a contextual type
183 | throw SocketError.getNameInfoFailed(errorDescription())
184 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:190:41: error: cannot find 'errno' in scope
188 | /// A utility function to get a human-readable description of the last error.
189 | func errorDescription() -> String {
190 | return String(cString: strerror(errno))
| `- error: cannot find 'errno' in scope
191 | }
192 | }
/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
[5/9] Compiling Aoxiang HTTPServer.swift
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:68:23: error: cannot find type 'in_port_t' in scope
66 | public var automaticallySuspendInBackground = true
67 |
68 | private var port: in_port_t = 8080
| `- error: cannot find type 'in_port_t' in scope
69 |
70 | /// Create a server instance
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:100:31: error: cannot find type 'in_port_t' in scope
98 | /// - Throws: Socket error
99 | /// - Returns: Void
100 | public func start(_ port: in_port_t = 8080) throws {
| `- error: cannot find type 'in_port_t' in scope
101 | self.port = port
102 |
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:40:16: error: cannot find type 'in_port_t' in scope
38 | ///
39 | /// - Note: This method will throw an error if the port is already in use.
40 | init(port: in_port_t) throws {
| `- error: cannot find type 'in_port_t' in scope
41 | let zero = Int8(0)
42 | let transportLayerType = SOCK_STREAM // TCP
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:108:33: error: incorrect argument label in call (have 'port:', expected 'sock:')
106 | // start server
107 | self.stop()
108 | self.socket = try Socket(port: port)
| `- error: incorrect argument label in call (have 'port:', expected 'sock:')
109 | Task(priority: .background) { [weak self] in
110 | guard let strongSelf = self else { return }
[6/9] Compiling Aoxiang HTTPResponse.swift
[7/9] Compiling Aoxiang HTTPParser.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/9] Compiling Aoxiang HTTPRequest.swift
[9/9] Emitting module Aoxiang
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:68:23: error: cannot find type 'in_port_t' in scope
66 | public var automaticallySuspendInBackground = true
67 |
68 | private var port: in_port_t = 8080
| `- error: cannot find type 'in_port_t' in scope
69 |
70 | /// Create a server instance
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:100:31: error: cannot find type 'in_port_t' in scope
98 | /// - Throws: Socket error
99 | /// - Returns: Void
100 | public func start(_ port: in_port_t = 8080) throws {
| `- error: cannot find type 'in_port_t' in scope
101 | self.port = port
102 |
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:40:16: error: cannot find type 'in_port_t' in scope
38 | ///
39 | /// - Note: This method will throw an error if the port is already in use.
40 | init(port: in_port_t) throws {
| `- error: cannot find type 'in_port_t' in scope
41 | let zero = Int8(0)
42 | let transportLayerType = SOCK_STREAM // TCP
BUILD FAILURE 6.2 android