The Swift Package Index logo.Swift Package Index

Build Information

Failed to build FuturaLog, reference 0.6.0 (349c53), with Swift 6.1 for Android on 27 May 2025 13:34:45 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/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/kaqu/futuralog.git
Reference: 0.6.0
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/kaqu/futuralog
 * tag               0.6.0      -> FETCH_HEAD
HEAD is now at 349c53d adding flat log and LogPackage optimization
Cloned https://github.com/kaqu/futuralog.git
Revision (git rev-parse @):
349c53dc57234a8f9bf2d26a895571fc0f010fa5
SUCCESS checkout https://github.com/kaqu/futuralog.git at 0.6.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/kaqu/futuralog.git
https://github.com/kaqu/futuralog.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "FuturaLog",
  "name" : "FuturaLog",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "FuturaLog",
      "targets" : [
        "FuturaLog"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FuturaLogTests",
      "module_type" : "SwiftTarget",
      "name" : "FuturaLogTests",
      "path" : "Tests/FuturaLogTests",
      "sources" : [
        "FuturaLogTests.swift"
      ],
      "target_dependencies" : [
        "FuturaLog"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FuturaLog",
      "module_type" : "SwiftTarget",
      "name" : "FuturaLog",
      "path" : "Sources/FuturaLog",
      "product_memberships" : [
        "FuturaLog"
      ],
      "sources" : [
        "CrashCatcher.swift",
        "Log.swift",
        "LogEmitter.swift",
        "LogFilePrinter.swift",
        "LogFileStorage.swift",
        "LogFormatter.swift",
        "LogMemoryStorage.swift",
        "LogPrinter.swift",
        "LogReceiver.swift",
        "LogStorage.swift",
        "Logger.swift",
        "Server/FlatLog.swift",
        "Server/LogEnvironment.swift",
        "Server/LogPackage.swift",
        "Server/LogServer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/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:9f3c606dcd2a4f06d17ba472aa533c43685ba7ba19a5c9bc23518a066eb7f86a
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/17] Compiling FuturaLog Logger.swift
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:5:28: warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 3 | public final class Logger {
 4 |
 5 |     fileprivate static var recievers: Array<LogReceiver> = []
   |                            |- warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                            |- note: convert 'recievers' to a 'let' constant to make 'Sendable' shared state immutable
   |                            |- note: add '@MainActor' to make static property 'recievers' part of global actor 'MainActor'
   |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public static let sessionID: String = UUID().description
[4/17] Compiling FuturaLog FlatLog.swift
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:5:28: warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 3 | public final class Logger {
 4 |
 5 |     fileprivate static var recievers: Array<LogReceiver> = []
   |                            |- warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                            |- note: convert 'recievers' to a 'let' constant to make 'Sendable' shared state immutable
   |                            |- note: add '@MainActor' to make static property 'recievers' part of global actor 'MainActor'
   |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public static let sessionID: String = UUID().description
[5/18] Compiling FuturaLog LogMemoryStorage.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogMemoryStorage.swift:20:19: warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class LogMemoryStorage : LogReceiver {
   |                    `- note: class 'LogMemoryStorage' does not conform to the 'Sendable' protocol
 4 |
 5 |     fileprivate let synchronizationQueue = DispatchQueue(label: "futura.log.storage.memory.syncQueue")
   :
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                   `- warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/host/spi-builder-workspace/Sources/FuturaLog/LogMemoryStorage.swift:20:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:17:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
15 | }
16 |
17 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
18 |
19 |     public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/LogPrinter.swift:19:19: warning: capture of 'self' with non-sendable type 'LogPrinter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class LogPrinter : LogReceiver {
   |                    `- note: class 'LogPrinter' does not conform to the 'Sendable' protocol
 4 |
 5 |     public let allowedCategories: [LogCategory]
   :
17 |     public func recieve(_ log: Log) {
18 |         synchronizationQueue.async {
19 |             guard self.allowedCategories.contains(log.category) else {
   |                   `- warning: capture of 'self' with non-sendable type 'LogPrinter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
20 |                 return
21 |             }
/host/spi-builder-workspace/Sources/FuturaLog/LogPrinter.swift:19:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
17 |     public func recieve(_ log: Log) {
18 |         synchronizationQueue.async {
19 |             guard self.allowedCategories.contains(log.category) else {
   |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
20 |                 return
21 |             }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:17:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
15 | }
16 |
17 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
18 |
19 |     public let category: LogCategory
[6/18] Compiling FuturaLog LogPrinter.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogMemoryStorage.swift:20:19: warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class LogMemoryStorage : LogReceiver {
   |                    `- note: class 'LogMemoryStorage' does not conform to the 'Sendable' protocol
 4 |
 5 |     fileprivate let synchronizationQueue = DispatchQueue(label: "futura.log.storage.memory.syncQueue")
   :
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                   `- warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/host/spi-builder-workspace/Sources/FuturaLog/LogMemoryStorage.swift:20:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:17:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
15 | }
16 |
17 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
18 |
19 |     public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/LogPrinter.swift:19:19: warning: capture of 'self' with non-sendable type 'LogPrinter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class LogPrinter : LogReceiver {
   |                    `- note: class 'LogPrinter' does not conform to the 'Sendable' protocol
 4 |
 5 |     public let allowedCategories: [LogCategory]
   :
17 |     public func recieve(_ log: Log) {
18 |         synchronizationQueue.async {
19 |             guard self.allowedCategories.contains(log.category) else {
   |                   `- warning: capture of 'self' with non-sendable type 'LogPrinter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
20 |                 return
21 |             }
/host/spi-builder-workspace/Sources/FuturaLog/LogPrinter.swift:19:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
17 |     public func recieve(_ log: Log) {
18 |         synchronizationQueue.async {
19 |             guard self.allowedCategories.contains(log.category) else {
   |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
20 |                 return
21 |             }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:17:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
15 | }
16 |
17 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
18 |
19 |     public let category: LogCategory
[7/18] Compiling FuturaLog LogFileStorage.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogFileStorage.swift:24:19: warning: capture of 'self' with non-sendable type 'LogFileStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  2 |
  3 | // TODO: add cycling storage, session separated and date separated modes
  4 | public final class LogFileStorage : LogReceiver {
    |                    `- note: class 'LogFileStorage' does not conform to the 'Sendable' protocol
  5 |
  6 |     fileprivate let synchronizationQueue = DispatchQueue(label: "futura.log.storage.file.syncQueue")
    :
 22 |     public func recieve(_ log: Log) {
 23 |         synchronizationQueue.async {
 24 |             guard self.allowedCategories.contains(log.category) else {
    |                   `- warning: capture of 'self' with non-sendable type 'LogFileStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 25 |                 return
 26 |             }
/host/spi-builder-workspace/Sources/FuturaLog/LogFileStorage.swift:24:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 22 |     public func recieve(_ log: Log) {
 23 |         synchronizationQueue.async {
 24 |             guard self.allowedCategories.contains(log.category) else {
    |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 25 |                 return
 26 |             }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:17:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
15 | }
16 |
17 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
18 |
19 |     public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/LogFileStorage.swift:50:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
 48 |
 49 |         if !FileManager.default.fileExists(atPath: filePath) {
 50 |             FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
    |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
 51 |         } else { /* nothing */ }
 52 |
[8/18] Compiling FuturaLog LogFormatter.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogFileStorage.swift:24:19: warning: capture of 'self' with non-sendable type 'LogFileStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
  2 |
  3 | // TODO: add cycling storage, session separated and date separated modes
  4 | public final class LogFileStorage : LogReceiver {
    |                    `- note: class 'LogFileStorage' does not conform to the 'Sendable' protocol
  5 |
  6 |     fileprivate let synchronizationQueue = DispatchQueue(label: "futura.log.storage.file.syncQueue")
    :
 22 |     public func recieve(_ log: Log) {
 23 |         synchronizationQueue.async {
 24 |             guard self.allowedCategories.contains(log.category) else {
    |                   `- warning: capture of 'self' with non-sendable type 'LogFileStorage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 25 |                 return
 26 |             }
/host/spi-builder-workspace/Sources/FuturaLog/LogFileStorage.swift:24:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 22 |     public func recieve(_ log: Log) {
 23 |         synchronizationQueue.async {
 24 |             guard self.allowedCategories.contains(log.category) else {
    |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 25 |                 return
 26 |             }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:17:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
15 | }
16 |
17 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
18 |
19 |     public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/LogFileStorage.swift:50:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
 48 |
 49 |         if !FileManager.default.fileExists(atPath: filePath) {
 50 |             FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
    |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
 51 |         } else { /* nothing */ }
 52 |
[9/18] Compiling FuturaLog LogEnvironment.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 |         return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 |     }
[10/18] Compiling FuturaLog LogPackage.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 |         return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 |     }
[11/18] Compiling FuturaLog LogReceiver.swift
[12/18] Compiling FuturaLog LogStorage.swift
[13/18] Compiling FuturaLog LogServer.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:35: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                   `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:48: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                                `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:98: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                                                                                  `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:31:19: warning: capture of 'self' with non-sendable type 'LogServer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class LogServer : LogReceiver {
   |                    `- note: class 'LogServer' does not conform to the 'Sendable' protocol
 4 |
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
   :
29 |     public func recieve(_ log: Log) {
30 |         synchronizationQueue.async {
31 |             guard self.allowedCategories.contains(log.category) else {
   |                   `- warning: capture of 'self' with non-sendable type 'LogServer' in a '@Sendable' closure; this is an error in the Swift 6 language mode
32 |                 return
33 |             }
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:31:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
29 |     public func recieve(_ log: Log) {
30 |         synchronizationQueue.async {
31 |             guard self.allowedCategories.contains(log.category) else {
   |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
32 |                 return
33 |             }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:17:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
15 | }
16 |
17 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
18 |
19 |     public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:50:23: error: cannot find 'URLRequest' in scope
48 |
49 |     private func uploadLogs() {
50 |         var request = URLRequest(url: serverURL.appendingPathComponent("uploadLogs"))
   |                       `- error: cannot find 'URLRequest' in scope
51 |         request.httpBody = try? Logger.jsonEncoder.encode(LogPackage(applicationID: applicationID, environment: environment, sessionID: Logger.sessionID, logs: logsBuffer))
52 |         request.httpMethod = "POST"
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:54:26: error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
52 |         request.httpMethod = "POST"
53 |         request.allHTTPHeaderFields = ["Authorization":"Bearer \(accessToken)"]
54 |         logServerSession.dataTask(with: request).resume()
   |                          `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
55 |         logsBuffer = []
56 |         // TODO: think about logging failure and retry
error: emit-module command failed with exit code 1 (use -v to see invocation)
[14/18] Compiling FuturaLog CrashCatcher.swift
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
   |                                                   `- error: cannot find type 'NSException' in scope
33 |     Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 |     Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
   |                                                    `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:8:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
 6 |         switch mode {
 7 |         case .logging:
 8 |             NSSetUncaughtExceptionHandler(exceptionLogHandler);
   |             `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
 9 |             signal(SIGABRT, signalLogHandler);
10 |             signal(SIGILL, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:9:13: error: function is unused
 7 |         case .logging:
 8 |             NSSetUncaughtExceptionHandler(exceptionLogHandler);
 9 |             signal(SIGABRT, signalLogHandler);
   |             `- error: function is unused
10 |             signal(SIGILL, signalLogHandler);
11 |             signal(SIGSEGV, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:10:13: error: function is unused
 8 |             NSSetUncaughtExceptionHandler(exceptionLogHandler);
 9 |             signal(SIGABRT, signalLogHandler);
10 |             signal(SIGILL, signalLogHandler);
   |             `- error: function is unused
11 |             signal(SIGSEGV, signalLogHandler);
12 |             signal(SIGFPE, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:11:13: error: function is unused
 9 |             signal(SIGABRT, signalLogHandler);
10 |             signal(SIGILL, signalLogHandler);
11 |             signal(SIGSEGV, signalLogHandler);
   |             `- error: function is unused
12 |             signal(SIGFPE, signalLogHandler);
13 |             signal(SIGBUS, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:12:13: error: function is unused
10 |             signal(SIGILL, signalLogHandler);
11 |             signal(SIGSEGV, signalLogHandler);
12 |             signal(SIGFPE, signalLogHandler);
   |             `- error: function is unused
13 |             signal(SIGBUS, signalLogHandler);
14 |             signal(SIGPIPE, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:13:13: error: function is unused
11 |             signal(SIGSEGV, signalLogHandler);
12 |             signal(SIGFPE, signalLogHandler);
13 |             signal(SIGBUS, signalLogHandler);
   |             `- error: function is unused
14 |             signal(SIGPIPE, signalLogHandler);
15 |         case .hiding:
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:14:13: error: function is unused
12 |             signal(SIGFPE, signalLogHandler);
13 |             signal(SIGBUS, signalLogHandler);
14 |             signal(SIGPIPE, signalLogHandler);
   |             `- error: function is unused
15 |         case .hiding:
16 |             NSSetUncaughtExceptionHandler(exceptionVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:16:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
14 |             signal(SIGPIPE, signalLogHandler);
15 |         case .hiding:
16 |             NSSetUncaughtExceptionHandler(exceptionVoidHandler);
   |             `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
17 |             signal(SIGABRT, signalVoidHandler);
18 |             signal(SIGILL, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:17:13: error: function is unused
15 |         case .hiding:
16 |             NSSetUncaughtExceptionHandler(exceptionVoidHandler);
17 |             signal(SIGABRT, signalVoidHandler);
   |             `- error: function is unused
18 |             signal(SIGILL, signalVoidHandler);
19 |             signal(SIGSEGV, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:18:13: error: function is unused
16 |             NSSetUncaughtExceptionHandler(exceptionVoidHandler);
17 |             signal(SIGABRT, signalVoidHandler);
18 |             signal(SIGILL, signalVoidHandler);
   |             `- error: function is unused
19 |             signal(SIGSEGV, signalVoidHandler);
20 |             signal(SIGFPE, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:19:13: error: function is unused
17 |             signal(SIGABRT, signalVoidHandler);
18 |             signal(SIGILL, signalVoidHandler);
19 |             signal(SIGSEGV, signalVoidHandler);
   |             `- error: function is unused
20 |             signal(SIGFPE, signalVoidHandler);
21 |             signal(SIGBUS, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:20:13: error: function is unused
18 |             signal(SIGILL, signalVoidHandler);
19 |             signal(SIGSEGV, signalVoidHandler);
20 |             signal(SIGFPE, signalVoidHandler);
   |             `- error: function is unused
21 |             signal(SIGBUS, signalVoidHandler);
22 |             signal(SIGPIPE, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:21:13: error: function is unused
19 |             signal(SIGSEGV, signalVoidHandler);
20 |             signal(SIGFPE, signalVoidHandler);
21 |             signal(SIGBUS, signalVoidHandler);
   |             `- error: function is unused
22 |             signal(SIGPIPE, signalVoidHandler);
23 |         }
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:22:13: error: function is unused
20 |             signal(SIGFPE, signalVoidHandler);
21 |             signal(SIGBUS, signalVoidHandler);
22 |             signal(SIGPIPE, signalVoidHandler);
   |             `- error: function is unused
23 |         }
24 |     }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:14:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
 4 |
 5 |     case crash
   :
12 |     case void // not present in all property since void is special type which is ignored by default
13 |
14 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | }
16 |
[15/18] Compiling FuturaLog Log.swift
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
   |                                                   `- error: cannot find type 'NSException' in scope
33 |     Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 |     Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
   |                                                    `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:8:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
 6 |         switch mode {
 7 |         case .logging:
 8 |             NSSetUncaughtExceptionHandler(exceptionLogHandler);
   |             `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
 9 |             signal(SIGABRT, signalLogHandler);
10 |             signal(SIGILL, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:9:13: error: function is unused
 7 |         case .logging:
 8 |             NSSetUncaughtExceptionHandler(exceptionLogHandler);
 9 |             signal(SIGABRT, signalLogHandler);
   |             `- error: function is unused
10 |             signal(SIGILL, signalLogHandler);
11 |             signal(SIGSEGV, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:10:13: error: function is unused
 8 |             NSSetUncaughtExceptionHandler(exceptionLogHandler);
 9 |             signal(SIGABRT, signalLogHandler);
10 |             signal(SIGILL, signalLogHandler);
   |             `- error: function is unused
11 |             signal(SIGSEGV, signalLogHandler);
12 |             signal(SIGFPE, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:11:13: error: function is unused
 9 |             signal(SIGABRT, signalLogHandler);
10 |             signal(SIGILL, signalLogHandler);
11 |             signal(SIGSEGV, signalLogHandler);
   |             `- error: function is unused
12 |             signal(SIGFPE, signalLogHandler);
13 |             signal(SIGBUS, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:12:13: error: function is unused
10 |             signal(SIGILL, signalLogHandler);
11 |             signal(SIGSEGV, signalLogHandler);
12 |             signal(SIGFPE, signalLogHandler);
   |             `- error: function is unused
13 |             signal(SIGBUS, signalLogHandler);
14 |             signal(SIGPIPE, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:13:13: error: function is unused
11 |             signal(SIGSEGV, signalLogHandler);
12 |             signal(SIGFPE, signalLogHandler);
13 |             signal(SIGBUS, signalLogHandler);
   |             `- error: function is unused
14 |             signal(SIGPIPE, signalLogHandler);
15 |         case .hiding:
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:14:13: error: function is unused
12 |             signal(SIGFPE, signalLogHandler);
13 |             signal(SIGBUS, signalLogHandler);
14 |             signal(SIGPIPE, signalLogHandler);
   |             `- error: function is unused
15 |         case .hiding:
16 |             NSSetUncaughtExceptionHandler(exceptionVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:16:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
14 |             signal(SIGPIPE, signalLogHandler);
15 |         case .hiding:
16 |             NSSetUncaughtExceptionHandler(exceptionVoidHandler);
   |             `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
17 |             signal(SIGABRT, signalVoidHandler);
18 |             signal(SIGILL, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:17:13: error: function is unused
15 |         case .hiding:
16 |             NSSetUncaughtExceptionHandler(exceptionVoidHandler);
17 |             signal(SIGABRT, signalVoidHandler);
   |             `- error: function is unused
18 |             signal(SIGILL, signalVoidHandler);
19 |             signal(SIGSEGV, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:18:13: error: function is unused
16 |             NSSetUncaughtExceptionHandler(exceptionVoidHandler);
17 |             signal(SIGABRT, signalVoidHandler);
18 |             signal(SIGILL, signalVoidHandler);
   |             `- error: function is unused
19 |             signal(SIGSEGV, signalVoidHandler);
20 |             signal(SIGFPE, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:19:13: error: function is unused
17 |             signal(SIGABRT, signalVoidHandler);
18 |             signal(SIGILL, signalVoidHandler);
19 |             signal(SIGSEGV, signalVoidHandler);
   |             `- error: function is unused
20 |             signal(SIGFPE, signalVoidHandler);
21 |             signal(SIGBUS, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:20:13: error: function is unused
18 |             signal(SIGILL, signalVoidHandler);
19 |             signal(SIGSEGV, signalVoidHandler);
20 |             signal(SIGFPE, signalVoidHandler);
   |             `- error: function is unused
21 |             signal(SIGBUS, signalVoidHandler);
22 |             signal(SIGPIPE, signalVoidHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:21:13: error: function is unused
19 |             signal(SIGSEGV, signalVoidHandler);
20 |             signal(SIGFPE, signalVoidHandler);
21 |             signal(SIGBUS, signalVoidHandler);
   |             `- error: function is unused
22 |             signal(SIGPIPE, signalVoidHandler);
23 |         }
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:22:13: error: function is unused
20 |             signal(SIGFPE, signalVoidHandler);
21 |             signal(SIGBUS, signalVoidHandler);
22 |             signal(SIGPIPE, signalVoidHandler);
   |             `- error: function is unused
23 |         }
24 |     }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:14:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
 4 |
 5 |     case crash
   :
12 |     case void // not present in all property since void is special type which is ignored by default
13 |
14 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | }
16 |
[16/18] Emitting module FuturaLog
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
   |                                                   `- error: cannot find type 'NSException' in scope
33 |     Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 |     Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
   |                                                    `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:14:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
 4 |
 5 |     case crash
   :
12 |     case void // not present in all property since void is special type which is ignored by default
13 |
14 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | }
16 |
/host/spi-builder-workspace/Sources/FuturaLog/Logger.swift:5:28: warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 3 | public final class Logger {
 4 |
 5 |     fileprivate static var recievers: Array<LogReceiver> = []
   |                            |- warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                            |- note: convert 'recievers' to a 'let' constant to make 'Sendable' shared state immutable
   |                            |- note: add '@MainActor' to make static property 'recievers' part of global actor 'MainActor'
   |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public static let sessionID: String = UUID().description
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 |         return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 |     }
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:35: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                   `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:48: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                                `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:98: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                                                                                  `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
[17/18] Compiling FuturaLog LogEmitter.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogFilePrinter.swift:20:19: warning: capture of 'self' with non-sendable type 'LogFilePrinter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class LogFilePrinter : LogReceiver {
   |                    `- note: class 'LogFilePrinter' does not conform to the 'Sendable' protocol
 4 |
 5 |     public let allowedCategories: [LogCategory]
   :
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                   `- warning: capture of 'self' with non-sendable type 'LogFilePrinter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/host/spi-builder-workspace/Sources/FuturaLog/LogFilePrinter.swift:20:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:17:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
15 | }
16 |
17 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
18 |
19 |     public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/LogFilePrinter.swift:47:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
45 |
46 |         if !FileManager.default.fileExists(atPath: filePath) {
47 |             FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
   |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
48 |         } else { /* nothing */ }
49 |
[18/18] Compiling FuturaLog LogFilePrinter.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogFilePrinter.swift:20:19: warning: capture of 'self' with non-sendable type 'LogFilePrinter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class LogFilePrinter : LogReceiver {
   |                    `- note: class 'LogFilePrinter' does not conform to the 'Sendable' protocol
 4 |
 5 |     public let allowedCategories: [LogCategory]
   :
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                   `- warning: capture of 'self' with non-sendable type 'LogFilePrinter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/host/spi-builder-workspace/Sources/FuturaLog/LogFilePrinter.swift:20:51: warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/host/spi-builder-workspace/Sources/FuturaLog/Log.swift:17:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
15 | }
16 |
17 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
18 |
19 |     public let category: LogCategory
/host/spi-builder-workspace/Sources/FuturaLog/LogFilePrinter.swift:47:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
45 |
46 |         if !FileManager.default.fileExists(atPath: filePath) {
47 |             FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
   |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
48 |         } else { /* nothing */ }
49 |
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/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:9f3c606dcd2a4f06d17ba472aa533c43685ba7ba19a5c9bc23518a066eb7f86a
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
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/16] Emitting module FuturaLog
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
   |                                                   `- error: cannot find type 'NSException' in scope
33 |     Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 |     Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
   |                                                    `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 |         return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 |     }
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:35: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                   `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:48: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                                `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:98: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                                                                                  `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
[3/17] Compiling FuturaLog LogEmitter.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogFilePrinter.swift:47:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
45 |
46 |         if !FileManager.default.fileExists(atPath: filePath) {
47 |             FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
   |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
48 |         } else { /* nothing */ }
49 |
[4/17] Compiling FuturaLog LogFilePrinter.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogFilePrinter.swift:47:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
45 |
46 |         if !FileManager.default.fileExists(atPath: filePath) {
47 |             FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
   |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
48 |         } else { /* nothing */ }
49 |
[5/17] Compiling FuturaLog LogFileStorage.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogFileStorage.swift:50:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
 48 |
 49 |         if !FileManager.default.fileExists(atPath: filePath) {
 50 |             FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
    |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
 51 |         } else { /* nothing */ }
 52 |
[6/17] Compiling FuturaLog LogFormatter.swift
/host/spi-builder-workspace/Sources/FuturaLog/LogFileStorage.swift:50:33: warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
 48 |
 49 |         if !FileManager.default.fileExists(atPath: filePath) {
 50 |             FileManager.default.createFile(atPath: filePath, contents: Data(), attributes: nil)
    |                                 `- warning: result of call to 'createFile(atPath:contents:attributes:)' is unused
 51 |         } else { /* nothing */ }
 52 |
[7/17] Compiling FuturaLog CrashCatcher.swift
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
   |                                                   `- error: cannot find type 'NSException' in scope
33 |     Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 |     Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
   |                                                    `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:8:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
 6 |         switch mode {
 7 |         case .logging:
 8 |             NSSetUncaughtExceptionHandler(exceptionLogHandler);
   |             `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
 9 |             signal(SIGABRT, signalLogHandler);
10 |             signal(SIGILL, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:16:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
14 |             signal(SIGPIPE, signalLogHandler);
15 |         case .hiding:
16 |             NSSetUncaughtExceptionHandler(exceptionVoidHandler);
   |             `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
17 |             signal(SIGABRT, signalVoidHandler);
18 |             signal(SIGILL, signalVoidHandler);
[8/17] Compiling FuturaLog Log.swift
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:32:51: error: cannot find type 'NSException' in scope
30 | }
31 |
32 | fileprivate func exceptionLogHandler(_ exception: NSException)-> Swift.Void {
   |                                                   `- error: cannot find type 'NSException' in scope
33 |     Logger.send(Log(.crash, message: "Exception: \(exception)\n\n\(Thread.callStackSymbols.joined(separator: "\n"))\n"))
34 |     Logger.flush()
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:43:52: error: cannot find type 'NSException' in scope
41 | }
42 |
43 | fileprivate func exceptionVoidHandler(_ exception: NSException)-> Swift.Void { /* void */ }
   |                                                    `- error: cannot find type 'NSException' in scope
44 |
45 | fileprivate func signalVoidHandler(_ signal: Int32)-> Swift.Void { exit(signal) }
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:8:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
 6 |         switch mode {
 7 |         case .logging:
 8 |             NSSetUncaughtExceptionHandler(exceptionLogHandler);
   |             `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
 9 |             signal(SIGABRT, signalLogHandler);
10 |             signal(SIGILL, signalLogHandler);
/host/spi-builder-workspace/Sources/FuturaLog/CrashCatcher.swift:16:13: error: cannot find 'NSSetUncaughtExceptionHandler' in scope
14 |             signal(SIGPIPE, signalLogHandler);
15 |         case .hiding:
16 |             NSSetUncaughtExceptionHandler(exceptionVoidHandler);
   |             `- error: cannot find 'NSSetUncaughtExceptionHandler' in scope
17 |             signal(SIGABRT, signalVoidHandler);
18 |             signal(SIGILL, signalVoidHandler);
[9/17] Compiling FuturaLog Logger.swift
[10/17] Compiling FuturaLog FlatLog.swift
[11/17] Compiling FuturaLog LogReceiver.swift
[12/17] Compiling FuturaLog LogStorage.swift
[13/17] Compiling FuturaLog LogEnvironment.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 |         return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 |     }
[14/17] Compiling FuturaLog LogPackage.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 |         return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 |     }
[15/17] Compiling FuturaLog LogMemoryStorage.swift
[16/17] Compiling FuturaLog LogPrinter.swift
[17/17] Compiling FuturaLog LogServer.swift
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:35: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                   `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:48: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                                `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:7:98: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 5 |     public let allowedCategories: [LogCategory] = LogCategory.all
 6 |
 7 |     private let logServerSession: URLSession = URLSession(configuration: URLSessionConfiguration.ephemeral)
   |                                                                                                  `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
 8 |
 9 |     private let synchronizationQueue = DispatchQueue(label: "futura.log.server.syncQueue")
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:50:23: error: cannot find 'URLRequest' in scope
48 |
49 |     private func uploadLogs() {
50 |         var request = URLRequest(url: serverURL.appendingPathComponent("uploadLogs"))
   |                       `- error: cannot find 'URLRequest' in scope
51 |         request.httpBody = try? Logger.jsonEncoder.encode(LogPackage(applicationID: applicationID, environment: environment, sessionID: Logger.sessionID, logs: logsBuffer))
52 |         request.httpMethod = "POST"
/host/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:54:26: error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
52 |         request.httpMethod = "POST"
53 |         request.allHTTPHeaderFields = ["Authorization":"Bearer \(accessToken)"]
54 |         logServerSession.dataTask(with: request).resume()
   |                          `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
55 |         logsBuffer = []
56 |         // TODO: think about logging failure and retry
BUILD FAILURE 6.1 android