Build Information
Failed to build RVS_BasicGCDTimer, reference 1.8.0 (efb1bc), with Swift 6.2 for Wasm on 14 Sep 2026 16:05:16 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344847-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.0.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/RiftValleySoftware/RVS_BasicGCDTimer.git
Reference: 1.8.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/RiftValleySoftware/RVS_BasicGCDTimer
* tag 1.8.0 -> FETCH_HEAD
HEAD is now at efb1bce Fixed a couple of issues the LLM found, improved documentation, and added new tests.
Cloned https://github.com/RiftValleySoftware/RVS_BasicGCDTimer.git
Revision (git rev-parse @):
efb1bce5d5dd145925c81d9906f3317f9e4c11ce
SUCCESS checkout https://github.com/RiftValleySoftware/RVS_BasicGCDTimer.git at 1.8.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.2
Building package at path: $PWD
https://github.com/RiftValleySoftware/RVS_BasicGCDTimer.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344847-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1
wasm-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:ff44196b45f83e5a0a99a627b185f548850d9bc1242e3dee2178fb1570812fe8
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest
Building for debugging...
[0/3] Write sources
[0/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/6] Emitting module RVS_BasicGCDTimer
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:167:26: error: cannot find type 'DispatchSourceTimer' in scope
165 | private let _lock = NSRecursiveLock()
166 | private var _state: State = .idle
167 | private var _source: DispatchSourceTimer?
| `- error: cannot find type 'DispatchSourceTimer' in scope
168 | private var _sourceIsSuspended = true
169 | private var _transition = UUID()
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:177:25: error: cannot find type 'DispatchQueue' in scope
175 | private var _leeway = 0
176 | private var _context: Any?
177 | private var _queue: DispatchQueue?
| `- error: cannot find type 'DispatchQueue' in scope
178 | private var _wallTime = false
179 |
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:236:23: error: cannot find type 'DispatchQueue' in scope
234 | /// Set this before the first `resume()`; later assignments are ignored. Lifecycle
235 | /// and cancellation notifications use the calling thread, independently of this queue.
236 | public var queue: DispatchQueue! {
| `- error: cannot find type 'DispatchQueue' in scope
237 | get { _locked { _queue } }
238 | set { _locked { if _state == .idle { _queue = newValue } } }
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:303:32: error: cannot find type 'DispatchQueue' in scope
301 | onlyFireOnce inOnlyFireOnce: Bool = true,
302 | context inContext: Any! = nil,
303 | queue inQueue: DispatchQueue! = nil,
| `- error: cannot find type 'DispatchQueue' in scope
304 | isWallTime inIsWallTime: Bool = false,
305 | completion inCompletion: RVS_BasicGCDTimerCompletion! = nil) {
[5/6] Compiling RVS_BasicGCDTimer resource_bundle_accessor.swift
[6/6] Compiling RVS_BasicGCDTimer RVS_BasicGCDTimer.swift
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:167:26: error: cannot find type 'DispatchSourceTimer' in scope
165 | private let _lock = NSRecursiveLock()
166 | private var _state: State = .idle
167 | private var _source: DispatchSourceTimer?
| `- error: cannot find type 'DispatchSourceTimer' in scope
168 | private var _sourceIsSuspended = true
169 | private var _transition = UUID()
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:177:25: error: cannot find type 'DispatchQueue' in scope
175 | private var _leeway = 0
176 | private var _context: Any?
177 | private var _queue: DispatchQueue?
| `- error: cannot find type 'DispatchQueue' in scope
178 | private var _wallTime = false
179 |
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:236:23: error: cannot find type 'DispatchQueue' in scope
234 | /// Set this before the first `resume()`; later assignments are ignored. Lifecycle
235 | /// and cancellation notifications use the calling thread, independently of this queue.
236 | public var queue: DispatchQueue! {
| `- error: cannot find type 'DispatchQueue' in scope
237 | get { _locked { _queue } }
238 | set { _locked { if _state == .idle { _queue = newValue } } }
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:303:32: error: cannot find type 'DispatchQueue' in scope
301 | onlyFireOnce inOnlyFireOnce: Bool = true,
302 | context inContext: Any! = nil,
303 | queue inQueue: DispatchQueue! = nil,
| `- error: cannot find type 'DispatchQueue' in scope
304 | isWallTime inIsWallTime: Bool = false,
305 | completion inCompletion: RVS_BasicGCDTimerCompletion! = nil) {
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:321:18: error: extraneous argument label 'timeIntervalInSeconds:' in call
319 | /// - inCompletion: Receives true for the event or false for cancellation before delivery.
320 | public convenience init(_ inTimeIntervalInSeconds: TimeInterval, completion inCompletion: @escaping RVS_BasicGCDTimerCompletion) {
321 | self.init(timeIntervalInSeconds: inTimeIntervalInSeconds, completion: inCompletion)
| `- error: extraneous argument label 'timeIntervalInSeconds:' in call
322 | }
323 |
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:342:26: error: cannot find 'DispatchSource' in scope
340 | return
341 | }
342 | let source = DispatchSource.makeTimerSource(queue: _queue)
| `- error: cannot find 'DispatchSource' in scope
343 | // Keep seconds as Double: Int-sized nanoseconds would cap 32-bit watchOS at two seconds.
344 | let interval = max(0.000000001, _interval)
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:345:26: error: cannot find 'DispatchTimeInterval' in scope
343 | // Keep seconds as Double: Int-sized nanoseconds would cap 32-bit watchOS at two seconds.
344 | let interval = max(0.000000001, _interval)
345 | let leeway = DispatchTimeInterval.milliseconds(_leeway)
| `- error: cannot find 'DispatchTimeInterval' in scope
346 | source.setEventHandler { [weak self] in self?._fire() }
347 | if _wallTime {
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:349:52: error: cannot call value of non-function type 'Date'
347 | if _wallTime {
348 | if _onlyFireOnce {
349 | source.schedule(wallDeadline: .now() + interval, leeway: leeway)
| `- error: cannot call value of non-function type 'Date'
350 | } else {
351 | source.schedule(wallDeadline: .now() + interval, repeating: interval, leeway: leeway)
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:351:52: error: cannot call value of non-function type 'Date'
349 | source.schedule(wallDeadline: .now() + interval, leeway: leeway)
350 | } else {
351 | source.schedule(wallDeadline: .now() + interval, repeating: interval, leeway: leeway)
| `- error: cannot call value of non-function type 'Date'
352 | }
353 | } else {
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:355:48: error: cannot call value of non-function type 'Date'
353 | } else {
354 | if _onlyFireOnce {
355 | source.schedule(deadline: .now() + interval, leeway: leeway)
| `- error: cannot call value of non-function type 'Date'
356 | } else {
357 | source.schedule(deadline: .now() + interval, repeating: interval, leeway: leeway)
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:357:48: error: cannot call value of non-function type 'Date'
355 | source.schedule(deadline: .now() + interval, leeway: leeway)
356 | } else {
357 | source.schedule(deadline: .now() + interval, repeating: interval, leeway: leeway)
| `- error: cannot call value of non-function type 'Date'
358 | }
359 | }
/host/spi-builder-workspace/Sources/RVS_BasicGCDTimer/RVS_BasicGCDTimer.swift:456:41: error: 'nil' requires a contextual type
454 | private func _cancelSource() {
455 | guard let source = _source else { return }
456 | source.setEventHandler(handler: nil)
| `- error: 'nil' requires a contextual type
457 | source.cancel()
458 | if _sourceIsSuspended { source.resume() }
BUILD FAILURE 6.2 wasm