The Swift Package Index logo.Swift Package Index

Build Information

Failed to build unbreak, reference v0.7.2 (ae41e3), with Swift 6.3 for Android on 29 Sep 2026 01:18:51 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344843-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:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bart-turczynski/unbreak.git
Reference: v0.7.2
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/bart-turczynski/unbreak
 * tag               v0.7.2     -> FETCH_HEAD
HEAD is now at ae41e35 chore(release): bump to v0.7.2 (#61)
Cloned https://github.com/bart-turczynski/unbreak.git
Revision (git rev-parse @):
ae41e358566c96f7e3a9419f71ad4d1aa2e67f04
SUCCESS checkout https://github.com/bart-turczynski/unbreak.git at v0.7.2
========================================
Build
========================================
Selected platform:         android
Swift version:             6.3
Building package at path:  $PWD
https://github.com/bart-turczynski/unbreak.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344843-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:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:8ca9e1e6d70fd53f5b05e4f64d92569d697563f7f457a1485802bc9eb2cd1382
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.3-latest
Building for debugging...
[0/17] Write sources
[7/17] Write swift-version-272D24FF697CF451.txt
[9/30] Emitting module Clipboard
[10/30] Compiling UnbreakCore Unshatter.swift
[11/30] Compiling Clipboard Pasteboard.swift
[13/32] Compiling UnbreakCore Signals.swift
[14/32] Compiling UnbreakCore RepairReport.swift
[15/32] Compiling UnbreakCore WatchGate.swift
[15/32] Wrapping AST for Clipboard for debugging
[17/32] Emitting module UnbreakCore
[18/32] Compiling UnbreakCore Repair+QuotedScript.swift
[19/32] Compiling UnbreakCore Repair.swift
[20/32] Compiling UnbreakCore DisplayWidth.swift
[21/32] Compiling UnbreakCore Heredoc.swift
[22/32] Compiling UnbreakCore MergeSplit.swift
[23/32] Compiling UnbreakCore Repair+QuoteBar.swift
[24/32] Compiling UnbreakCore WrapProfile.swift
[25/37] Wrapping AST for UnbreakCore for debugging
error: emit-module command failed with exit code 1 (use -v to see invocation)
[27/45] Emitting module Watch
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:44:48: error: cannot find type 'sockaddr_un' in scope
 42 |
 43 | /// Build a `sockaddr_un` for `path`, copying the UTF-8 bytes into `sun_path`.
 44 | private func makeUndoSockaddr(path: String) -> sockaddr_un {
    |                                                `- error: cannot find type 'sockaddr_un' in scope
 45 |     var addr = sockaddr_un()
 46 |     addr.sun_family = sa_family_t(AF_UNIX)
[28/45] Compiling Watch WatchLock.swift
[29/46] Compiling Watch WatchSession.swift
[30/46] Compiling Watch UndoServer.swift
[31/46] Compiling Watch UndoSocket.swift
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:44:48: error: cannot find type 'sockaddr_un' in scope
 42 |
 43 | /// Build a `sockaddr_un` for `path`, copying the UTF-8 bytes into `sun_path`.
 44 | private func makeUndoSockaddr(path: String) -> sockaddr_un {
    |                                                `- error: cannot find type 'sockaddr_un' in scope
 45 |     var addr = sockaddr_un()
 46 |     addr.sun_family = sa_family_t(AF_UNIX)
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:45:16: error: cannot find 'sockaddr_un' in scope
 43 | /// Build a `sockaddr_un` for `path`, copying the UTF-8 bytes into `sun_path`.
 44 | private func makeUndoSockaddr(path: String) -> sockaddr_un {
 45 |     var addr = sockaddr_un()
    |                `- error: cannot find 'sockaddr_un' in scope
 46 |     addr.sun_family = sa_family_t(AF_UNIX)
 47 |     let bytes = Array(path.utf8)
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:46:23: error: cannot find 'sa_family_t' in scope
 44 | private func makeUndoSockaddr(path: String) -> sockaddr_un {
 45 |     var addr = sockaddr_un()
 46 |     addr.sun_family = sa_family_t(AF_UNIX)
    |                       `- error: cannot find 'sa_family_t' in scope
 47 |     let bytes = Array(path.utf8)
 48 |     let capacity = MemoryLayout.size(ofValue: addr.sun_path)
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:46:35: error: cannot find 'AF_UNIX' in scope
 44 | private func makeUndoSockaddr(path: String) -> sockaddr_un {
 45 |     var addr = sockaddr_un()
 46 |     addr.sun_family = sa_family_t(AF_UNIX)
    |                                   `- error: cannot find 'AF_UNIX' in scope
 47 |     let bytes = Array(path.utf8)
 48 |     let capacity = MemoryLayout.size(ofValue: addr.sun_path)
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:66:51: error: cannot find 'Darwin' in scope
 64 |     while buffer.count < maxBytes {
 65 |         let want = min(chunk.count, maxBytes - buffer.count)
 66 |         let read = chunk.withUnsafeMutableBytes { Darwin.read(fd, $0.baseAddress, want) }
    |                                                   `- error: cannot find 'Darwin' in scope
 67 |         guard read > 0 else { break }
 68 |         buffer.append(contentsOf: chunk[0..<read])
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:84:21: error: cannot find 'Darwin' in scope
 82 |         var written = 0
 83 |         while written < count {
 84 |             let n = Darwin.write(fd, base + written, count - written)
    |                     `- error: cannot find 'Darwin' in scope
 85 |             guard n > 0 else { return false }
 86 |             written += n
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:111:9: error: cannot find 'Darwin' in scope
109 |     func close() {
110 |         guard !isClosed else { return }
111 |         Darwin.close(fd)
    |         `- error: cannot find 'Darwin' in scope
112 |         isClosed = true
113 |     }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:153:13: error: cannot find 'Darwin' in scope
151 |         }
152 |         readSource.setCancelHandler {
153 |             Darwin.close(fd)
    |             `- error: cannot find 'Darwin' in scope
154 |         }
155 |         source = readSource
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:163:9: error: cannot find 'unlink' in scope
161 |         source?.cancel()
162 |         source = nil
163 |         unlink(socketURL.path)
    |         `- error: cannot find 'unlink' in scope
164 |         listenFD = -1
165 |     }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:170:28: error: cannot find 'accept' in scope
168 |     /// ignored — the source will fire again if more connections are queued.
169 |     private func acceptOne() {
170 |         let connectionFD = accept(listenFD, nil, nil)
    |                            `- error: cannot find 'accept' in scope
171 |         guard connectionFD >= 0 else { return }
172 |         server.serve(FileDescriptorConnection(fd: connectionFD))
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:170:45: error: 'nil' requires a contextual type
168 |     /// ignored — the source will fire again if more connections are queued.
169 |     private func acceptOne() {
170 |         let connectionFD = accept(listenFD, nil, nil)
    |                                             `- error: 'nil' requires a contextual type
171 |         guard connectionFD >= 0 else { return }
172 |         server.serve(FileDescriptorConnection(fd: connectionFD))
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:170:50: error: 'nil' requires a contextual type
168 |     /// ignored — the source will fire again if more connections are queued.
169 |     private func acceptOne() {
170 |         let connectionFD = accept(listenFD, nil, nil)
    |                                                  `- error: 'nil' requires a contextual type
171 |         guard connectionFD >= 0 else { return }
172 |         server.serve(FileDescriptorConnection(fd: connectionFD))
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:180:18: error: cannot find 'socket' in scope
178 |             throw UndoSocketError.pathTooLong(path.utf8.count)
179 |         }
180 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
    |                  `- error: cannot find 'socket' in scope
181 |         guard fd >= 0 else { throw UndoSocketError.socketFailed(errno) }
182 |
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:180:25: error: cannot find 'AF_UNIX' in scope
178 |             throw UndoSocketError.pathTooLong(path.utf8.count)
179 |         }
180 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
    |                         `- error: cannot find 'AF_UNIX' in scope
181 |         guard fd >= 0 else { throw UndoSocketError.socketFailed(errno) }
182 |
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:180:34: error: cannot find 'SOCK_STREAM' in scope
178 |             throw UndoSocketError.pathTooLong(path.utf8.count)
179 |         }
180 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
    |                                  `- error: cannot find 'SOCK_STREAM' in scope
181 |         guard fd >= 0 else { throw UndoSocketError.socketFailed(errno) }
182 |
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:181:65: error: cannot find 'errno' in scope
179 |         }
180 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
181 |         guard fd >= 0 else { throw UndoSocketError.socketFailed(errno) }
    |                                                                 `- error: cannot find 'errno' in scope
182 |
183 |         // Remove any stale socket left by a crashed/killed daemon before binding.
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.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
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:184:9: error: cannot find 'unlink' in scope
182 |
183 |         // Remove any stale socket left by a crashed/killed daemon before binding.
184 |         unlink(path)
    |         `- error: cannot find 'unlink' in scope
185 |
186 |         var addr = makeUndoSockaddr(path: path)
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:187:45: error: cannot find type 'sockaddr_un' in scope
185 |
186 |         var addr = makeUndoSockaddr(path: path)
187 |         let length = socklen_t(MemoryLayout<sockaddr_un>.size)
    |                                             `- error: cannot find type 'sockaddr_un' in scope
188 |         let bound = withUnsafePointer(to: &addr) {
189 |             $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { bind(fd, $0, length) }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:189:38: error: cannot find 'sockaddr' in scope
187 |         let length = socklen_t(MemoryLayout<sockaddr_un>.size)
188 |         let bound = withUnsafePointer(to: &addr) {
189 |             $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { bind(fd, $0, length) }
    |                                      `- error: cannot find 'sockaddr' in scope
190 |         }
191 |         guard bound == 0 else {
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:189:68: error: cannot find 'bind' in scope
187 |         let length = socklen_t(MemoryLayout<sockaddr_un>.size)
188 |         let bound = withUnsafePointer(to: &addr) {
189 |             $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { bind(fd, $0, length) }
    |                                                                    `- error: cannot find 'bind' in scope
190 |         }
191 |         guard bound == 0 else {
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:189:16: error: generic parameter 'T' could not be inferred
187 |         let length = socklen_t(MemoryLayout<sockaddr_un>.size)
188 |         let bound = withUnsafePointer(to: &addr) {
189 |             $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { bind(fd, $0, length) }
    |                `- error: generic parameter 'T' could not be inferred
190 |         }
191 |         guard bound == 0 else {
Swift.UnsafePointer.withMemoryRebound:2:13: note: in call to function 'withMemoryRebound(to:capacity:_:)'
1 | generic struct UnsafePointer {
2 | public func withMemoryRebound<T, E, Result>(to type: T.Type, capacity count: Int, _ body: (_ pointer: UnsafePointer<T>) throws(E) -> Result) throws(E) -> Result where E : Error, T : ~Copyable, Result : ~Copyable}
  |             `- note: in call to function 'withMemoryRebound(to:capacity:_:)'
3 |
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:192:24: error: cannot find 'errno' in scope
190 |         }
191 |         guard bound == 0 else {
192 |             let code = errno
    |                        `- error: cannot find 'errno' in scope
193 |             Darwin.close(fd)
194 |             throw UndoSocketError.bindFailed(code)
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.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
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:193:13: error: cannot find 'Darwin' in scope
191 |         guard bound == 0 else {
192 |             let code = errno
193 |             Darwin.close(fd)
    |             `- error: cannot find 'Darwin' in scope
194 |             throw UndoSocketError.bindFailed(code)
195 |         }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:196:15: error: cannot find 'listen' in scope
194 |             throw UndoSocketError.bindFailed(code)
195 |         }
196 |         guard listen(fd, 4) == 0 else {
    |               `- error: cannot find 'listen' in scope
197 |             let code = errno
198 |             Darwin.close(fd)
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:197:24: error: cannot find 'errno' in scope
195 |         }
196 |         guard listen(fd, 4) == 0 else {
197 |             let code = errno
    |                        `- error: cannot find 'errno' in scope
198 |             Darwin.close(fd)
199 |             throw UndoSocketError.listenFailed(code)
/root/.swiftpm/swift-sdks/swift-6.3.2-RELEASE_android.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
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:198:13: error: cannot find 'Darwin' in scope
196 |         guard listen(fd, 4) == 0 else {
197 |             let code = errno
198 |             Darwin.close(fd)
    |             `- error: cannot find 'Darwin' in scope
199 |             throw UndoSocketError.listenFailed(code)
200 |         }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:234:18: error: cannot find 'socket' in scope
232 |             return .error("socket path too long")
233 |         }
234 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
    |                  `- error: cannot find 'socket' in scope
235 |         guard fd >= 0 else { return .error("socket() failed") }
236 |         defer { Darwin.close(fd) }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:234:25: error: cannot find 'AF_UNIX' in scope
232 |             return .error("socket path too long")
233 |         }
234 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
    |                         `- error: cannot find 'AF_UNIX' in scope
235 |         guard fd >= 0 else { return .error("socket() failed") }
236 |         defer { Darwin.close(fd) }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:234:34: error: cannot find 'SOCK_STREAM' in scope
232 |             return .error("socket path too long")
233 |         }
234 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
    |                                  `- error: cannot find 'SOCK_STREAM' in scope
235 |         guard fd >= 0 else { return .error("socket() failed") }
236 |         defer { Darwin.close(fd) }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:236:17: error: cannot find 'Darwin' in scope
234 |         let fd = socket(AF_UNIX, SOCK_STREAM, 0)
235 |         guard fd >= 0 else { return .error("socket() failed") }
236 |         defer { Darwin.close(fd) }
    |                 `- error: cannot find 'Darwin' in scope
237 |
238 |         var addr = makeUndoSockaddr(path: path)
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:239:45: error: cannot find type 'sockaddr_un' in scope
237 |
238 |         var addr = makeUndoSockaddr(path: path)
239 |         let length = socklen_t(MemoryLayout<sockaddr_un>.size)
    |                                             `- error: cannot find type 'sockaddr_un' in scope
240 |         let connected = withUnsafePointer(to: &addr) {
241 |             $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { connect(fd, $0, length) }
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:241:38: error: cannot find 'sockaddr' in scope
239 |         let length = socklen_t(MemoryLayout<sockaddr_un>.size)
240 |         let connected = withUnsafePointer(to: &addr) {
241 |             $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { connect(fd, $0, length) }
    |                                      `- error: cannot find 'sockaddr' in scope
242 |         }
243 |         // ENOENT / ECONNREFUSED both mean "no daemon listening here" — an ordinary
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:241:68: error: cannot find 'connect' in scope
239 |         let length = socklen_t(MemoryLayout<sockaddr_un>.size)
240 |         let connected = withUnsafePointer(to: &addr) {
241 |             $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { connect(fd, $0, length) }
    |                                                                    `- error: cannot find 'connect' in scope
242 |         }
243 |         // ENOENT / ECONNREFUSED both mean "no daemon listening here" — an ordinary
/host/spi-builder-workspace/Sources/Watch/UndoSocket.swift:241:16: error: generic parameter 'T' could not be inferred
239 |         let length = socklen_t(MemoryLayout<sockaddr_un>.size)
240 |         let connected = withUnsafePointer(to: &addr) {
241 |             $0.withMemoryRebound(to: sockaddr.self, capacity: 1) { connect(fd, $0, length) }
    |                `- error: generic parameter 'T' could not be inferred
242 |         }
243 |         // ENOENT / ECONNREFUSED both mean "no daemon listening here" — an ordinary
Swift.UnsafePointer.withMemoryRebound:2:13: note: in call to function 'withMemoryRebound(to:capacity:_:)'
1 | generic struct UnsafePointer {
2 | public func withMemoryRebound<T, E, Result>(to type: T.Type, capacity count: Int, _ body: (_ pointer: UnsafePointer<T>) throws(E) -> Result) throws(E) -> Result where E : Error, T : ~Copyable, Result : ~Copyable}
  |             `- note: in call to function 'withMemoryRebound(to:capacity:_:)'
3 |
[32/46] Compiling Watch WatchLog.swift
[33/46] Compiling Config ConfigLoader.swift
[34/46] Emitting module Config
[35/46] Compiling Config Config.swift
[36/46] Compiling Watch UndoProtocol.swift
[37/46] Compiling Watch Rollback.swift
[38/46] Compiling Config TOML.swift
[40/47] Compiling Watch Watcher.swift
[40/47] Wrapping AST for Config for debugging
error: cancelled
error: cancelled
error: cancelled
error: cancelled
error: cancelled
BUILD FAILURE 6.3 android