Build Information
Failed to build Cachyr, reference master (74e48d), with Swift 6.2 for Android on 18 Jun 2025 10:37:58 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nrkno/yr-cachyr.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/nrkno/yr-cachyr
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 74e48d4 Updated readme with SPM info
Cloned https://github.com/nrkno/yr-cachyr.git
Revision (git rev-parse @):
74e48d428a9b399e3fa4745f0634983d4f66a4c8
SUCCESS checkout https://github.com/nrkno/yr-cachyr.git at master
========================================
Build
========================================
Selected platform: android
Swift version: 6.2
Building package at path: $PWD
https://github.com/nrkno/yr-cachyr.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/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 Cachyr MemoryCache.swift
[4/9] Compiling Cachyr DataConvertable.swift
/host/spi-builder-workspace/Sources/DataConvertable.swift:55:29: warning: initialization of 'UnsafeBufferPointer<Self>' results in a dangling buffer pointer [#TemporaryPointers]
53 | public static func data(from value: Self) -> Data? {
54 | var theValue = value
55 | return Data(buffer: UnsafeBufferPointer(start: &theValue, count: 1))
| | |- note: implicit argument conversion from 'Self' to 'UnsafePointer<Self>?' produces a pointer valid only for the duration of the call to 'init(start:count:)'
| | `- note: use 'withUnsafePointer' in order to explicitly convert argument to pointer valid for a defined scope
| `- warning: initialization of 'UnsafeBufferPointer<Self>' results in a dangling buffer pointer [#TemporaryPointers]
56 | }
57 |
[#TemporaryPointers]: <https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers>
[5/9] Compiling Cachyr DiskCache.swift
/host/spi-builder-workspace/Sources/DiskCache.swift:406:30: error: cannot find 'ENOATTR' in scope
404 | } catch let error as ExtendedAttributeError {
405 | // Missing expiration attribute is not an error
406 | if error.code != ENOATTR {
| `- error: cannot find 'ENOATTR' in scope
407 | CacheLog.error("\(error.name) \(error.code) \(error.description)")
408 | }
[6/9] Compiling Cachyr FileManager+xattr.swift
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:38:14: error: cannot find 'ENOATTR' in scope
36 | name = "EEXIST"
37 | description = "Options contains XATTR_CREATE and the named attribute already exists."
38 | case ENOATTR:
| `- error: cannot find 'ENOATTR' in scope
39 | name = "ENOATTR"
40 | description = "GET: The extended attribute does not exist. SET: Options is set to XATTR_REPLACE and the named attribute does not exist."
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:93:20: error: cannot find 'getxattr' in scope
91 | func extendedAttribute(_ name: String, on url: URL) throws -> Data {
92 | // Get size of attribute data
93 | var size = getxattr(url.path, name, nil, 0, 0, 0)
| `- error: cannot find 'getxattr' in scope
94 | if size == -1 {
95 | throw ExtendedAttributeError(errno: errno)
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:93:45: error: 'nil' requires a contextual type
91 | func extendedAttribute(_ name: String, on url: URL) throws -> Data {
92 | // Get size of attribute data
93 | var size = getxattr(url.path, name, nil, 0, 0, 0)
| `- error: 'nil' requires a contextual type
94 | if size == -1 {
95 | throw ExtendedAttributeError(errno: errno)
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:95:49: error: cannot find 'errno' in scope
93 | var size = getxattr(url.path, name, nil, 0, 0, 0)
94 | if size == -1 {
95 | throw ExtendedAttributeError(errno: errno)
| `- error: cannot find 'errno' in scope
96 | }
97 |
/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
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:104:16: error: cannot find 'getxattr' in scope
102 | ptr.deallocate()
103 | }
104 | size = getxattr(url.path, name, ptr, size, 0, 0)
| `- error: cannot find 'getxattr' in scope
105 |
106 | return Data(bytes: ptr, count: size)
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:114:26: error: cannot find 'setxattr' in scope
112 | return
113 | }
114 | let result = setxattr(url.path, name, ptr, data.count, 0, 0)
| `- error: cannot find 'setxattr' in scope
115 | if result == -1 {
116 | throw ExtendedAttributeError(errno: errno)
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:116:53: error: cannot find 'errno' in scope
114 | let result = setxattr(url.path, name, ptr, data.count, 0, 0)
115 | if result == -1 {
116 | throw ExtendedAttributeError(errno: errno)
| `- error: cannot find 'errno' in scope
117 | }
118 | }
/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
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:122:22: error: cannot find 'removexattr' in scope
120 |
121 | func removeExtendedAttribute(_ name: String, from url: URL) throws {
122 | let result = removexattr(url.path, name, 0)
| `- error: cannot find 'removexattr' in scope
123 | if result == -1 {
124 | // If the attribute was already gone, do nothing
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:125:16: error: cannot find 'errno' in scope
123 | if result == -1 {
124 | // If the attribute was already gone, do nothing
125 | if errno != ENOATTR {
| `- error: cannot find 'errno' in scope
126 | throw ExtendedAttributeError(errno: errno)
127 | }
/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
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:125:25: error: cannot find 'ENOATTR' in scope
123 | if result == -1 {
124 | // If the attribute was already gone, do nothing
125 | if errno != ENOATTR {
| `- error: cannot find 'ENOATTR' in scope
126 | throw ExtendedAttributeError(errno: errno)
127 | }
/host/spi-builder-workspace/Sources/FileManager+xattr.swift:126:53: error: cannot find 'errno' in scope
124 | // If the attribute was already gone, do nothing
125 | if errno != ENOATTR {
126 | throw ExtendedAttributeError(errno: errno)
| `- error: cannot find 'errno' in scope
127 | }
128 | }
/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
[7/9] Emitting module Cachyr
[8/9] Compiling Cachyr CacheLog.swift
[9/9] Compiling Cachyr DataCache.swift
/host/spi-builder-workspace/Sources/DataCache.swift:106:25: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
104 | public func contains(key: String, access: DataCacheAccessOptions = .default, completion: @escaping (Bool) -> Void) {
105 | accessQueue.async {
106 | let found = self._contains(key: key, access: access)
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
107 | self.completionQueue.async {
108 | completion(found)
/host/spi-builder-workspace/Sources/DataCache.swift:104:17: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
102 | Asynchronously check if value identified by key exists in cache.
103 | */
104 | public func contains(key: String, access: DataCacheAccessOptions = .default, completion: @escaping (Bool) -> Void) {
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
105 | accessQueue.async {
106 | let found = self._contains(key: key, access: access)
/host/spi-builder-workspace/Sources/DataCache.swift:144:30: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
142 | public func value(forKey key: String, access: DataCacheAccessOptions = .default, completion: @escaping ValueCompletion) {
143 | accessQueue.async {
144 | let value = self._value(for: key, access: access)
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
145 | self.completionQueue.async {
146 | completion(value)
/host/spi-builder-workspace/Sources/DataCache.swift:142:17: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
140 | Asynchronously fetch value from cache.
141 | */
142 | public func value(forKey key: String, access: DataCacheAccessOptions = .default, completion: @escaping ValueCompletion) {
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
143 | accessQueue.async {
144 | let value = self._value(for: key, access: access)
/host/spi-builder-workspace/Sources/DataCache.swift:146:17: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
144 | let value = self._value(for: key, access: access)
145 | self.completionQueue.async {
146 | completion(value)
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
147 | }
148 | }
/host/spi-builder-workspace/Sources/DataCache.swift:142:86: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
140 | Asynchronously fetch value from cache.
141 | */
142 | public func value(forKey key: String, access: DataCacheAccessOptions = .default, completion: @escaping ValueCompletion) {
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
143 | accessQueue.async {
144 | let value = self._value(for: key, access: access)
/host/spi-builder-workspace/Sources/DataCache.swift:192:18: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
190 | public func setValue(_ value: ValueType, forKey key: String, expires: Date? = nil, access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
191 | accessQueue.async {
192 | self._setValue(value, for: key, expires: expires, access: access)
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
193 | self.completionQueue.async {
194 | completion()
/host/spi-builder-workspace/Sources/DataCache.swift:190:17: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
188 | Asynchronously set value for key in both memory and disk caches, with optional expiration date.
189 | */
190 | public func setValue(_ value: ValueType, forKey key: String, expires: Date? = nil, access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
191 | accessQueue.async {
192 | self._setValue(value, for: key, expires: expires, access: access)
/host/spi-builder-workspace/Sources/DataCache.swift:225:13: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
223 | public func removeValue(forKey key: String, access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
224 | accessQueue.async {
225 | self._removeValue(for: key, access: access)
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
226 | self.completionQueue.async {
227 | completion()
/host/spi-builder-workspace/Sources/DataCache.swift:223:17: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
221 | Asynchronously remove value for key.
222 | */
223 | public func removeValue(forKey key: String, access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
224 | accessQueue.async {
225 | self._removeValue(for: key, access: access)
/host/spi-builder-workspace/Sources/DataCache.swift:258:13: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
256 | public func removeAll(access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
257 | accessQueue.async {
258 | self._removeAll(access: access)
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
259 | self.completionQueue.async {
260 | completion()
/host/spi-builder-workspace/Sources/DataCache.swift:256:17: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
254 | Asynchronously remove all values in both memory and disk caches.
255 | */
256 | public func removeAll(access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
257 | accessQueue.async {
258 | self._removeAll(access: access)
/host/spi-builder-workspace/Sources/DataCache.swift:291:13: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
289 | public func removeExpired(access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
290 | accessQueue.async {
291 | self._removeExpired(access: access)
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
292 | self.completionQueue.async {
293 | completion()
/host/spi-builder-workspace/Sources/DataCache.swift:289:17: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
287 | Asynchronously remove expired values in both memory and disk caches.
288 | */
289 | public func removeExpired(access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
290 | accessQueue.async {
291 | self._removeExpired(access: access)
/host/spi-builder-workspace/Sources/DataCache.swift:324:13: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
322 | public func removeItems(olderThan date: Date, access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
323 | accessQueue.async {
324 | self._removeItems(olderThan: date, access: access)
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
325 | self.completionQueue.async {
326 | completion()
/host/spi-builder-workspace/Sources/DataCache.swift:322:17: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
320 | Asynchronously remove items older than the specified date.
321 | */
322 | public func removeItems(olderThan date: Date, access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
323 | accessQueue.async {
324 | self._removeItems(olderThan: date, access: access)
/host/spi-builder-workspace/Sources/DataCache.swift:359:24: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
357 | public func expirationDate(forKey key: String, access: DataCacheAccessOptions = .default, completion: @escaping (Date?) -> Void) {
358 | accessQueue.async {
359 | let date = self._expirationDate(for: key, access: access)
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
360 | self.completionQueue.async {
361 | completion(date)
/host/spi-builder-workspace/Sources/DataCache.swift:357:17: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
355 | Asynchronously get expiration date for item identified by key.
356 | */
357 | public func expirationDate(forKey key: String, access: DataCacheAccessOptions = .default, completion: @escaping (Date?) -> Void) {
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
358 | accessQueue.async {
359 | let date = self._expirationDate(for: key, access: access)
/host/spi-builder-workspace/Sources/DataCache.swift:397:13: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
395 | public func setExpirationDate(_ date: Date?, forKey key: String, access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
396 | accessQueue.async {
397 | self._setExpirationDate(date, for: key, access: access)
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
398 | self.completionQueue.async {
399 | completion()
/host/spi-builder-workspace/Sources/DataCache.swift:395:17: warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
393 | Set expiration date to nil to remove it.
394 | */
395 | public func setExpirationDate(_ date: Date?, forKey key: String, access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
| `- warning: capture of non-sendable type 'ValueType.Type' in an isolated closure; this is an error in the Swift 6 language mode
396 | accessQueue.async {
397 | self._setExpirationDate(date, for: key, access: access)
BUILD FAILURE 6.2 android