Build Information
Failed to build Aoxiang, reference main (220000
), with Swift 6.1 for Android on 28 May 2025 16:55:03 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
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.1
Building package at path: $PWD
https://github.com/isaced/Aoxiang.git
https://github.com/isaced/Aoxiang.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "Aoxiang",
"name" : "Aoxiang",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "Aoxiang",
"targets" : [
"Aoxiang"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "AoxiangTests",
"module_type" : "SwiftTarget",
"name" : "AoxiangTests",
"path" : "Tests/AoxiangTests",
"sources" : [
"AoxiangTests.swift",
"MiddlewareTests.swift",
"Utils.swift"
],
"target_dependencies" : [
"Aoxiang"
],
"type" : "test"
},
{
"c99name" : "Aoxiang",
"module_type" : "SwiftTarget",
"name" : "Aoxiang",
"path" : "Sources/Aoxiang",
"product_memberships" : [
"Aoxiang"
],
"sources" : [
"HTTPParser.swift",
"HTTPRequest.swift",
"HTTPResponse.swift",
"HTTPRouter.swift",
"HTTPServer.swift",
"Socket.swift"
],
"type" : "library"
}
],
"tools_version" : "5.4"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/9] Compiling Aoxiang HTTPRouter.swift
[4/9] Compiling Aoxiang HTTPResponse.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/9] Compiling Aoxiang HTTPParser.swift
[6/9] Compiling Aoxiang HTTPRequest.swift
[7/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
[8/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 }
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:115:25: warning: capture of 'strongSelf' with non-sendable type 'HTTPServer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | /// }
50 | /// try server.start(3000)
51 | open class HTTPServer {
| `- note: class 'HTTPServer' does not conform to the 'Sendable' protocol
52 | /// A butil-in router middleware
53 | let router = HTTPRouter()
:
113 | guard let strongSelf = self else { return }
114 | strongSelf.queue.async {
115 | strongSelf.sockets.insert(socket)
| `- warning: capture of 'strongSelf' with non-sendable type 'HTTPServer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
116 | }
117 |
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:115:51: warning: capture of 'socket' with non-sendable type 'Socket' in a '@Sendable' closure; this is an error in the Swift 6 language mode
113 | guard let strongSelf = self else { return }
114 | strongSelf.queue.async {
115 | strongSelf.sockets.insert(socket)
| `- warning: capture of 'socket' with non-sendable type 'Socket' in a '@Sendable' closure; this is an error in the Swift 6 language mode
116 | }
117 |
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:24:7: note: class 'Socket' does not conform to the 'Sendable' protocol
22 | ///
23 | /// This class is used to create a socket, bind it to a port, listen for incoming connections, and accept them.
24 | class Socket: Hashable, Equatable {
| `- note: class 'Socket' does not conform to the 'Sendable' protocol
25 | let sock: Int32
26 |
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:121:25: warning: capture of 'strongSelf' with non-sendable type 'HTTPServer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
49 | /// }
50 | /// try server.start(3000)
51 | open class HTTPServer {
| `- note: class 'HTTPServer' does not conform to the 'Sendable' protocol
52 | /// A butil-in router middleware
53 | let router = HTTPRouter()
:
119 |
120 | strongSelf.queue.async {
121 | strongSelf.sockets.remove(socket)
| `- warning: capture of 'strongSelf' with non-sendable type 'HTTPServer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
122 | }
123 | }
/host/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:121:51: warning: capture of 'socket' with non-sendable type 'Socket' in a '@Sendable' closure; this is an error in the Swift 6 language mode
119 |
120 | strongSelf.queue.async {
121 | strongSelf.sockets.remove(socket)
| `- warning: capture of 'socket' with non-sendable type 'Socket' in a '@Sendable' closure; this is an error in the Swift 6 language mode
122 | }
123 | }
/host/spi-builder-workspace/Sources/Aoxiang/Socket.swift:24:7: note: class 'Socket' does not conform to the 'Sendable' protocol
22 | ///
23 | /// This class is used to create a socket, bind it to a port, listen for incoming connections, and accept them.
24 | class Socket: Hashable, Equatable {
| `- note: class 'Socket' does not conform to the 'Sendable' protocol
25 | let sock: Int32
26 |
[9/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.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-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
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/8] Compiling Aoxiang HTTPRequest.swift
[3/8] 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 }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/8] 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
[5/8] Compiling Aoxiang HTTPParser.swift
[6/8] Compiling Aoxiang HTTPResponse.swift
[7/8] Compiling Aoxiang HTTPRouter.swift
[8/8] 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.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-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
BUILD FAILURE 6.1 android