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