Build Information
Failed to build KinUtil, reference master (c72c3b), with Swift 6.1 for Android on 27 May 2025 18:06:38 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kinecosystem/kin-util-ios.git
Reference: master
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/kinecosystem/kin-util-ios
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at c72c3b1 Merge pull request #11 from kinecosystem/DP-467_swift-5
Cloned https://github.com/kinecosystem/kin-util-ios.git
Revision (git rev-parse @):
c72c3b151f71a6bf15b0ce98edd3f69a154610f5
SUCCESS checkout https://github.com/kinecosystem/kin-util-ios.git at master
========================================
Build
========================================
Selected platform: android
Swift version: 6.1
Building package at path: $PWD
https://github.com/kinecosystem/kin-util-ios.git
https://github.com/kinecosystem/kin-util-ios.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "KinUtil",
"name" : "KinUtil",
"path" : "/host/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "KinUtil",
"targets" : [
"KinUtil"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "KinUtil",
"module_type" : "SwiftTarget",
"name" : "KinUtil",
"path" : "Sources/KinUtil",
"product_memberships" : [
"KinUtil"
],
"sources" : [
"Curry.swift",
"Observable.swift",
"Observables.swift",
"Promise.swift",
"Utility.swift",
"extensions/Array+extensions.swift",
"extensions/Data+extensions.swift",
"extensions/String+extensions.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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/10] Compiling KinUtil Observable.swift
/host/spi-builder-workspace/Sources/KinUtil/Observable.swift:67:34: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
63 | }
64 |
65 | private func enqueue(_ block: @escaping () -> Void) {
| `- note: parameter 'block' is implicitly non-sendable
66 | if let queue = queue {
67 | queue.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
68 | }
69 | else {
[4/11] Compiling KinUtil Array+extensions.swift
[5/11] Compiling KinUtil Data+extensions.swift
[6/11] Compiling KinUtil Utility.swift
[7/11] Compiling KinUtil Promise.swift
/host/spi-builder-workspace/Sources/KinUtil/Promise.swift:188:27: warning: capture of 'block' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
186 | private func run(_ block: @escaping () -> (), on queue: DispatchQueue?) {
187 | if let queue = queue {
188 | queue.async { block() }
| |- warning: capture of 'block' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
189 | }
190 | else {
/host/spi-builder-workspace/Sources/KinUtil/Promise.swift:226:29: warning: capture of 'attempt2' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
224 | if attempts < tries {
225 | DispatchQueue.global().asyncAfter(deadline: .now() + retryIntervals[attempts - 1]) {
226 | attempt2()
| |- warning: capture of 'attempt2' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
227 | }
228 |
/host/spi-builder-workspace/Sources/KinUtil/Promise.swift:226:29: warning: reference to captured var 'attempt2' in concurrently-executing code; this is an error in the Swift 6 language mode
224 | if attempts < tries {
225 | DispatchQueue.global().asyncAfter(deadline: .now() + retryIntervals[attempts - 1]) {
226 | attempt2()
| `- warning: reference to captured var 'attempt2' in concurrently-executing code; this is an error in the Swift 6 language mode
227 | }
228 |
/host/spi-builder-workspace/Sources/KinUtil/Promise.swift:251:29: warning: capture of 'attempt1' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
249 | if attempts < tries {
250 | DispatchQueue.global().asyncAfter(deadline: .now() + retryIntervals[attempts - 1]) {
251 | attempt1()
| |- warning: capture of 'attempt1' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
252 | }
253 |
[8/11] Compiling KinUtil Observables.swift
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:98:80: error: cannot find type 'NSKeyValueObservingOptions' in scope
96 | private let keyPath: String
97 |
98 | init(object: NSObject, keyPath: WritableKeyPath<Type, ValueType>, options: NSKeyValueObservingOptions = [.new]) throws {
| `- error: cannot find type 'NSKeyValueObservingOptions' in scope
99 | guard let stringPath = keyPath._kvcKeyPathString else {
100 | throw Errors.invalidKeyPath
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:70:51: error: cannot find type 'NSKeyValueChangeKey' in scope
68 | @objc override func observeValue(forKeyPath keyPath: String?,
69 | of object: Any?,
70 | change: [NSKeyValueChangeKey : Any]?,
| `- error: cannot find type 'NSKeyValueChangeKey' in scope
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:68:10: error: Objective-C interoperability is disabled
66 | fileprivate weak var kvoObserver: KVOObserver?
67 |
68 | @objc override func observeValue(forKeyPath keyPath: String?,
| `- error: Objective-C interoperability is disabled
69 | of object: Any?,
70 | change: [NSKeyValueChangeKey : Any]?,
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:51:37: warning: capture of 'self' with non-sendable type 'NotificationObserver?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
34 | }
35 |
36 | public final class NotificationObserver: Observable<Notification> {
| `- note: class 'NotificationObserver' does not conform to the 'Sendable' protocol
37 | private var token: NSObjectProtocol
38 |
:
49 | queue: queue,
50 | using: { [weak self] notification in
51 | self?.next(notification)
| `- warning: capture of 'self' with non-sendable type 'NotificationObserver?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
52 | })
53 | }
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:72:31: error: cannot find 'NSKeyValueChangeKey' in scope
70 | change: [NSKeyValueChangeKey : Any]?,
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
| `- error: cannot find 'NSKeyValueChangeKey' in scope
73 | let old = change?[NSKeyValueChangeKey.oldKey]
74 |
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:72:30: error: type of expression is ambiguous without a type annotation
70 | change: [NSKeyValueChangeKey : Any]?,
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
| `- error: type of expression is ambiguous without a type annotation
73 | let old = change?[NSKeyValueChangeKey.oldKey]
74 |
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:73:31: error: cannot find 'NSKeyValueChangeKey' in scope
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
73 | let old = change?[NSKeyValueChangeKey.oldKey]
| `- error: cannot find 'NSKeyValueChangeKey' in scope
74 |
75 | if let new = new as? ValueType {
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:73:30: error: type of expression is ambiguous without a type annotation
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
73 | let old = change?[NSKeyValueChangeKey.oldKey]
| `- error: type of expression is ambiguous without a type annotation
74 |
75 | if let new = new as? ValueType {
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:110:16: error: value of type 'NSObject' has no member 'addObserver'
108 |
109 | observer.kvoObserver = self
110 | object.addObserver(observer, forKeyPath: self.keyPath, options: options.union([.new]), context: nil)
| `- error: value of type 'NSObject' has no member 'addObserver'
111 |
112 | let deletion = OnDelete { [weak self] in self?.cancel() }
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:110:89: error: reference to member 'new' cannot be resolved without a contextual type
108 |
109 | observer.kvoObserver = self
110 | object.addObserver(observer, forKeyPath: self.keyPath, options: options.union([.new]), context: nil)
| `- error: reference to member 'new' cannot be resolved without a contextual type
111 |
112 | let deletion = OnDelete { [weak self] in self?.cancel() }
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:110:105: error: 'nil' requires a contextual type
108 |
109 | observer.kvoObserver = self
110 | object.addObserver(observer, forKeyPath: self.keyPath, options: options.union([.new]), context: nil)
| `- error: 'nil' requires a contextual type
111 |
112 | let deletion = OnDelete { [weak self] in self?.cancel() }
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:113:9: error: cannot find 'objc_setAssociatedObject' in scope
111 |
112 | let deletion = OnDelete { [weak self] in self?.cancel() }
113 | objc_setAssociatedObject(object,
| `- error: cannot find 'objc_setAssociatedObject' in scope
114 | Unmanaged.passUnretained(self).toOpaque(),
115 | deletion,
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:116:35: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
114 | Unmanaged.passUnretained(self).toOpaque(),
115 | deletion,
116 | .OBJC_ASSOCIATION_RETAIN)
| `- error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
117 | }
118 |
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:120:39: error: value of type 'NSObject' has no member 'removeObserver'
118 |
119 | private func cancel() {
120 | object?.takeUnretainedValue().removeObserver(observer, forKeyPath: keyPath)
| `- error: value of type 'NSObject' has no member 'removeObserver'
121 | object = nil
122 | }
[9/11] Compiling KinUtil String+extensions.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[10/11] Compiling KinUtil Curry.swift
[11/11] Emitting module KinUtil
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:98:80: error: cannot find type 'NSKeyValueObservingOptions' in scope
96 | private let keyPath: String
97 |
98 | init(object: NSObject, keyPath: WritableKeyPath<Type, ValueType>, options: NSKeyValueObservingOptions = [.new]) throws {
| `- error: cannot find type 'NSKeyValueObservingOptions' in scope
99 | guard let stringPath = keyPath._kvcKeyPathString else {
100 | throw Errors.invalidKeyPath
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:70:51: error: cannot find type 'NSKeyValueChangeKey' in scope
68 | @objc override func observeValue(forKeyPath keyPath: String?,
69 | of object: Any?,
70 | change: [NSKeyValueChangeKey : Any]?,
| `- error: cannot find type 'NSKeyValueChangeKey' in scope
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:68:10: error: Objective-C interoperability is disabled
66 | fileprivate weak var kvoObserver: KVOObserver?
67 |
68 | @objc override func observeValue(forKeyPath keyPath: String?,
| `- error: Objective-C interoperability is disabled
69 | of object: Any?,
70 | change: [NSKeyValueChangeKey : Any]?,
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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/9] Compiling KinUtil Array+extensions.swift
[3/10] Compiling KinUtil Observables.swift
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:98:80: error: cannot find type 'NSKeyValueObservingOptions' in scope
96 | private let keyPath: String
97 |
98 | init(object: NSObject, keyPath: WritableKeyPath<Type, ValueType>, options: NSKeyValueObservingOptions = [.new]) throws {
| `- error: cannot find type 'NSKeyValueObservingOptions' in scope
99 | guard let stringPath = keyPath._kvcKeyPathString else {
100 | throw Errors.invalidKeyPath
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:70:51: error: cannot find type 'NSKeyValueChangeKey' in scope
68 | @objc override func observeValue(forKeyPath keyPath: String?,
69 | of object: Any?,
70 | change: [NSKeyValueChangeKey : Any]?,
| `- error: cannot find type 'NSKeyValueChangeKey' in scope
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:68:10: error: Objective-C interoperability is disabled
66 | fileprivate weak var kvoObserver: KVOObserver?
67 |
68 | @objc override func observeValue(forKeyPath keyPath: String?,
| `- error: Objective-C interoperability is disabled
69 | of object: Any?,
70 | change: [NSKeyValueChangeKey : Any]?,
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:72:31: error: cannot find 'NSKeyValueChangeKey' in scope
70 | change: [NSKeyValueChangeKey : Any]?,
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
| `- error: cannot find 'NSKeyValueChangeKey' in scope
73 | let old = change?[NSKeyValueChangeKey.oldKey]
74 |
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:72:30: error: type of expression is ambiguous without a type annotation
70 | change: [NSKeyValueChangeKey : Any]?,
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
| `- error: type of expression is ambiguous without a type annotation
73 | let old = change?[NSKeyValueChangeKey.oldKey]
74 |
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:73:31: error: cannot find 'NSKeyValueChangeKey' in scope
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
73 | let old = change?[NSKeyValueChangeKey.oldKey]
| `- error: cannot find 'NSKeyValueChangeKey' in scope
74 |
75 | if let new = new as? ValueType {
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:73:30: error: type of expression is ambiguous without a type annotation
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
73 | let old = change?[NSKeyValueChangeKey.oldKey]
| `- error: type of expression is ambiguous without a type annotation
74 |
75 | if let new = new as? ValueType {
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:110:16: error: value of type 'NSObject' has no member 'addObserver'
108 |
109 | observer.kvoObserver = self
110 | object.addObserver(observer, forKeyPath: self.keyPath, options: options.union([.new]), context: nil)
| `- error: value of type 'NSObject' has no member 'addObserver'
111 |
112 | let deletion = OnDelete { [weak self] in self?.cancel() }
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:110:89: error: reference to member 'new' cannot be resolved without a contextual type
108 |
109 | observer.kvoObserver = self
110 | object.addObserver(observer, forKeyPath: self.keyPath, options: options.union([.new]), context: nil)
| `- error: reference to member 'new' cannot be resolved without a contextual type
111 |
112 | let deletion = OnDelete { [weak self] in self?.cancel() }
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:110:105: error: 'nil' requires a contextual type
108 |
109 | observer.kvoObserver = self
110 | object.addObserver(observer, forKeyPath: self.keyPath, options: options.union([.new]), context: nil)
| `- error: 'nil' requires a contextual type
111 |
112 | let deletion = OnDelete { [weak self] in self?.cancel() }
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:113:9: error: cannot find 'objc_setAssociatedObject' in scope
111 |
112 | let deletion = OnDelete { [weak self] in self?.cancel() }
113 | objc_setAssociatedObject(object,
| `- error: cannot find 'objc_setAssociatedObject' in scope
114 | Unmanaged.passUnretained(self).toOpaque(),
115 | deletion,
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:116:35: error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
114 | Unmanaged.passUnretained(self).toOpaque(),
115 | deletion,
116 | .OBJC_ASSOCIATION_RETAIN)
| `- error: cannot infer contextual base in reference to member 'OBJC_ASSOCIATION_RETAIN'
117 | }
118 |
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:120:39: error: value of type 'NSObject' has no member 'removeObserver'
118 |
119 | private func cancel() {
120 | object?.takeUnretainedValue().removeObserver(observer, forKeyPath: keyPath)
| `- error: value of type 'NSObject' has no member 'removeObserver'
121 | object = nil
122 | }
[4/10] Compiling KinUtil String+extensions.swift
[5/10] Compiling KinUtil Utility.swift
[6/10] Compiling KinUtil Data+extensions.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/10] Compiling KinUtil Promise.swift
/host/spi-builder-workspace/Sources/KinUtil/Promise.swift:226:29: warning: reference to captured var 'attempt2' in concurrently-executing code; this is an error in the Swift 6 language mode
224 | if attempts < tries {
225 | DispatchQueue.global().asyncAfter(deadline: .now() + retryIntervals[attempts - 1]) {
226 | attempt2()
| `- warning: reference to captured var 'attempt2' in concurrently-executing code; this is an error in the Swift 6 language mode
227 | }
228 |
[8/10] Compiling KinUtil Observable.swift
/host/spi-builder-workspace/Sources/KinUtil/Observable.swift:67:34: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
63 | }
64 |
65 | private func enqueue(_ block: @escaping () -> Void) {
| `- note: parameter 'block' is implicitly non-sendable
66 | if let queue = queue {
67 | queue.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
68 | }
69 | else {
[9/10] Compiling KinUtil Curry.swift
[10/10] Emitting module KinUtil
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:98:80: error: cannot find type 'NSKeyValueObservingOptions' in scope
96 | private let keyPath: String
97 |
98 | init(object: NSObject, keyPath: WritableKeyPath<Type, ValueType>, options: NSKeyValueObservingOptions = [.new]) throws {
| `- error: cannot find type 'NSKeyValueObservingOptions' in scope
99 | guard let stringPath = keyPath._kvcKeyPathString else {
100 | throw Errors.invalidKeyPath
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:70:51: error: cannot find type 'NSKeyValueChangeKey' in scope
68 | @objc override func observeValue(forKeyPath keyPath: String?,
69 | of object: Any?,
70 | change: [NSKeyValueChangeKey : Any]?,
| `- error: cannot find type 'NSKeyValueChangeKey' in scope
71 | context: UnsafeMutableRawPointer?) {
72 | let new = change?[NSKeyValueChangeKey.newKey]
/host/spi-builder-workspace/Sources/KinUtil/Observables.swift:68:10: error: Objective-C interoperability is disabled
66 | fileprivate weak var kvoObserver: KVOObserver?
67 |
68 | @objc override func observeValue(forKeyPath keyPath: String?,
| `- error: Objective-C interoperability is disabled
69 | of object: Any?,
70 | change: [NSKeyValueChangeKey : Any]?,
BUILD FAILURE 6.1 android