Build Information
Failed to build Aoxiang, reference main (bebfbd), with Swift 6.2 for Wasm on 12 Aug 2026 03:46:25 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344849-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:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 729ceb5fcd9493dc13ee340bc4f0908bd201f85d
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 bebfbd2 feat: add background task support for iOS
Cloned https://github.com/isaced/Aoxiang.git
Revision (git rev-parse @):
bebfbd20b5f3ac04977936f5ec2569077cb7b351
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/isaced/Aoxiang.git at main
========================================
Build
========================================
Selected platform: wasm
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-54344849-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:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1
wasm-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:70428a4f4110aef5b17a27427e965f31cf3855e8cf1dfdc416ed61c780337965
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/9] Compiling Aoxiang Socket.swift
/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:49:20: error: value of type 'sockaddr_in' has no member 'sin_zero'
47 | serveraddr.sin_port = port.bigEndian
48 | serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
49 | serveraddr.sin_zero = (zero, zero, zero, zero, zero, zero, zero, zero)
| `- error: value of type 'sockaddr_in' has no member 'sin_zero'
50 | self.sock = socket(internetLayerProtocol, Int32(transportLayerType), 0)
51 |
/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: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: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: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 | }
[4/9] Compiling Aoxiang HTTPServer.swift
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:70:33: error: cannot find type 'UIBackgroundTaskIdentifier' in scope
68 | private var port: in_port_t = 8080
69 |
70 | private var backgroundTask: UIBackgroundTaskIdentifier?
| `- error: cannot find type 'UIBackgroundTaskIdentifier' in scope
71 |
72 | /// Create a server instance
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:95:25: error: cannot find 'DispatchQueue' in scope
93 |
94 | /// Queue for socket set
95 | private let queue = DispatchQueue(label: "aoxiang.socket")
| `- error: cannot find 'DispatchQueue' in scope
96 |
97 | /// Start server on a port, default is 8080.
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:137:9: error: cannot find 'NotificationCenter' in scope
135 | #endif
136 |
137 | NotificationCenter.default.addObserver(forName: UIApplication.didEnterBackgroundNotification, object: nil, queue: nil) { [weak self] _ in
| `- error: cannot find 'NotificationCenter' in scope
138 | UIApplication.shared.beginBackgroundTask()
139 | }
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:137:57: error: cannot find 'UIApplication' in scope
135 | #endif
136 |
137 | NotificationCenter.default.addObserver(forName: UIApplication.didEnterBackgroundNotification, object: nil, queue: nil) { [weak self] _ in
| `- error: cannot find 'UIApplication' in scope
138 | UIApplication.shared.beginBackgroundTask()
139 | }
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:138:13: error: cannot find 'UIApplication' in scope
136 |
137 | NotificationCenter.default.addObserver(forName: UIApplication.didEnterBackgroundNotification, object: nil, queue: nil) { [weak self] _ in
138 | UIApplication.shared.beginBackgroundTask()
| `- error: cannot find 'UIApplication' in scope
139 | }
140 | }
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:137:111: error: 'nil' requires a contextual type
135 | #endif
136 |
137 | NotificationCenter.default.addObserver(forName: UIApplication.didEnterBackgroundNotification, object: nil, queue: nil) { [weak self] _ in
| `- error: 'nil' requires a contextual type
138 | UIApplication.shared.beginBackgroundTask()
139 | }
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:137:123: error: 'nil' requires a contextual type
135 | #endif
136 |
137 | NotificationCenter.default.addObserver(forName: UIApplication.didEnterBackgroundNotification, object: nil, queue: nil) { [weak self] _ in
| `- error: 'nil' requires a contextual type
138 | UIApplication.shared.beginBackgroundTask()
139 | }
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:137:142: error: cannot infer type of closure parameter '_' without a type annotation
135 | #endif
136 |
137 | NotificationCenter.default.addObserver(forName: UIApplication.didEnterBackgroundNotification, object: nil, queue: nil) { [weak self] _ in
| `- error: cannot infer type of closure parameter '_' without a type annotation
138 | UIApplication.shared.beginBackgroundTask()
139 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/9] Compiling Aoxiang HTTPParser.swift
[6/9] Emitting module Aoxiang
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:70:33: error: cannot find type 'UIBackgroundTaskIdentifier' in scope
68 | private var port: in_port_t = 8080
69 |
70 | private var backgroundTask: UIBackgroundTaskIdentifier?
| `- error: cannot find type 'UIBackgroundTaskIdentifier' in scope
71 |
72 | /// Create a server instance
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:95:25: error: cannot find 'DispatchQueue' in scope
93 |
94 | /// Queue for socket set
95 | private let queue = DispatchQueue(label: "aoxiang.socket")
| `- error: cannot find 'DispatchQueue' in scope
96 |
97 | /// Start server on a port, default is 8080.
[7/9] Compiling Aoxiang HTTPRouter.swift
[8/9] Compiling Aoxiang HTTPResponse.swift
[9/9] Compiling Aoxiang HTTPRequest.swift
BUILD FAILURE 6.2 wasm