The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

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