The Swift Package Index logo.Swift Package Index

Build Information

Failed to build pyTanks.SwiftPlayer, reference 2.0.0 (908e73), with Swift 6.1 for Android on 27 May 2025 07:17:18 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/matthewseaman/pytanks.swiftplayer.git
Reference: 2.0.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/matthewseaman/pytanks.swiftplayer
 * tag               2.0.0      -> FETCH_HEAD
HEAD is now at 908e736 Merge pull request #9 from matthewseaman/fps-access
Cloned https://github.com/matthewseaman/pytanks.swiftplayer.git
Revision (git rev-parse @):
908e736375545bc89c14256968236a500f00b06a
SUCCESS checkout https://github.com/matthewseaman/pytanks.swiftplayer.git at 2.0.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/matthewseaman/pytanks.swiftplayer.git
https://github.com/matthewseaman/pytanks.swiftplayer.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "starscream",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.0.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/daltoniam/Starscream.git"
    }
  ],
  "manifest_display_name" : "pyTanks.SwiftPlayer",
  "name" : "pyTanks.SwiftPlayer",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "pyTanks",
      "targets" : [
        "pyTanks"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "PlayerSupport",
      "targets" : [
        "PlayerSupport"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ClientControl",
      "targets" : [
        "ClientControl"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "pyTanks",
      "module_type" : "SwiftTarget",
      "name" : "pyTanks",
      "path" : "Sources/pyTanks",
      "product_memberships" : [
        "pyTanks"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "ClientControl",
        "SimplePlayer"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Utils",
      "module_type" : "SwiftTarget",
      "name" : "Utils",
      "path" : "Sources/Utils",
      "product_memberships" : [
        "pyTanks",
        "ClientControl"
      ],
      "sources" : [
        "CommandLineArgumentParser.swift",
        "Operators.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SimplePlayer",
      "module_type" : "SwiftTarget",
      "name" : "SimplePlayer",
      "path" : "Sources/SimplePlayer",
      "product_memberships" : [
        "pyTanks"
      ],
      "sources" : [
        "SimplePlayer.swift"
      ],
      "target_dependencies" : [
        "PlayerSupport"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PlayerSupport",
      "module_type" : "SwiftTarget",
      "name" : "PlayerSupport",
      "path" : "Sources/PlayerSupport",
      "product_memberships" : [
        "pyTanks",
        "PlayerSupport",
        "ClientControl"
      ],
      "sources" : [
        "Command.swift",
        "GameConfiguration.swift",
        "GameState.swift",
        "Log.swift",
        "Player.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ClientControl",
      "module_type" : "SwiftTarget",
      "name" : "ClientControl",
      "path" : "Sources/ClientControl",
      "product_memberships" : [
        "pyTanks",
        "ClientControl"
      ],
      "sources" : [
        "Game.swift"
      ],
      "target_dependencies" : [
        "Client",
        "PlayerSupport"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Client",
      "module_type" : "SwiftTarget",
      "name" : "Client",
      "path" : "Sources/Client",
      "product_dependencies" : [
        "Starscream"
      ],
      "product_memberships" : [
        "pyTanks",
        "ClientControl"
      ],
      "sources" : [
        "ClientConfig+parse.swift",
        "ClientConfiguration.swift",
        "Command+JSON.swift",
        "GameClient.swift",
        "GameLoop.swift",
        "GameState+JSON.swift"
      ],
      "target_dependencies" : [
        "PlayerSupport",
        "Utils"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.2"
}
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
Fetching https://github.com/daltoniam/Starscream.git
[1/5033] Fetching starscream
Fetched https://github.com/daltoniam/Starscream.git from cache (0.53s)
Computing version for https://github.com/daltoniam/Starscream.git
Computed https://github.com/daltoniam/Starscream.git at 3.1.2 (1.12s)
Fetching https://github.com/apple/swift-nio-zlib-support.git
[1/15] Fetching swift-nio-zlib-support
Fetched https://github.com/apple/swift-nio-zlib-support.git from cache (0.25s)
Computing version for https://github.com/apple/swift-nio-zlib-support.git
Computed https://github.com/apple/swift-nio-zlib-support.git at 1.0.0 (3.60s)
Creating working copy for https://github.com/daltoniam/Starscream.git
Working copy of https://github.com/daltoniam/Starscream.git resolved at 3.1.2
Creating working copy for https://github.com/apple/swift-nio-zlib-support.git
Working copy of https://github.com/apple/swift-nio-zlib-support.git resolved at 1.0.0
warning: 'swift-nio-zlib-support': ignoring declared target(s) 'swift-nio-zlib-support' in the system package
Building for debugging...
[0/17] Write sources
[7/17] Write swift-version-24593BA9C3E375BF.txt
[9/31] Compiling PlayerSupport Player.swift
[10/31] Compiling Utils Operators.swift
[11/31] Compiling PlayerSupport Log.swift
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:130:27: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
128 |
129 |         /// No logging
130 |         public static let none: LogTypes = []
    |                           |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
131 |
132 |         /// Logs for server connects and disconnects
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:133:27: warning: static property 'connectAndDisconnect' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
131 |
132 |         /// Logs for server connects and disconnects
133 |         public static let connectAndDisconnect = LogTypes(rawValue: 1 << 0)
    |                           |- warning: static property 'connectAndDisconnect' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'connectAndDisconnect' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 |         /// Logs for any errors that occur
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:136:27: warning: static property 'errors' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
134 |
135 |         /// Logs for any errors that occur
136 |         public static let errors = LogTypes(rawValue: 1 << 1)
    |                           |- warning: static property 'errors' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'errors' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
137 |
138 |         /// Logs for game events in the Client, such as tank spawning and killing
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:139:27: warning: static property 'gameEvents' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
137 |
138 |         /// Logs for game events in the Client, such as tank spawning and killing
139 |         public static let gameEvents = LogTypes(rawValue: 1 << 2)
    |                           |- warning: static property 'gameEvents' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'gameEvents' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
140 |
141 |         /// Logs for AI logic in the Player
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:142:27: warning: static property 'aiLogic' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
140 |
141 |         /// Logs for AI logic in the Player
142 |         public static let aiLogic = LogTypes(rawValue: 1 << 3)
    |                           |- warning: static property 'aiLogic' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'aiLogic' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
143 |
144 |         /// Detailed frames-per-second logs
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:145:27: warning: static property 'fps' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
143 |
144 |         /// Detailed frames-per-second logs
145 |         public static let fps = LogTypes(rawValue: 1 << 4)
    |                           |- warning: static property 'fps' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'fps' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
146 |
147 |         /// Details about input and output when communicating with the server. (i.e. sending commands and receiving game states)
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:148:27: warning: static property 'clientIO' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
146 |
147 |         /// Details about input and output when communicating with the server. (i.e. sending commands and receiving game states)
148 |         public static let clientIO = LogTypes(rawValue: 1 << 5)
    |                           |- warning: static property 'clientIO' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'clientIO' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
149 |
150 |         /// Debugging prints
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:151:27: warning: static property 'debug' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
149 |
150 |         /// Debugging prints
151 |         public static let debug = LogTypes(rawValue: 1 << 6)
    |                           |- warning: static property 'debug' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'debug' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
152 |
153 |         /// Includes `connectAndDisconnect` and `errors`
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:154:27: warning: static property 'level1' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
152 |
153 |         /// Includes `connectAndDisconnect` and `errors`
154 |         public static let level1: LogTypes = [
    |                           |- warning: static property 'level1' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'level1' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
155 |             .connectAndDisconnect,
156 |             .errors
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:160:27: warning: static property 'level2' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
158 |
159 |         /// Includes everything in level 1 plus `gameEvents` and `aiLogic`
160 |         public static let level2: LogTypes = [
    |                           |- warning: static property 'level2' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'level2' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
161 |             .level1,
162 |             .gameEvents,
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:167:27: warning: static property 'level3' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
165 |
166 |         /// Includes everything in level 2 plus `fps`
167 |         public static let level3: LogTypes = [
    |                           |- warning: static property 'level3' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'level3' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
168 |             .level2,
169 |             .fps
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:173:27: warning: static property 'level4' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
171 |
172 |         /// Includes everything in level 3 plus `clientIO`
173 |         public static let level4: LogTypes = [
    |                           |- warning: static property 'level4' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'level4' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
174 |             .level3,
175 |             .clientIO
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:179:27: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
177 |
178 |         /// Includes all logs. Currently equivilant to `level5`.
179 |         public static let all = level4
    |                           |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' 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
180 |
181 |     }
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:63:16: warning: capture of 'self' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 15 |  - note: The setup of this object is not thread safe. Once set up, however, you may call `print` from multiple threads simulataneously without negative side effects.
 16 |  */
 17 | public class Log {
    |              `- note: class 'Log' does not conform to the 'Sendable' protocol
 18 |
 19 |     /// The log types to send through standard out
    :
 61 |         serialQueue.async {
 62 |
 63 |             if self.logTypes.contains(logTypes) {
    |                `- warning: capture of 'self' with non-sendable type 'Log' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 64 |                 var message = message
 65 |
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:63:39: warning: capture of 'logTypes' with non-sendable type 'Log.LogTypes' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 61 |         serialQueue.async {
 62 |
 63 |             if self.logTypes.contains(logTypes) {
    |                                       `- warning: capture of 'logTypes' with non-sendable type 'Log.LogTypes' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 64 |                 var message = message
 65 |
    :
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
[12/31] Compiling PlayerSupport GameConfiguration.swift
[13/31] Compiling PlayerSupport Command.swift
[14/31] Emitting module PlayerSupport
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:130:27: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
128 |
129 |         /// No logging
130 |         public static let none: LogTypes = []
    |                           |- warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'none' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
131 |
132 |         /// Logs for server connects and disconnects
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:133:27: warning: static property 'connectAndDisconnect' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
131 |
132 |         /// Logs for server connects and disconnects
133 |         public static let connectAndDisconnect = LogTypes(rawValue: 1 << 0)
    |                           |- warning: static property 'connectAndDisconnect' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'connectAndDisconnect' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 |         /// Logs for any errors that occur
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:136:27: warning: static property 'errors' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
134 |
135 |         /// Logs for any errors that occur
136 |         public static let errors = LogTypes(rawValue: 1 << 1)
    |                           |- warning: static property 'errors' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'errors' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
137 |
138 |         /// Logs for game events in the Client, such as tank spawning and killing
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:139:27: warning: static property 'gameEvents' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
137 |
138 |         /// Logs for game events in the Client, such as tank spawning and killing
139 |         public static let gameEvents = LogTypes(rawValue: 1 << 2)
    |                           |- warning: static property 'gameEvents' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'gameEvents' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
140 |
141 |         /// Logs for AI logic in the Player
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:142:27: warning: static property 'aiLogic' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
140 |
141 |         /// Logs for AI logic in the Player
142 |         public static let aiLogic = LogTypes(rawValue: 1 << 3)
    |                           |- warning: static property 'aiLogic' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'aiLogic' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
143 |
144 |         /// Detailed frames-per-second logs
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:145:27: warning: static property 'fps' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
143 |
144 |         /// Detailed frames-per-second logs
145 |         public static let fps = LogTypes(rawValue: 1 << 4)
    |                           |- warning: static property 'fps' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'fps' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
146 |
147 |         /// Details about input and output when communicating with the server. (i.e. sending commands and receiving game states)
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:148:27: warning: static property 'clientIO' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
146 |
147 |         /// Details about input and output when communicating with the server. (i.e. sending commands and receiving game states)
148 |         public static let clientIO = LogTypes(rawValue: 1 << 5)
    |                           |- warning: static property 'clientIO' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'clientIO' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
149 |
150 |         /// Debugging prints
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:151:27: warning: static property 'debug' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
149 |
150 |         /// Debugging prints
151 |         public static let debug = LogTypes(rawValue: 1 << 6)
    |                           |- warning: static property 'debug' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'debug' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
152 |
153 |         /// Includes `connectAndDisconnect` and `errors`
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:154:27: warning: static property 'level1' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
152 |
153 |         /// Includes `connectAndDisconnect` and `errors`
154 |         public static let level1: LogTypes = [
    |                           |- warning: static property 'level1' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'level1' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
155 |             .connectAndDisconnect,
156 |             .errors
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:160:27: warning: static property 'level2' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
158 |
159 |         /// Includes everything in level 1 plus `gameEvents` and `aiLogic`
160 |         public static let level2: LogTypes = [
    |                           |- warning: static property 'level2' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'level2' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
161 |             .level1,
162 |             .gameEvents,
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:167:27: warning: static property 'level3' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
165 |
166 |         /// Includes everything in level 2 plus `fps`
167 |         public static let level3: LogTypes = [
    |                           |- warning: static property 'level3' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'level3' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
168 |             .level2,
169 |             .fps
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:173:27: warning: static property 'level4' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
171 |
172 |         /// Includes everything in level 3 plus `clientIO`
173 |         public static let level4: LogTypes = [
    |                           |- warning: static property 'level4' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'level4' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
174 |             .level3,
175 |             .clientIO
/host/spi-builder-workspace/Sources/PlayerSupport/Log.swift:179:27: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' may have shared mutable state; this is an error in the Swift 6 language mode
 96 |
 97 |     /// A collection of mix-and-match log types
 98 |     public struct LogTypes: OptionSet {
    |                   `- note: consider making struct 'LogTypes' conform to the 'Sendable' protocol
 99 |
100 |         public let rawValue: UInt8
    :
177 |
178 |         /// Includes all logs. Currently equivilant to `level5`.
179 |         public static let all = level4
    |                           |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'Log.LogTypes' 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
180 |
181 |     }
[15/31] Compiling PlayerSupport GameState.swift
[16/32] Emitting module Utils
[17/32] Compiling Utils CommandLineArgumentParser.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[18/33] Compiling Starscream SSLSecurity.swift
/host/spi-builder-workspace/.build/checkouts/Starscream/Sources/Starscream/SSLSecurity.swift:25:8: error: no such module 'Security'
 23 | #else
 24 | import Foundation
 25 | import Security
    |        `- error: no such module 'Security'
 26 |
 27 | public protocol SSLTrustValidator {
[19/33] Compiling Starscream SSLClientCertificate.swift
/host/spi-builder-workspace/.build/checkouts/Starscream/Sources/Starscream/SSLSecurity.swift:25:8: error: no such module 'Security'
 23 | #else
 24 | import Foundation
 25 | import Security
    |        `- error: no such module 'Security'
 26 |
 27 | public protocol SSLTrustValidator {
[20/33] Compiling Starscream Compression.swift
/host/spi-builder-workspace/.build/checkouts/Starscream/Sources/Starscream/SSLSecurity.swift:25:8: error: no such module 'Security'
 23 | #else
 24 | import Foundation
 25 | import Security
    |        `- error: no such module 'Security'
 26 |
 27 | public protocol SSLTrustValidator {
[21/33] Emitting module Starscream
/host/spi-builder-workspace/.build/checkouts/Starscream/Sources/Starscream/SSLSecurity.swift:25:8: error: no such module 'Security'
 23 | #else
 24 | import Foundation
 25 | import Security
    |        `- error: no such module 'Security'
 26 |
 27 | public protocol SSLTrustValidator {
[22/33] Compiling Starscream WebSocket.swift
/host/spi-builder-workspace/.build/checkouts/Starscream/Sources/Starscream/SSLSecurity.swift:25:8: error: no such module 'Security'
 23 | #else
 24 | import Foundation
 25 | import Security
    |        `- error: no such module 'Security'
 26 |
 27 | public protocol SSLTrustValidator {
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
warning: 'swift-nio-zlib-support': ignoring declared target(s) 'swift-nio-zlib-support' in the system package
[0/1] Planning build
Building for debugging...
[0/10] Write swift-version-24593BA9C3E375BF.txt
[2/24] Compiling Starscream SSLClientCertificate.swift
/host/spi-builder-workspace/.build/checkouts/Starscream/Sources/Starscream/SSLSecurity.swift:25:8: error: no such module 'Security'
 23 | #else
 24 | import Foundation
 25 | import Security
    |        `- error: no such module 'Security'
 26 |
 27 | public protocol SSLTrustValidator {
[3/24] Compiling Utils Operators.swift
[4/24] Compiling PlayerSupport Player.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/24] Emitting module Starscream
/host/spi-builder-workspace/.build/checkouts/Starscream/Sources/Starscream/SSLSecurity.swift:25:8: error: no such module 'Security'
 23 | #else
 24 | import Foundation
 25 | import Security
    |        `- error: no such module 'Security'
 26 |
 27 | public protocol SSLTrustValidator {
[6/24] Compiling Starscream Compression.swift
/host/spi-builder-workspace/.build/checkouts/Starscream/Sources/Starscream/SSLSecurity.swift:25:8: error: no such module 'Security'
 23 | #else
 24 | import Foundation
 25 | import Security
    |        `- error: no such module 'Security'
 26 |
 27 | public protocol SSLTrustValidator {
[7/24] Compiling Starscream SSLSecurity.swift
/host/spi-builder-workspace/.build/checkouts/Starscream/Sources/Starscream/SSLSecurity.swift:25:8: error: no such module 'Security'
 23 | #else
 24 | import Foundation
 25 | import Security
    |        `- error: no such module 'Security'
 26 |
 27 | public protocol SSLTrustValidator {
[8/24] Compiling Starscream WebSocket.swift
/host/spi-builder-workspace/.build/checkouts/Starscream/Sources/Starscream/SSLSecurity.swift:25:8: error: no such module 'Security'
 23 | #else
 24 | import Foundation
 25 | import Security
    |        `- error: no such module 'Security'
 26 |
 27 | public protocol SSLTrustValidator {
[9/24] Compiling PlayerSupport GameConfiguration.swift
[10/24] Compiling PlayerSupport Command.swift
[11/24] Emitting module PlayerSupport
[12/24] Emitting module Utils
[13/24] Compiling Utils CommandLineArgumentParser.swift
[14/25] Compiling PlayerSupport Log.swift
[15/25] Compiling PlayerSupport GameState.swift
[17/26] Wrapping AST for Utils for debugging
BUILD FAILURE 6.1 android