The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Cachyr, reference 1.3.1 (97aa6e), with Swift 6.1 for Android on 27 May 2025 17:04:55 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.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/nrkno/yr-cachyr.git
Reference: 1.3.1
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
 * tag               1.3.1      -> FETCH_HEAD
HEAD is now at 97aa6e9 Added SPM support (#7)
Cloned https://github.com/nrkno/yr-cachyr.git
Revision (git rev-parse @):
97aa6e9b6154656190e0949bcc45f44fb65aec88
SUCCESS checkout https://github.com/nrkno/yr-cachyr.git at 1.3.1
========================================
Build
========================================
Selected platform:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/nrkno/yr-cachyr.git
https://github.com/nrkno/yr-cachyr.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Cachyr",
  "name" : "Cachyr",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    },
    {
      "name" : "watchos",
      "version" : "3.0"
    }
  ],
  "products" : [
    {
      "name" : "Cachyr",
      "targets" : [
        "Cachyr"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "CachyrTests",
      "module_type" : "SwiftTarget",
      "name" : "CachyrTests",
      "path" : "Tests/CachyrTests",
      "sources" : [
        "DataCacheAccessTests.swift",
        "DataCacheTests.swift",
        "DiskCacheTests.swift",
        "MemoryCacheTests.swift"
      ],
      "target_dependencies" : [
        "Cachyr"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Cachyr",
      "module_type" : "SwiftTarget",
      "name" : "Cachyr",
      "path" : "Sources",
      "product_memberships" : [
        "Cachyr"
      ],
      "sources" : [
        "CacheLog.swift",
        "DataCache.swift",
        "DataConvertable.swift",
        "DiskCache.swift",
        "FileManager+xattr.swift",
        "MemoryCache.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-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/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.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
/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.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
/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.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
/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.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
[4/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 |             }
[5/9] Compiling Cachyr MemoryCache.swift
[6/9] Compiling Cachyr DataCache.swift
/host/spi-builder-workspace/Sources/DataCache.swift:37:23: warning: static property 'disk' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
 35 |     }
 36 |
 37 |     public static let disk   = DataCacheAccessOptions(rawValue: 1 << 0)
    |                       |- warning: static property 'disk' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'disk' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |     public static let memory = DataCacheAccessOptions(rawValue: 1 << 1)
 39 |
/host/spi-builder-workspace/Sources/DataCache.swift:38:23: warning: static property 'memory' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
 36 |
 37 |     public static let disk   = DataCacheAccessOptions(rawValue: 1 << 0)
 38 |     public static let memory = DataCacheAccessOptions(rawValue: 1 << 1)
    |                       |- warning: static property 'memory' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'memory' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |
 40 |     public static let `default`: DataCacheAccessOptions = [.disk, .memory]
/host/spi-builder-workspace/Sources/DataCache.swift:40:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
 38 |     public static let memory = DataCacheAccessOptions(rawValue: 1 << 1)
 39 |
 40 |     public static let `default`: DataCacheAccessOptions = [.disk, .memory]
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 | }
 42 |
/host/spi-builder-workspace/Sources/DataCache.swift:106:25: warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |            `- note: generic class 'DataCache' does not conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
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 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' 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:106:58: warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
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 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' 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:108:17: warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
106 |             let found = self._contains(key: key, access: access)
107 |             self.completionQueue.async {
108 |                 completion(found)
    |                 |- warning: capture of 'completion' with non-sendable type '(Bool) -> Void' 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'
109 |             }
110 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:108:17: warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
106 |             let found = self._contains(key: key, access: access)
107 |             self.completionQueue.async {
108 |                 completion(found)
    |                 |- warning: capture of 'completion' with non-sendable type '(Bool) -> Void' 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'
109 |             }
110 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:144:25: warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |            `- note: generic class 'DataCache' does not conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
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 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' 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:144:55: warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
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 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' 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:146:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.ValueCompletion' (aka '(Optional<ValueType>) -> ()') in a '@Sendable' 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 'completion' with non-sendable type 'DataCache<ValueType>.ValueCompletion' (aka '(Optional<ValueType>) -> ()') 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'
147 |             }
148 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:146:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.ValueCompletion' (aka '(Optional<ValueType>) -> ()') in a '@Sendable' 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 'completion' with non-sendable type 'DataCache<ValueType>.ValueCompletion' (aka '(Optional<ValueType>) -> ()') 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'
147 |             }
148 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:146:28: warning: capture of 'value' with non-sendable type 'ValueType?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |                      `- note: consider making generic parameter 'ValueType' conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
144 |             let value = self._value(for: key, access: access)
145 |             self.completionQueue.async {
146 |                 completion(value)
    |                            `- warning: capture of 'value' with non-sendable type 'ValueType?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
147 |             }
148 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:192:13: warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |            `- note: generic class 'DataCache' does not conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
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 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
193 |             self.completionQueue.async {
194 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:192:28: warning: capture of 'value' with non-sendable type 'ValueType' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |                      `- note: consider making generic parameter 'ValueType' conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
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 'value' with non-sendable type 'ValueType' in a '@Sendable' closure; this is an error in the Swift 6 language mode
193 |             self.completionQueue.async {
194 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:192:71: warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
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 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
193 |             self.completionQueue.async {
194 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:194:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
192 |             self._setValue(value, for: key, expires: expires, access: access)
193 |             self.completionQueue.async {
194 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
195 |             }
196 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:194:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
192 |             self._setValue(value, for: key, expires: expires, access: access)
193 |             self.completionQueue.async {
194 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
195 |             }
196 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:225:13: warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |            `- note: generic class 'DataCache' does not conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
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 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
226 |             self.completionQueue.async {
227 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:225:49: warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
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 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
226 |             self.completionQueue.async {
227 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:227:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
225 |             self._removeValue(for: key, access: access)
226 |             self.completionQueue.async {
227 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
228 |             }
229 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:227:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
225 |             self._removeValue(for: key, access: access)
226 |             self.completionQueue.async {
227 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
228 |             }
229 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:258:13: warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |            `- note: generic class 'DataCache' does not conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
256 |     public func removeAll(access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
257 |         accessQueue.async {
258 |             self._removeAll(access: access)
    |             `- warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
259 |             self.completionQueue.async {
260 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:258:37: warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
256 |     public func removeAll(access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
257 |         accessQueue.async {
258 |             self._removeAll(access: access)
    |                                     `- warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
259 |             self.completionQueue.async {
260 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:260:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
258 |             self._removeAll(access: access)
259 |             self.completionQueue.async {
260 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
261 |             }
262 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:260:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
258 |             self._removeAll(access: access)
259 |             self.completionQueue.async {
260 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
261 |             }
262 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:291:13: warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |            `- note: generic class 'DataCache' does not conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
289 |     public func removeExpired(access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
290 |         accessQueue.async {
291 |             self._removeExpired(access: access)
    |             `- warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
292 |             self.completionQueue.async {
293 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:291:41: warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
289 |     public func removeExpired(access: DataCacheAccessOptions = .default, completion: @escaping Completion) {
290 |         accessQueue.async {
291 |             self._removeExpired(access: access)
    |                                         `- warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
292 |             self.completionQueue.async {
293 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:293:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
291 |             self._removeExpired(access: access)
292 |             self.completionQueue.async {
293 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
294 |             }
295 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:293:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
291 |             self._removeExpired(access: access)
292 |             self.completionQueue.async {
293 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
294 |             }
295 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:324:13: warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |            `- note: generic class 'DataCache' does not conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
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 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
325 |             self.completionQueue.async {
326 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:324:56: warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
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 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
325 |             self.completionQueue.async {
326 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:326:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
324 |             self._removeItems(olderThan: date, access: access)
325 |             self.completionQueue.async {
326 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
327 |             }
328 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:326:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
324 |             self._removeItems(olderThan: date, access: access)
325 |             self.completionQueue.async {
326 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
327 |             }
328 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:359:24: warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |            `- note: generic class 'DataCache' does not conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
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 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' 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:359:63: warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
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 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' 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:361:17: warning: capture of 'completion' with non-sendable type '(Date?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
359 |             let date = self._expirationDate(for: key, access: access)
360 |             self.completionQueue.async {
361 |                 completion(date)
    |                 |- warning: capture of 'completion' with non-sendable type '(Date?) -> Void' 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'
362 |             }
363 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:361:17: warning: capture of 'completion' with non-sendable type '(Date?) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
359 |             let date = self._expirationDate(for: key, access: access)
360 |             self.completionQueue.async {
361 |                 completion(date)
    |                 |- warning: capture of 'completion' with non-sendable type '(Date?) -> Void' 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'
362 |             }
363 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:397:13: warning: capture of 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 44 |  Generic data cache backed by a memory cache and a disk cache.
 45 |  */
 46 | open class DataCache<ValueType: DataConvertable> {
    |            `- note: generic class 'DataCache' does not conform to the 'Sendable' protocol
 47 |     /**
 48 |      Closure used for completions that have no result.
    :
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 'self' with non-sendable type 'DataCache<ValueType>' in a '@Sendable' closure; this is an error in the Swift 6 language mode
398 |             self.completionQueue.async {
399 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:397:61: warning: capture of 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
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 'access' with non-sendable type 'DataCacheAccessOptions' in a '@Sendable' closure; this is an error in the Swift 6 language mode
398 |             self.completionQueue.async {
399 |                 completion()
/host/spi-builder-workspace/Sources/DataCache.swift:399:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
397 |             self._setExpirationDate(date, for: key, access: access)
398 |             self.completionQueue.async {
399 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
400 |             }
401 |         }
/host/spi-builder-workspace/Sources/DataCache.swift:399:17: warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
397 |             self._setExpirationDate(date, for: key, access: access)
398 |             self.completionQueue.async {
399 |                 completion()
    |                 |- warning: capture of 'completion' with non-sendable type 'DataCache<ValueType>.Completion' (aka '() -> ()') 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'
400 |             }
401 |         }
[7/9] Compiling Cachyr CacheLog.swift
/host/spi-builder-workspace/Sources/CacheLog.swift:43:17: warning: let 'logLevelPrefix' is not concurrency-safe because non-'Sendable' type '[CacheLogLevel : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public enum CacheLogLevel: Int {
    |             `- note: consider making enum 'CacheLogLevel' conform to the 'Sendable' protocol
 28 |     case verbose
 29 |     case debug
    :
 41 | }
 42 |
 43 | fileprivate let logLevelPrefix: [CacheLogLevel: String] = [
    |                 |- warning: let 'logLevelPrefix' is not concurrency-safe because non-'Sendable' type '[CacheLogLevel : String]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                 |- note: add '@MainActor' to make let 'logLevelPrefix' part of global actor 'MainActor'
    |                 `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |     .verbose: "VERBOSE",
 45 |     .debug  : "DEBUG",
/host/spi-builder-workspace/Sources/CacheLog.swift:58:23: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 56 |
 57 | public struct CacheLog {
 58 |     public static var logger: CacheLogger.Type? = nil
    |                       |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     public static var level: CacheLogLevel = .info
/host/spi-builder-workspace/Sources/CacheLog.swift:60:23: warning: static property 'level' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 58 |     public static var logger: CacheLogger.Type? = nil
 59 |
 60 |     public static var level: CacheLogLevel = .info
    |                       |- warning: static property 'level' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'level' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'level' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 61 |
 62 |     public static func verbose(_ message: @autoclosure () -> Any, _ file: String = #file, _ function: String = #function, line: Int = #line) {
[8/9] Emitting module Cachyr
/host/spi-builder-workspace/Sources/CacheLog.swift:43:17: warning: let 'logLevelPrefix' is not concurrency-safe because non-'Sendable' type '[CacheLogLevel : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 25 | import Foundation
 26 |
 27 | public enum CacheLogLevel: Int {
    |             `- note: consider making enum 'CacheLogLevel' conform to the 'Sendable' protocol
 28 |     case verbose
 29 |     case debug
    :
 41 | }
 42 |
 43 | fileprivate let logLevelPrefix: [CacheLogLevel: String] = [
    |                 |- warning: let 'logLevelPrefix' is not concurrency-safe because non-'Sendable' type '[CacheLogLevel : String]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                 |- note: add '@MainActor' to make let 'logLevelPrefix' part of global actor 'MainActor'
    |                 `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |     .verbose: "VERBOSE",
 45 |     .debug  : "DEBUG",
/host/spi-builder-workspace/Sources/CacheLog.swift:58:23: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 56 |
 57 | public struct CacheLog {
 58 |     public static var logger: CacheLogger.Type? = nil
    |                       |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     public static var level: CacheLogLevel = .info
/host/spi-builder-workspace/Sources/CacheLog.swift:60:23: warning: static property 'level' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 58 |     public static var logger: CacheLogger.Type? = nil
 59 |
 60 |     public static var level: CacheLogLevel = .info
    |                       |- warning: static property 'level' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'level' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'level' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 61 |
 62 |     public static func verbose(_ message: @autoclosure () -> Any, _ file: String = #file, _ function: String = #function, line: Int = #line) {
/host/spi-builder-workspace/Sources/DataCache.swift:37:23: warning: static property 'disk' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
 35 |     }
 36 |
 37 |     public static let disk   = DataCacheAccessOptions(rawValue: 1 << 0)
    |                       |- warning: static property 'disk' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'disk' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |     public static let memory = DataCacheAccessOptions(rawValue: 1 << 1)
 39 |
/host/spi-builder-workspace/Sources/DataCache.swift:38:23: warning: static property 'memory' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
 36 |
 37 |     public static let disk   = DataCacheAccessOptions(rawValue: 1 << 0)
 38 |     public static let memory = DataCacheAccessOptions(rawValue: 1 << 1)
    |                       |- warning: static property 'memory' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'memory' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |
 40 |     public static let `default`: DataCacheAccessOptions = [.disk, .memory]
/host/spi-builder-workspace/Sources/DataCache.swift:40:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 28 |  Options indicating which data layers to access when getting/setting a value.
 29 |  */
 30 | public struct DataCacheAccessOptions: OptionSet {
    |               `- note: consider making struct 'DataCacheAccessOptions' conform to the 'Sendable' protocol
 31 |     public let rawValue: Int
 32 |
    :
 38 |     public static let memory = DataCacheAccessOptions(rawValue: 1 << 1)
 39 |
 40 |     public static let `default`: DataCacheAccessOptions = [.disk, .memory]
    |                       |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DataCacheAccessOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 41 | }
 42 |
[9/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
 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
 56 |     }
 57 |
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-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/8] Compiling Cachyr DataConvertable.swift
/host/spi-builder-workspace/Sources/DataConvertable.swift:55:29: warning: initialization of 'UnsafeBufferPointer<Self>' results in a dangling buffer pointer
 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
 56 |     }
 57 |
[3/8] Compiling Cachyr MemoryCache.swift
[4/8] 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 |             }
[5/8] 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.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
/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.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
/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.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
/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.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
[6/8] Compiling Cachyr CacheLog.swift
[7/8] Emitting module Cachyr
[8/8] Compiling Cachyr DataCache.swift
BUILD FAILURE 6.1 android