The Swift Package Index logo.Swift Package Index

Build Information

Failed to build FirebladeTime, reference master (699a0e), with Swift 6.1 for Android on 28 May 2025 20:52:36 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/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/fireblade-engine/time.git
Reference: master
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/fireblade-engine/time
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 699a0e6 Update renovate.json
Cloned https://github.com/fireblade-engine/time.git
Revision (git rev-parse @):
699a0e6a58b09d28a0d53df8965eb318cfeafbd8
SUCCESS checkout https://github.com/fireblade-engine/time.git at master
========================================
Build
========================================
Selected platform:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/fireblade-engine/time.git
https://github.com/fireblade-engine/time.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "FirebladeTime",
  "name" : "FirebladeTime",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    },
    {
      "name" : "watchos",
      "version" : "3.0"
    }
  ],
  "products" : [
    {
      "name" : "FirebladeTime",
      "targets" : [
        "FirebladeTime"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FirebladeTimeTests",
      "module_type" : "SwiftTarget",
      "name" : "FirebladeTimeTests",
      "path" : "Tests/FirebladeTimeTests",
      "sources" : [
        "TimeTests.swift",
        "TimerTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "FirebladeTime"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FirebladeTimePerformanceTests",
      "module_type" : "SwiftTarget",
      "name" : "FirebladeTimePerformanceTests",
      "path" : "Tests/FirebladeTimePerformanceTests",
      "sources" : [
        "MachTimePerformanceTests.swift",
        "POSIXTimeOfDayPerformanceTests.swift",
        "PosixClockPerformanceTests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "FirebladeTime"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FirebladeTime",
      "module_type" : "SwiftTarget",
      "name" : "FirebladeTime",
      "path" : "Sources/FirebladeTime",
      "product_memberships" : [
        "FirebladeTime"
      ],
      "sources" : [
        "Duration.swift",
        "MachTime.swift",
        "POSIXClock.swift",
        "POSIXTimeOfDay.swift",
        "Time.swift",
        "TimeProviding.swift",
        "Timer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/10] Compiling FirebladeTime Time.swift
/host/spi-builder-workspace/Sources/FirebladeTime/Time.swift:9:34: warning: static property 'time' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | public enum Time {
 9 |     @usableFromInline static var time: TimeProviding = makeTime()
   |                                  |- warning: static property 'time' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                  |- note: convert 'time' to a 'let' constant to make 'Sendable' shared state immutable
   |                                  |- note: add '@MainActor' to make static property 'time' part of global actor 'MainActor'
   |                                  `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     @inlinable
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:42:41: error: cannot find type 'CTimeSpec' in scope
40 |         // clock_gettime (ns) => 370 cycles (CLOCK_PROCESS_CPUTIME_ID)
41 |
42 |         @usableFromInline var timeSpec: CTimeSpec
   |                                         `- error: cannot find type 'CTimeSpec' in scope
43 |
44 |         @inlinable
[4/10] Compiling FirebladeTime TimeProviding.swift
[5/10] Compiling FirebladeTime Timer.swift
[6/10] Compiling FirebladeTime POSIXTimeOfDay.swift
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:14:16: error: unavailable on this platform
12 |         import Glibc
13 |     #else
14 |         #error("unavailable on this platform")
   |                `- error: unavailable on this platform
15 |     #endif
16 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:23:40: error: cannot find type 'timeval' in scope
21 |     /// https://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html
22 |     public struct POSIXTimeOfDay: TimeProviding {
23 |         @usableFromInline var timeVal: timeval
   |                                        `- error: cannot find type 'timeval' in scope
24 |
25 |         @inlinable
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:27:23: error: cannot find 'timeval' in scope
25 |         @inlinable
26 |         public init() {
27 |             timeVal = timeval(tv_sec: 0, tv_usec: 0)
   |                       `- error: cannot find 'timeval' in scope
28 |         }
29 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:33:26: error: cannot find 'gettimeofday' in scope
31 |         @inlinable
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
   |                          `- error: cannot find 'gettimeofday' in scope
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:33:49: error: 'nil' requires a contextual type
31 |         @inlinable
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
   |                                                 `- error: 'nil' requires a contextual type
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:34:79: error: cannot find 'errno' in scope
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
   |                                                                               `- error: cannot find 'errno' in scope
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
36 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:35:20: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
33 |             let result = gettimeofday(&timeVal, nil)
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
   |                    `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
36 |         }
37 |
[7/10] Compiling FirebladeTime Duration.swift
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:32:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
    |                       |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:33:23: warning: static property 'nanosecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    |                       |- warning: static property 'nanosecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'nanosecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:34:23: warning: static property 'microsecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
    |                       |- warning: static property 'microsecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'microsecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:35:23: warning: static property 'millisecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
    |                       |- warning: static property 'millisecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'millisecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:36:23: warning: static property 'second' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
    |                       |- warning: static property 'second' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'second' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:37:23: warning: static property 'minute' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
    |                       |- warning: static property 'minute' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'minute' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |     public static let hour = Duration(hours: DurationUnit(1))
 39 |     public static let day = Duration(days: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:38:23: warning: static property 'hour' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
    |                       |- warning: static property 'hour' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'hour' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |     public static let day = Duration(days: DurationUnit(1))
 40 |
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:39:23: warning: static property 'day' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
 39 |     public static let day = Duration(days: DurationUnit(1))
    |                       |- warning: static property 'day' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'day' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     public static let maxDuration = Duration(DurationUnit.max)
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:41:23: warning: static property 'maxDuration' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 39 |     public static let day = Duration(days: DurationUnit(1))
 40 |
 41 |     public static let maxDuration = Duration(DurationUnit.max)
    |                       |- warning: static property 'maxDuration' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'maxDuration' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |
 43 |     // can hold up to 584,942417355072 years
[8/10] Compiling FirebladeTime MachTime.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/10] Compiling FirebladeTime POSIXClock.swift
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:15:16: error: unavailable on this platform
13 |         import Glibc
14 |     #else
15 |         #error("unavailable on this platform")
   |                `- error: unavailable on this platform
16 |     #endif
17 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:42:41: error: cannot find type 'CTimeSpec' in scope
40 |         // clock_gettime (ns) => 370 cycles (CLOCK_PROCESS_CPUTIME_ID)
41 |
42 |         @usableFromInline var timeSpec: CTimeSpec
   |                                         `- error: cannot find type 'CTimeSpec' in scope
43 |
44 |         @inlinable
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:46:24: error: cannot find 'CTimeSpec' in scope
44 |         @inlinable
45 |         public init() {
46 |             timeSpec = CTimeSpec(tv_sec: 0, tv_nsec: 0)
   |                        `- error: cannot find 'CTimeSpec' in scope
47 |             // get resolution
48 |             #if canImport(Darwin)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:51:21: error: cannot find 'clock_getres' in scope
49 |                 timeSpec.tv_sec = UInt32(1 / sysconf(_SC_CLK_TCK))
50 |             #else
51 |                 _ = clock_getres(CLOCK_MONOTONIC, &timeSpec)
   |                     `- error: cannot find 'clock_getres' in scope
52 |             #endif
53 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:51:34: error: cannot find 'CLOCK_MONOTONIC' in scope
49 |                 timeSpec.tv_sec = UInt32(1 / sysconf(_SC_CLK_TCK))
50 |             #else
51 |                 _ = clock_getres(CLOCK_MONOTONIC, &timeSpec)
   |                                  `- error: cannot find 'CLOCK_MONOTONIC' in scope
52 |             #endif
53 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:69:21: error: cannot find 'clock_gettime' in scope
67 |                 _ = mach_port_deallocate(machTaskSelf(), clockName)
68 |             #else
69 |                 _ = clock_gettime(CLOCK_MONOTONIC, &timeSpec)
   |                     `- error: cannot find 'clock_gettime' in scope
70 |             #endif
71 |             return Nanoseconds(timeSpec.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeSpec.tv_nsec)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:69:35: error: cannot find 'CLOCK_MONOTONIC' in scope
67 |                 _ = mach_port_deallocate(machTaskSelf(), clockName)
68 |             #else
69 |                 _ = clock_gettime(CLOCK_MONOTONIC, &timeSpec)
   |                                   `- error: cannot find 'CLOCK_MONOTONIC' in scope
70 |             #endif
71 |             return Nanoseconds(timeSpec.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeSpec.tv_nsec)
[10/10] Emitting module FirebladeTime
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:32:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
    |                       |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:33:23: warning: static property 'nanosecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    |                       |- warning: static property 'nanosecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'nanosecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:34:23: warning: static property 'microsecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
    |                       |- warning: static property 'microsecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'microsecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:35:23: warning: static property 'millisecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
    |                       |- warning: static property 'millisecond' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'millisecond' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:36:23: warning: static property 'second' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
 34 |     public static let microsecond = Duration(microseconds: DurationUnit(1))
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
    |                       |- warning: static property 'second' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'second' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:37:23: warning: static property 'minute' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 35 |     public static let millisecond = Duration(milliseconds: DurationUnit(1))
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
    |                       |- warning: static property 'minute' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'minute' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |     public static let hour = Duration(hours: DurationUnit(1))
 39 |     public static let day = Duration(days: DurationUnit(1))
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:38:23: warning: static property 'hour' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 36 |     public static let second = Duration(seconds: DurationUnit(1))
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
    |                       |- warning: static property 'hour' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'hour' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 39 |     public static let day = Duration(days: DurationUnit(1))
 40 |
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:39:23: warning: static property 'day' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 37 |     public static let minute = Duration(minutes: DurationUnit(1))
 38 |     public static let hour = Duration(hours: DurationUnit(1))
 39 |     public static let day = Duration(days: DurationUnit(1))
    |                       |- warning: static property 'day' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'day' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 40 |
 41 |     public static let maxDuration = Duration(DurationUnit.max)
/host/spi-builder-workspace/Sources/FirebladeTime/Duration.swift:41:23: warning: static property 'maxDuration' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
 29 | }
 30 |
 31 | public struct Duration: Equatable, Comparable, Hashable, CustomDebugStringConvertible, CustomStringConvertible {
    |               `- note: consider making struct 'Duration' conform to the 'Sendable' protocol
 32 |     public static let zero = Duration(DurationUnit(0))
 33 |     public static let nanosecond = Duration(nanoseconds: DurationUnit(1))
    :
 39 |     public static let day = Duration(days: DurationUnit(1))
 40 |
 41 |     public static let maxDuration = Duration(DurationUnit.max)
    |                       |- warning: static property 'maxDuration' is not concurrency-safe because non-'Sendable' type 'Duration' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'maxDuration' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 42 |
 43 |     // can hold up to 584,942417355072 years
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:15:16: error: unavailable on this platform
13 |         import Glibc
14 |     #else
15 |         #error("unavailable on this platform")
   |                `- error: unavailable on this platform
16 |     #endif
17 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:42:41: error: cannot find type 'CTimeSpec' in scope
40 |         // clock_gettime (ns) => 370 cycles (CLOCK_PROCESS_CPUTIME_ID)
41 |
42 |         @usableFromInline var timeSpec: CTimeSpec
   |                                         `- error: cannot find type 'CTimeSpec' in scope
43 |
44 |         @inlinable
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:46:24: error: cannot find 'CTimeSpec' in scope
44 |         @inlinable
45 |         public init() {
46 |             timeSpec = CTimeSpec(tv_sec: 0, tv_nsec: 0)
   |                        `- error: cannot find 'CTimeSpec' in scope
47 |             // get resolution
48 |             #if canImport(Darwin)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:51:21: error: cannot find 'clock_getres' in scope
49 |                 timeSpec.tv_sec = UInt32(1 / sysconf(_SC_CLK_TCK))
50 |             #else
51 |                 _ = clock_getres(CLOCK_MONOTONIC, &timeSpec)
   |                     `- error: cannot find 'clock_getres' in scope
52 |             #endif
53 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:51:34: error: cannot find 'CLOCK_MONOTONIC' in scope
49 |                 timeSpec.tv_sec = UInt32(1 / sysconf(_SC_CLK_TCK))
50 |             #else
51 |                 _ = clock_getres(CLOCK_MONOTONIC, &timeSpec)
   |                                  `- error: cannot find 'CLOCK_MONOTONIC' in scope
52 |             #endif
53 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:69:21: error: cannot find 'clock_gettime' in scope
67 |                 _ = mach_port_deallocate(machTaskSelf(), clockName)
68 |             #else
69 |                 _ = clock_gettime(CLOCK_MONOTONIC, &timeSpec)
   |                     `- error: cannot find 'clock_gettime' in scope
70 |             #endif
71 |             return Nanoseconds(timeSpec.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeSpec.tv_nsec)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:69:35: error: cannot find 'CLOCK_MONOTONIC' in scope
67 |                 _ = mach_port_deallocate(machTaskSelf(), clockName)
68 |             #else
69 |                 _ = clock_gettime(CLOCK_MONOTONIC, &timeSpec)
   |                                   `- error: cannot find 'CLOCK_MONOTONIC' in scope
70 |             #endif
71 |             return Nanoseconds(timeSpec.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeSpec.tv_nsec)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:14:16: error: unavailable on this platform
12 |         import Glibc
13 |     #else
14 |         #error("unavailable on this platform")
   |                `- error: unavailable on this platform
15 |     #endif
16 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:23:40: error: cannot find type 'timeval' in scope
21 |     /// https://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html
22 |     public struct POSIXTimeOfDay: TimeProviding {
23 |         @usableFromInline var timeVal: timeval
   |                                        `- error: cannot find type 'timeval' in scope
24 |
25 |         @inlinable
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:27:23: error: cannot find 'timeval' in scope
25 |         @inlinable
26 |         public init() {
27 |             timeVal = timeval(tv_sec: 0, tv_usec: 0)
   |                       `- error: cannot find 'timeval' in scope
28 |         }
29 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:33:26: error: cannot find 'gettimeofday' in scope
31 |         @inlinable
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
   |                          `- error: cannot find 'gettimeofday' in scope
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:33:49: error: 'nil' requires a contextual type
31 |         @inlinable
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
   |                                                 `- error: 'nil' requires a contextual type
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:34:79: error: cannot find 'errno' in scope
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
   |                                                                               `- error: cannot find 'errno' in scope
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
36 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:35:20: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
33 |             let result = gettimeofday(&timeVal, nil)
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
   |                    `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
36 |         }
37 |
/host/spi-builder-workspace/Sources/FirebladeTime/Time.swift:9:34: warning: static property 'time' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |
 8 | public enum Time {
 9 |     @usableFromInline static var time: TimeProviding = makeTime()
   |                                  |- warning: static property 'time' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                  |- note: convert 'time' to a 'let' constant to make 'Sendable' shared state immutable
   |                                  |- note: add '@MainActor' to make static property 'time' part of global actor 'MainActor'
   |                                  `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     @inlinable
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/9] Compiling FirebladeTime Time.swift
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:42:41: error: cannot find type 'CTimeSpec' in scope
40 |         // clock_gettime (ns) => 370 cycles (CLOCK_PROCESS_CPUTIME_ID)
41 |
42 |         @usableFromInline var timeSpec: CTimeSpec
   |                                         `- error: cannot find type 'CTimeSpec' in scope
43 |
44 |         @inlinable
[3/9] Compiling FirebladeTime Timer.swift
[4/9] Compiling FirebladeTime TimeProviding.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/9] Compiling FirebladeTime Duration.swift
[6/9] Emitting module FirebladeTime
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:15:16: error: unavailable on this platform
13 |         import Glibc
14 |     #else
15 |         #error("unavailable on this platform")
   |                `- error: unavailable on this platform
16 |     #endif
17 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:42:41: error: cannot find type 'CTimeSpec' in scope
40 |         // clock_gettime (ns) => 370 cycles (CLOCK_PROCESS_CPUTIME_ID)
41 |
42 |         @usableFromInline var timeSpec: CTimeSpec
   |                                         `- error: cannot find type 'CTimeSpec' in scope
43 |
44 |         @inlinable
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:46:24: error: cannot find 'CTimeSpec' in scope
44 |         @inlinable
45 |         public init() {
46 |             timeSpec = CTimeSpec(tv_sec: 0, tv_nsec: 0)
   |                        `- error: cannot find 'CTimeSpec' in scope
47 |             // get resolution
48 |             #if canImport(Darwin)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:51:21: error: cannot find 'clock_getres' in scope
49 |                 timeSpec.tv_sec = UInt32(1 / sysconf(_SC_CLK_TCK))
50 |             #else
51 |                 _ = clock_getres(CLOCK_MONOTONIC, &timeSpec)
   |                     `- error: cannot find 'clock_getres' in scope
52 |             #endif
53 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:51:34: error: cannot find 'CLOCK_MONOTONIC' in scope
49 |                 timeSpec.tv_sec = UInt32(1 / sysconf(_SC_CLK_TCK))
50 |             #else
51 |                 _ = clock_getres(CLOCK_MONOTONIC, &timeSpec)
   |                                  `- error: cannot find 'CLOCK_MONOTONIC' in scope
52 |             #endif
53 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:69:21: error: cannot find 'clock_gettime' in scope
67 |                 _ = mach_port_deallocate(machTaskSelf(), clockName)
68 |             #else
69 |                 _ = clock_gettime(CLOCK_MONOTONIC, &timeSpec)
   |                     `- error: cannot find 'clock_gettime' in scope
70 |             #endif
71 |             return Nanoseconds(timeSpec.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeSpec.tv_nsec)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:69:35: error: cannot find 'CLOCK_MONOTONIC' in scope
67 |                 _ = mach_port_deallocate(machTaskSelf(), clockName)
68 |             #else
69 |                 _ = clock_gettime(CLOCK_MONOTONIC, &timeSpec)
   |                                   `- error: cannot find 'CLOCK_MONOTONIC' in scope
70 |             #endif
71 |             return Nanoseconds(timeSpec.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeSpec.tv_nsec)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:14:16: error: unavailable on this platform
12 |         import Glibc
13 |     #else
14 |         #error("unavailable on this platform")
   |                `- error: unavailable on this platform
15 |     #endif
16 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:23:40: error: cannot find type 'timeval' in scope
21 |     /// https://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html
22 |     public struct POSIXTimeOfDay: TimeProviding {
23 |         @usableFromInline var timeVal: timeval
   |                                        `- error: cannot find type 'timeval' in scope
24 |
25 |         @inlinable
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:27:23: error: cannot find 'timeval' in scope
25 |         @inlinable
26 |         public init() {
27 |             timeVal = timeval(tv_sec: 0, tv_usec: 0)
   |                       `- error: cannot find 'timeval' in scope
28 |         }
29 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:33:26: error: cannot find 'gettimeofday' in scope
31 |         @inlinable
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
   |                          `- error: cannot find 'gettimeofday' in scope
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:33:49: error: 'nil' requires a contextual type
31 |         @inlinable
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
   |                                                 `- error: 'nil' requires a contextual type
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:34:79: error: cannot find 'errno' in scope
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
   |                                                                               `- error: cannot find 'errno' in scope
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
36 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:35:20: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
33 |             let result = gettimeofday(&timeVal, nil)
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
   |                    `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
36 |         }
37 |
[7/9] Compiling FirebladeTime MachTime.swift
[8/9] Compiling FirebladeTime POSIXClock.swift
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:15:16: error: unavailable on this platform
13 |         import Glibc
14 |     #else
15 |         #error("unavailable on this platform")
   |                `- error: unavailable on this platform
16 |     #endif
17 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:42:41: error: cannot find type 'CTimeSpec' in scope
40 |         // clock_gettime (ns) => 370 cycles (CLOCK_PROCESS_CPUTIME_ID)
41 |
42 |         @usableFromInline var timeSpec: CTimeSpec
   |                                         `- error: cannot find type 'CTimeSpec' in scope
43 |
44 |         @inlinable
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:46:24: error: cannot find 'CTimeSpec' in scope
44 |         @inlinable
45 |         public init() {
46 |             timeSpec = CTimeSpec(tv_sec: 0, tv_nsec: 0)
   |                        `- error: cannot find 'CTimeSpec' in scope
47 |             // get resolution
48 |             #if canImport(Darwin)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:51:21: error: cannot find 'clock_getres' in scope
49 |                 timeSpec.tv_sec = UInt32(1 / sysconf(_SC_CLK_TCK))
50 |             #else
51 |                 _ = clock_getres(CLOCK_MONOTONIC, &timeSpec)
   |                     `- error: cannot find 'clock_getres' in scope
52 |             #endif
53 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:51:34: error: cannot find 'CLOCK_MONOTONIC' in scope
49 |                 timeSpec.tv_sec = UInt32(1 / sysconf(_SC_CLK_TCK))
50 |             #else
51 |                 _ = clock_getres(CLOCK_MONOTONIC, &timeSpec)
   |                                  `- error: cannot find 'CLOCK_MONOTONIC' in scope
52 |             #endif
53 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:69:21: error: cannot find 'clock_gettime' in scope
67 |                 _ = mach_port_deallocate(machTaskSelf(), clockName)
68 |             #else
69 |                 _ = clock_gettime(CLOCK_MONOTONIC, &timeSpec)
   |                     `- error: cannot find 'clock_gettime' in scope
70 |             #endif
71 |             return Nanoseconds(timeSpec.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeSpec.tv_nsec)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXClock.swift:69:35: error: cannot find 'CLOCK_MONOTONIC' in scope
67 |                 _ = mach_port_deallocate(machTaskSelf(), clockName)
68 |             #else
69 |                 _ = clock_gettime(CLOCK_MONOTONIC, &timeSpec)
   |                                   `- error: cannot find 'CLOCK_MONOTONIC' in scope
70 |             #endif
71 |             return Nanoseconds(timeSpec.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeSpec.tv_nsec)
[9/9] Compiling FirebladeTime POSIXTimeOfDay.swift
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:14:16: error: unavailable on this platform
12 |         import Glibc
13 |     #else
14 |         #error("unavailable on this platform")
   |                `- error: unavailable on this platform
15 |     #endif
16 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:23:40: error: cannot find type 'timeval' in scope
21 |     /// https://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html
22 |     public struct POSIXTimeOfDay: TimeProviding {
23 |         @usableFromInline var timeVal: timeval
   |                                        `- error: cannot find type 'timeval' in scope
24 |
25 |         @inlinable
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:27:23: error: cannot find 'timeval' in scope
25 |         @inlinable
26 |         public init() {
27 |             timeVal = timeval(tv_sec: 0, tv_usec: 0)
   |                       `- error: cannot find 'timeval' in scope
28 |         }
29 |
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:33:26: error: cannot find 'gettimeofday' in scope
31 |         @inlinable
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
   |                          `- error: cannot find 'gettimeofday' in scope
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:33:49: error: 'nil' requires a contextual type
31 |         @inlinable
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
   |                                                 `- error: 'nil' requires a contextual type
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:34:79: error: cannot find 'errno' in scope
32 |         public mutating func now() -> Nanoseconds {
33 |             let result = gettimeofday(&timeVal, nil)
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
   |                                                                               `- error: cannot find 'errno' in scope
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
36 |         }
/host/spi-builder-workspace/Sources/FirebladeTime/POSIXTimeOfDay.swift:35:20: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
33 |             let result = gettimeofday(&timeVal, nil)
34 |             precondition(result == 0, "failed to call 'gettimeofday' error: \(errno)")
35 |             return Nanoseconds(timeVal.tv_sec) * Nanoseconds(1e9) + Nanoseconds(timeVal.tv_usec) * Nanoseconds(1e3)
   |                    `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
36 |         }
37 |
BUILD FAILURE 6.1 android