This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build Watchdog with Swift 6.0 for Linux.

Build Command

bash -c docker run --rm -v "checkouts-4609320-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/wojteklu/Watchdog.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/wojteklu/Watchdog
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 2df9acf Add support for SwiftPM (#51)
Cloned https://github.com/wojteklu/Watchdog.git
Revision (git rev-parse @):
2df9acf8472a1f1146fc0f41e37d3f424dba72d6
SUCCESS checkout https://github.com/wojteklu/Watchdog.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $workDir
https://github.com/wojteklu/Watchdog.git
Running build ...
bash -c docker run --rm -v "checkouts-4609320-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/4] Emitting module Watchdog
/host/spi-builder-workspace/Classes/Watchdog.swift:7:6: error: Objective-C interoperability is disabled
 5 |     fileprivate let pingThread: PingThread
 6 |
 7 |     @objc public static let defaultThreshold = 0.4
   |      `- error: Objective-C interoperability is disabled
 8 |
 9 |     /// Convenience initializer that allows you to construct a `WatchDog` object with default behavior.
/host/spi-builder-workspace/Classes/Watchdog.swift:12:6: error: Objective-C interoperability is disabled
10 |     /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
11 |     /// - parameter strictMode: boolean value that stops the execution whenever the threshold is reached.
12 |     @objc public convenience init(threshold: Double = Watchdog.defaultThreshold, strictMode: Bool = false) {
   |      `- error: Objective-C interoperability is disabled
13 |         let message = "👮 Main thread was blocked for " + String(format: "%.2f", threshold) + "s 👮"
14 |
/host/spi-builder-workspace/Classes/Watchdog.swift:27:6: error: Objective-C interoperability is disabled
25 |     /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
26 |     /// - parameter watchdogFiredCallback: a callback that will be called when the the threshold is reached
27 |     @objc public init(threshold: Double = Watchdog.defaultThreshold, watchdogFiredCallback: @escaping () -> Void) {
   |      `- error: Objective-C interoperability is disabled
28 |         self.pingThread = PingThread(threshold: threshold, handler: watchdogFiredCallback)
29 |
[4/4] Compiling Watchdog Watchdog.swift
/host/spi-builder-workspace/Classes/Watchdog.swift:7:6: error: Objective-C interoperability is disabled
 5 |     fileprivate let pingThread: PingThread
 6 |
 7 |     @objc public static let defaultThreshold = 0.4
   |      `- error: Objective-C interoperability is disabled
 8 |
 9 |     /// Convenience initializer that allows you to construct a `WatchDog` object with default behavior.
/host/spi-builder-workspace/Classes/Watchdog.swift:12:6: error: Objective-C interoperability is disabled
10 |     /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
11 |     /// - parameter strictMode: boolean value that stops the execution whenever the threshold is reached.
12 |     @objc public convenience init(threshold: Double = Watchdog.defaultThreshold, strictMode: Bool = false) {
   |      `- error: Objective-C interoperability is disabled
13 |         let message = "👮 Main thread was blocked for " + String(format: "%.2f", threshold) + "s 👮"
14 |
/host/spi-builder-workspace/Classes/Watchdog.swift:27:6: error: Objective-C interoperability is disabled
25 |     /// - parameter threshold: number of seconds that must pass to consider the main thread blocked.
26 |     /// - parameter watchdogFiredCallback: a callback that will be called when the the threshold is reached
27 |     @objc public init(threshold: Double = Watchdog.defaultThreshold, watchdogFiredCallback: @escaping () -> Void) {
   |      `- error: Objective-C interoperability is disabled
28 |         self.pingThread = PingThread(threshold: threshold, handler: watchdogFiredCallback)
29 |
/host/spi-builder-workspace/Classes/Watchdog.swift:42:13: error: cannot find 'objc_sync_enter' in scope
40 |     fileprivate var pingTaskIsRunning: Bool {
41 |         get {
42 |             objc_sync_enter(pingTaskIsRunningLock)
   |             `- error: cannot find 'objc_sync_enter' in scope
43 |             let result = _pingTaskIsRunning;
44 |             objc_sync_exit(pingTaskIsRunningLock)
/host/spi-builder-workspace/Classes/Watchdog.swift:44:13: error: cannot find 'objc_sync_exit' in scope
42 |             objc_sync_enter(pingTaskIsRunningLock)
43 |             let result = _pingTaskIsRunning;
44 |             objc_sync_exit(pingTaskIsRunningLock)
   |             `- error: cannot find 'objc_sync_exit' in scope
45 |             return result
46 |         }
/host/spi-builder-workspace/Classes/Watchdog.swift:48:13: error: cannot find 'objc_sync_enter' in scope
46 |         }
47 |         set {
48 |             objc_sync_enter(pingTaskIsRunningLock)
   |             `- error: cannot find 'objc_sync_enter' in scope
49 |             _pingTaskIsRunning = newValue
50 |             objc_sync_exit(pingTaskIsRunningLock)
/host/spi-builder-workspace/Classes/Watchdog.swift:50:13: error: cannot find 'objc_sync_exit' in scope
48 |             objc_sync_enter(pingTaskIsRunningLock)
49 |             _pingTaskIsRunning = newValue
50 |             objc_sync_exit(pingTaskIsRunningLock)
   |             `- error: cannot find 'objc_sync_exit' in scope
51 |         }
52 |     }
/host/spi-builder-workspace/Classes/Watchdog.swift:70:17: warning: capture of 'self' with non-sendable type 'PingThread' in a `@Sendable` closure; this is an error in the Swift 6 language mode
37 | }
38 |
39 | private final class PingThread: Thread {
   |                     `- note: class 'PingThread' does not conform to the 'Sendable' protocol
40 |     fileprivate var pingTaskIsRunning: Bool {
41 |         get {
   :
68 |             pingTaskIsRunning = true
69 |             DispatchQueue.main.async {
70 |                 self.pingTaskIsRunning = false
   |                 `- warning: capture of 'self' with non-sendable type 'PingThread' in a `@Sendable` closure; this is an error in the Swift 6 language mode
71 |                 self.semaphore.signal()
72 |             }
BUILD FAILURE 6.0 linux
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.