The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Aoxiang, reference 1.1.0 (8ead0b), with Swift 6.3 for Wasm on 29 Oct 2026 03:04:10 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:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/isaced/Aoxiang.git
Reference: 1.1.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.1.0      -> FETCH_HEAD
HEAD is now at 8ead0b7 test: keep the shared fetch helper out of the connection pool
Cloned https://github.com/isaced/Aoxiang.git
Revision (git rev-parse @):
8ead0b7ad5c5a64527373fd2c33da047d8555375
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/isaced/Aoxiang.git at 1.1.0
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/isaced/Aoxiang.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:wasm-6.3-latest swift build --swift-sdk swift-6.3.2-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:eea66feda95ad8894091082dbcb77ec1fc917891d37888fd1938b0b68455d992
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.3-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:53:34: error: cannot find 'SOCK_STREAM' in scope
 51 |     init(port: in_port_t) throws {
 52 |         let zero = Int8(0)
 53 |         let transportLayerType = SOCK_STREAM // TCP
    |                                  `- error: cannot find 'SOCK_STREAM' in scope
 54 |         let internetLayerProtocol = AF_INET // IPv4
 55 |         let socklen = UInt8(socklen_t(MemoryLayout<sockaddr_in>.size))
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:60:20: error: value of type 'sockaddr_in' has no member 'sin_zero'
 58 |         serveraddr.sin_port = port.bigEndian
 59 |         serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
 60 |         serveraddr.sin_zero = (zero, zero, zero, zero, zero, zero, zero, zero)
    |                    `- error: value of type 'sockaddr_in' has no member 'sin_zero'
 61 |         self.sock = socket(internetLayerProtocol, Int32(transportLayerType), 0)
 62 |
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:61:21: error: cannot find 'socket' in scope
 59 |         serveraddr.sin_addr = in_addr(s_addr: in_addr_t(0))
 60 |         serveraddr.sin_zero = (zero, zero, zero, zero, zero, zero, zero, zero)
 61 |         self.sock = socket(internetLayerProtocol, Int32(transportLayerType), 0)
    |                     `- error: cannot find 'socket' in scope
 62 |
 63 |         // reuse socket address (for fix "Address already in use")
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:64:9: error: cannot find 'setsockopt' in scope
 62 |
 63 |         // reuse socket address (for fix "Address already in use")
 64 |         setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &serveraddr, socklen_t(socklen))
    |         `- error: cannot find 'setsockopt' in scope
 65 |
 66 |         // bind
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:64:38: error: cannot find 'SO_REUSEADDR' in scope
 62 |
 63 |         // reuse socket address (for fix "Address already in use")
 64 |         setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &serveraddr, socklen_t(socklen))
    |                                      `- error: cannot find 'SO_REUSEADDR' in scope
 65 |
 66 |         // bind
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:68:13: error: cannot find 'bind' in scope
 66 |         // bind
 67 |         let bindResult = withUnsafePointer(to: &serveraddr) {
 68 |             bind(sock, UnsafePointer<sockaddr>(OpaquePointer($0)), socklen_t(socklen))
    |             `- error: cannot find 'bind' in scope
 69 |         }
 70 |         if bindResult == -1 {
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:75:12: error: cannot find 'listen' in scope
 73 |
 74 |         // listen
 75 |         if listen(sock, SOMAXCONN) == -1 {
    |            `- error: cannot find 'listen' in scope
 76 |             throw SocketError.listenFailed(errorDescription())
 77 |         }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:75:25: error: cannot find 'SOMAXCONN' in scope
 73 |
 74 |         // listen
 75 |         if listen(sock, SOMAXCONN) == -1 {
    |                         `- error: cannot find 'SOMAXCONN' in scope
 76 |             throw SocketError.listenFailed(errorDescription())
 77 |         }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:91:28: error: cannot find 'Darwin' in scope
 89 |
 90 |     public func accept() throws -> Socket {
 91 |         let clientSocket = Darwin.accept(sock, nil, nil)
    |                            `- error: cannot find 'Darwin' in scope
 92 |         if clientSocket == -1 {
 93 |             throw SocketError.acceptFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:91:48: error: 'nil' requires a contextual type
 89 |
 90 |     public func accept() throws -> Socket {
 91 |         let clientSocket = Darwin.accept(sock, nil, nil)
    |                                                `- error: 'nil' requires a contextual type
 92 |         if clientSocket == -1 {
 93 |             throw SocketError.acceptFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:91:53: error: 'nil' requires a contextual type
 89 |
 90 |     public func accept() throws -> Socket {
 91 |         let clientSocket = Darwin.accept(sock, nil, nil)
    |                                                     `- error: 'nil' requires a contextual type
 92 |         if clientSocket == -1 {
 93 |             throw SocketError.acceptFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:102:21: error: cannot convert value of type 'Int' to expected argument type 'time_t' (aka 'Int64')
100 |         guard seconds > 0 else { return }
101 |         var timeout = timeval(
102 |             tv_sec: Int(seconds),
    |                     `- error: cannot convert value of type 'Int' to expected argument type 'time_t' (aka 'Int64')
103 |             tv_usec: Int32((seconds - seconds.rounded(.down)) * 1_000_000)
104 |         )
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:103:22: error: cannot convert value of type 'Int32' to expected argument type 'suseconds_t' (aka 'Int64')
101 |         var timeout = timeval(
102 |             tv_sec: Int(seconds),
103 |             tv_usec: Int32((seconds - seconds.rounded(.down)) * 1_000_000)
    |                      `- error: cannot convert value of type 'Int32' to expected argument type 'suseconds_t' (aka 'Int64')
104 |         )
105 |         setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &timeout, socklen_t(MemoryLayout<timeval>.size))
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:105:9: error: cannot find 'setsockopt' in scope
103 |             tv_usec: Int32((seconds - seconds.rounded(.down)) * 1_000_000)
104 |         )
105 |         setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &timeout, socklen_t(MemoryLayout<timeval>.size))
    |         `- error: cannot find 'setsockopt' in scope
106 |     }
107 |
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:105:38: error: cannot find 'SO_RCVTIMEO' in scope
103 |             tv_usec: Int32((seconds - seconds.rounded(.down)) * 1_000_000)
104 |         )
105 |         setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &timeout, socklen_t(MemoryLayout<timeval>.size))
    |                                      `- error: cannot find 'SO_RCVTIMEO' in scope
106 |     }
107 |
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:113:9: error: cannot find 'Darwin' in scope
111 |         guard !closed else { return }
112 |         closed = true
113 |         Darwin.close(sock)
    |         `- error: cannot find 'Darwin' in scope
114 |     }
115 |
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:140:26: error: cannot find 'Darwin' in scope
138 |         var sent = 0
139 |         while sent < length {
140 |             let result = Darwin.write(sock, pointer + sent, Int(length - sent))
    |                          `- error: cannot find 'Darwin' in scope
141 |             if result <= 0 {
142 |                 throw SocketError.writeFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:156:21: error: cannot find 'Darwin' in scope
154 |     open func read() throws -> UInt8 {
155 |         var byte: UInt8 = 0
156 |         let count = Darwin.read(sock, &byte, 1)
    |                     `- error: cannot find 'Darwin' in scope
157 |         if count == 0 {
158 |             throw SocketError.connectionClosed
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:192:29: error: cannot find 'Darwin' in scope
190 |             // Compute next read length in bytes. The bytes read is never more than kBufferLength at once.
191 |             let readLength = offset + Socket.kBufferLength < length ? Socket.kBufferLength : length - offset
192 |             let bytesRead = Darwin.read(sock, baseAddress + offset, readLength)
    |                             `- error: cannot find 'Darwin' in scope
193 |             guard bytesRead > 0 else {
194 |                 throw SocketError.recvFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:222:12: error: cannot find 'getpeername' in scope
220 |     public func peername() throws -> String {
221 |         var addr = sockaddr(), len = socklen_t(MemoryLayout<sockaddr>.size)
222 |         if getpeername(sock, &addr, &len) != 0 {
    |            `- error: cannot find 'getpeername' in scope
223 |             throw SocketError.getPeerNameFailed(errorDescription())
224 |         }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:225:59: error: cannot find 'NI_MAXHOST' in scope
223 |             throw SocketError.getPeerNameFailed(errorDescription())
224 |         }
225 |         var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
    |                                                           `- error: cannot find 'NI_MAXHOST' in scope
226 |         if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
227 |             throw SocketError.getNameInfoFailed(errorDescription())
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:226:12: error: cannot find 'getnameinfo' in scope
224 |         }
225 |         var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
226 |         if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
    |            `- error: cannot find 'getnameinfo' in scope
227 |             throw SocketError.getNameInfoFailed(errorDescription())
228 |         }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:226:86: error: cannot find 'NI_NUMERICHOST' in scope
224 |         }
225 |         var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
226 |         if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
    |                                                                                      `- error: cannot find 'NI_NUMERICHOST' in scope
227 |             throw SocketError.getNameInfoFailed(errorDescription())
228 |         }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:226:78: error: 'nil' requires a contextual type
224 |         }
225 |         var hostBuffer = [CChar](repeating: 0, count: Int(NI_MAXHOST))
226 |         if getnameinfo(&addr, len, &hostBuffer, socklen_t(hostBuffer.count), nil, 0, NI_NUMERICHOST) != 0 {
    |                                                                              `- error: 'nil' requires a contextual type
227 |             throw SocketError.getNameInfoFailed(errorDescription())
228 |         }
[4/9] Compiling Aoxiang HTTPServer.swift
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:111:25: error: cannot find 'DispatchQueue' in scope
109 |
110 |     /// Queue for socket set
111 |     private let queue = DispatchQueue(label: "aoxiang.socket")
    |                         `- error: cannot find 'DispatchQueue' in scope
112 |
113 |     /// Signaled when the current accept loop exits
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:114:33: error: cannot find type 'DispatchSemaphore' in scope
112 |
113 |     /// Signaled when the current accept loop exits
114 |     private var acceptLoopDone: DispatchSemaphore?
    |                                 `- error: cannot find type 'DispatchSemaphore' in scope
115 |
116 |     /// Start server on a port, default is 8080.
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:134:30: error: cannot find 'DispatchSemaphore' in scope
132 |         self.socket = listeningSocket
133 |
134 |         let acceptLoopDone = DispatchSemaphore(value: 0)
    |                              `- error: cannot find 'DispatchSemaphore' in scope
135 |         self.queue.sync { self.acceptLoopDone = acceptLoopDone }
136 |
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:140:28: error: cannot find 'Thread' in scope
138 |         // the Swift concurrency cooperative pool starve unrelated tasks when
139 |         // the pool is small.
140 |         let acceptThread = Thread { [weak self, listeningSocket] in
    |                            `- error: cannot find 'Thread' in scope
141 |             defer { acceptLoopDone.signal() }
142 |
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:258:54: error: cannot find type 'DispatchSemaphore' in scope
256 |         self.socket = nil
257 |
258 |         let (sockets, acceptLoopDone): (Set<Socket>, DispatchSemaphore?) = self.queue.sync {
    |                                                      `- error: cannot find type 'DispatchSemaphore' in scope
259 |             let sockets = self.sockets
260 |             self.sockets.removeAll(keepingCapacity: true)
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:275:44: error: cannot call value of non-function type 'Date'
273 |         // loop could still accept on it.
274 |         if waitForAcceptLoop {
275 |             acceptLoopDone?.wait(timeout: .now() + 2)
    |                                            `- error: cannot call value of non-function type 'Date'
276 |         }
277 |     }
[5/9] Compiling Aoxiang HTTPRouter.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[6/9] Compiling Aoxiang HTTPResponse.swift
[7/9] Compiling Aoxiang HTTPParser.swift
[8/9] Compiling Aoxiang HTTPRequest.swift
[9/9] Emitting module Aoxiang
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:111:25: error: cannot find 'DispatchQueue' in scope
109 |
110 |     /// Queue for socket set
111 |     private let queue = DispatchQueue(label: "aoxiang.socket")
    |                         `- error: cannot find 'DispatchQueue' in scope
112 |
113 |     /// Signaled when the current accept loop exits
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:114:33: error: cannot find type 'DispatchSemaphore' in scope
112 |
113 |     /// Signaled when the current accept loop exits
114 |     private var acceptLoopDone: DispatchSemaphore?
    |                                 `- error: cannot find type 'DispatchSemaphore' in scope
115 |
116 |     /// Start server on a port, default is 8080.
BUILD FAILURE 6.3 wasm