Build Information
Failed to build FoundationPlus, reference main (ac9221), with Swift 6.2 for Wasm on 1 Oct 2025 12:50:06 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest swift build --swift-sdk wasm32-unknown-wasip1 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Star-Lord-PHB/foundation-plus.git
Reference: main
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/Star-Lord-PHB/foundation-plus
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at ac92210 fix: Fix compile error on VisionOS
Cloned https://github.com/Star-Lord-PHB/foundation-plus.git
Revision (git rev-parse @):
ac9221069683db464b90c7b0bcc2451d02196846
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/Star-Lord-PHB/foundation-plus.git at main
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.2
Building package at path: $PWD
https://github.com/Star-Lord-PHB/foundation-plus.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest swift build --swift-sdk wasm32-unknown-wasip1 2>&1
wasm-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:f6b6b9bdb5d5605d727da337418fc455cd8a0394d3a815b70631008c48829755
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest
warning: multiple Swift SDKs match target triple `wasm32-unknown-wasip1` and host triple x86_64-unknown-linux-gnu, selected one at /root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/swift-sdk.json
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/apple/swift-collections
[1/2094] Fetching swift-docc-plugin
[2095/20072] Fetching swift-docc-plugin, swift-collections
Fetched https://github.com/apple/swift-docc-plugin from cache (0.49s)
[1978/17978] Fetching swift-collections
Fetched https://github.com/apple/swift-collections from cache (1.44s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.3.0 (2.08s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.4.5 (2.33s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3538] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.46s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.95s)
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.3.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.4.5
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/9] Write sources
[8/9] Write swift-version-24593BA9C3E375BF.txt
[10/33] Compiling InternalCollectionsUtilities LifetimeOverride.swift
[11/33] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[12/33] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[13/33] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[14/35] Compiling InternalCollectionsUtilities Debugging.swift
[15/35] Compiling InternalCollectionsUtilities Descriptions.swift
[16/35] Compiling InternalCollectionsUtilities _SortedCollection.swift
[17/35] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[18/35] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[19/35] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[20/35] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[21/35] Compiling InternalCollectionsUtilities Integer rank.swift
[22/35] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[23/35] Compiling InternalCollectionsUtilities UInt+reversed.swift
[24/35] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[25/35] Emitting module InternalCollectionsUtilities
[26/35] Compiling InternalCollectionsUtilities UnsafeMutableRawBufferPointer+Extras.swift
[27/35] Compiling InternalCollectionsUtilities UnsafeRawBufferPointer+Extras.swift
[29/51] Compiling DequeModule Deque+CustomReflectable.swift
[30/51] Compiling DequeModule Deque+Descriptions.swift
[31/53] Compiling DequeModule Deque+Equatable.swift
[32/53] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[33/53] Compiling DequeModule _DequeBuffer.swift
[34/53] Compiling DequeModule _DequeBufferHeader.swift
[35/53] Compiling DequeModule Deque+Extras.swift
[36/53] Compiling DequeModule Deque+Hashable.swift
[37/53] Compiling DequeModule _DequeSlot.swift
[38/53] Compiling DequeModule _UnsafeWrappedBuffer.swift
[39/53] Compiling DequeModule Deque._UnsafeHandle.swift
[40/53] Compiling DequeModule Deque.swift
[41/53] Compiling DequeModule Deque+Testing.swift
[42/53] Compiling DequeModule Deque._Storage.swift
[43/53] Compiling DequeModule Deque+Codable.swift
[44/53] Compiling DequeModule Deque+Collection.swift
[45/53] Emitting module DequeModule
[47/54] Compiling DatePlus Date+Comparison.swift
[48/55] Compiling DatePlus Date+QuickAccessor.swift
[49/55] Compiling DatePlus Date+Arithmetic.swift
[50/63] Compiling DatePlus Date.SettingComponents.swift
[51/63] Emitting module DatePlus
[52/63] Compiling DatePlus Calendar+MeasurableComponent.swift
[53/63] Compiling ConcurrencyPlus DispatchQueueTaskExecutor.swift
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:43:23: error: cannot find type 'DispatchQueue' in scope
41 |
42 | /// The underlying GCD queue used for executing tasks
43 | public let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
44 |
45 | init(queue: DispatchQueue) {
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:45:17: error: cannot find type 'DispatchQueue' in scope
43 | public let queue: DispatchQueue
44 |
45 | init(queue: DispatchQueue) {
| `- error: cannot find type 'DispatchQueue' in scope
46 | self.queue = queue
47 | }
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:63:14: error: cannot find type 'DispatchQoS' in scope
61 | public convenience init(
62 | label: String,
63 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
64 | attributes: DispatchQueue.Attributes = .concurrent
65 | ) {
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:64:21: error: cannot find type 'DispatchQueue' in scope
62 | label: String,
63 | qos: DispatchQoS = .default,
64 | attributes: DispatchQueue.Attributes = .concurrent
| `- error: cannot find type 'DispatchQueue' in scope
65 | ) {
66 | self.init(queue: .init(label: label, qos: qos, attributes: attributes))
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:95:71: error: cannot infer contextual base in reference to member 'main'
93 | /// Task executor that runs on main thread
94 | /// - Warning: DO NOT use this task executor for blocking / long-running operations
95 | public static let main: DispatchQueueTaskExecutor = .init(queue: .main)
| `- error: cannot infer contextual base in reference to member 'main'
96 | /// Task executor that runs on the system global GCD queue
97 | public static let global: DispatchQueueTaskExecutor = .init(queue: .global())
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:97:73: error: cannot infer contextual base in reference to member 'global'
95 | public static let main: DispatchQueueTaskExecutor = .init(queue: .main)
96 | /// Task executor that runs on the system global GCD queue
97 | public static let global: DispatchQueueTaskExecutor = .init(queue: .global())
| `- error: cannot infer contextual base in reference to member 'global'
98 | /// Task executor that runs on a GCD queue with background qos
99 | public static let background: DispatchQueueTaskExecutor =
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:100:73: error: cannot infer contextual base in reference to member 'background'
98 | /// Task executor that runs on a GCD queue with background qos
99 | public static let background: DispatchQueueTaskExecutor =
100 | .init(label: "foundation_plus.default_queues.background", qos: .background, attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'background'
101 | /// Task executor that runs on a GCD queue with default qos
102 | public static let shared: DispatchQueueTaskExecutor =
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:100:98: error: cannot infer contextual base in reference to member 'concurrent'
98 | /// Task executor that runs on a GCD queue with background qos
99 | public static let background: DispatchQueueTaskExecutor =
100 | .init(label: "foundation_plus.default_queues.background", qos: .background, attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
101 | /// Task executor that runs on a GCD queue with default qos
102 | public static let shared: DispatchQueueTaskExecutor =
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:103:77: error: cannot infer contextual base in reference to member 'concurrent'
101 | /// Task executor that runs on a GCD queue with default qos
102 | public static let shared: DispatchQueueTaskExecutor =
103 | .init(label: "foundation_plus.default_queues.default", attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
104 |
105 | }
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:66:27: error: cannot infer contextual base in reference to member 'init'
64 | attributes: DispatchQueue.Attributes = .concurrent
65 | ) {
66 | self.init(queue: .init(label: label, qos: qos, attributes: attributes))
| `- error: cannot infer contextual base in reference to member 'init'
67 | }
68 |
[54/63] Compiling ConcurrencyPlus ThreadPoolTaskExecutor.swift
[55/63] Compiling DatePlus Date+Creating.swift
[56/63] Compiling DatePlus Date+Enumeration.swift
[57/63] Compiling DatePlus Date+Components.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[59/64] Emitting module ConcurrencyPlus
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:43:23: error: cannot find type 'DispatchQueue' in scope
41 |
42 | /// The underlying GCD queue used for executing tasks
43 | public let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
44 |
45 | init(queue: DispatchQueue) {
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:45:17: error: cannot find type 'DispatchQueue' in scope
43 | public let queue: DispatchQueue
44 |
45 | init(queue: DispatchQueue) {
| `- error: cannot find type 'DispatchQueue' in scope
46 | self.queue = queue
47 | }
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:63:14: error: cannot find type 'DispatchQoS' in scope
61 | public convenience init(
62 | label: String,
63 | qos: DispatchQoS = .default,
| `- error: cannot find type 'DispatchQoS' in scope
64 | attributes: DispatchQueue.Attributes = .concurrent
65 | ) {
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:64:21: error: cannot find type 'DispatchQueue' in scope
62 | label: String,
63 | qos: DispatchQoS = .default,
64 | attributes: DispatchQueue.Attributes = .concurrent
| `- error: cannot find type 'DispatchQueue' in scope
65 | ) {
66 | self.init(queue: .init(label: label, qos: qos, attributes: attributes))
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:95:71: error: cannot infer contextual base in reference to member 'main'
93 | /// Task executor that runs on main thread
94 | /// - Warning: DO NOT use this task executor for blocking / long-running operations
95 | public static let main: DispatchQueueTaskExecutor = .init(queue: .main)
| `- error: cannot infer contextual base in reference to member 'main'
96 | /// Task executor that runs on the system global GCD queue
97 | public static let global: DispatchQueueTaskExecutor = .init(queue: .global())
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:97:73: error: cannot infer contextual base in reference to member 'global'
95 | public static let main: DispatchQueueTaskExecutor = .init(queue: .main)
96 | /// Task executor that runs on the system global GCD queue
97 | public static let global: DispatchQueueTaskExecutor = .init(queue: .global())
| `- error: cannot infer contextual base in reference to member 'global'
98 | /// Task executor that runs on a GCD queue with background qos
99 | public static let background: DispatchQueueTaskExecutor =
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:100:73: error: cannot infer contextual base in reference to member 'background'
98 | /// Task executor that runs on a GCD queue with background qos
99 | public static let background: DispatchQueueTaskExecutor =
100 | .init(label: "foundation_plus.default_queues.background", qos: .background, attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'background'
101 | /// Task executor that runs on a GCD queue with default qos
102 | public static let shared: DispatchQueueTaskExecutor =
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:100:98: error: cannot infer contextual base in reference to member 'concurrent'
98 | /// Task executor that runs on a GCD queue with background qos
99 | public static let background: DispatchQueueTaskExecutor =
100 | .init(label: "foundation_plus.default_queues.background", qos: .background, attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
101 | /// Task executor that runs on a GCD queue with default qos
102 | public static let shared: DispatchQueueTaskExecutor =
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:103:77: error: cannot infer contextual base in reference to member 'concurrent'
101 | /// Task executor that runs on a GCD queue with default qos
102 | public static let shared: DispatchQueueTaskExecutor =
103 | .init(label: "foundation_plus.default_queues.default", attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
104 |
105 | }
/host/spi-builder-workspace/Sources/ConcurrencyPlus/JoinableThread.swift:9:29: error: cannot find type 'Thread' in scope
7 |
8 |
9 | final class JoinableThread: Thread {
| `- error: cannot find type 'Thread' in scope
10 |
11 | private let task : () -> Void
/host/spi-builder-workspace/Sources/ConcurrencyPlus/JoinableThread.swift:12:22: error: cannot find type 'DispatchSemaphore' in scope
10 |
11 | private let task : () -> Void
12 | private let sem: DispatchSemaphore = .init(value: 0)
| `- error: cannot find type 'DispatchSemaphore' in scope
13 |
14 | init(block: sending @escaping () -> Void) {
/host/spi-builder-workspace/Sources/ConcurrencyPlus/JoinableThread.swift:23:19: error: method does not override any method from its superclass
21 | }
22 |
23 | override func main() {
| `- error: method does not override any method from its superclass
24 | task()
25 | sem.signal()
[60/64] Compiling ConcurrencyPlus SyncedConditionalLock.swift
[61/64] Compiling ConcurrencyPlus JoinableThread.swift
/host/spi-builder-workspace/Sources/ConcurrencyPlus/JoinableThread.swift:9:29: error: cannot find type 'Thread' in scope
7 |
8 |
9 | final class JoinableThread: Thread {
| `- error: cannot find type 'Thread' in scope
10 |
11 | private let task : () -> Void
/host/spi-builder-workspace/Sources/ConcurrencyPlus/JoinableThread.swift:12:22: error: cannot find type 'DispatchSemaphore' in scope
10 |
11 | private let task : () -> Void
12 | private let sem: DispatchSemaphore = .init(value: 0)
| `- error: cannot find type 'DispatchSemaphore' in scope
13 |
14 | init(block: sending @escaping () -> Void) {
/host/spi-builder-workspace/Sources/ConcurrencyPlus/JoinableThread.swift:23:19: error: method does not override any method from its superclass
21 | }
22 |
23 | override func main() {
| `- error: method does not override any method from its superclass
24 | task()
25 | sem.signal()
[62/64] Compiling ConcurrencyPlus ThreadPool.swift
/host/spi-builder-workspace/Sources/ConcurrencyPlus/ThreadPool.swift:138:30: error: value of type 'JoinableThread' has no member 'start'
136 | }
137 | guard shouldStart else { return }
138 | threads.forEach { $0.start() }
| `- error: value of type 'JoinableThread' has no member 'start'
139 | }
140 |
/host/spi-builder-workspace/Sources/ConcurrencyPlus/ThreadPool.swift:161:9: error: cannot find 'DispatchQueue' in scope
159 | }
160 | guard doShutdown && state == .stopping else { return }
161 | DispatchQueue(label: "foundation_plus.thread_pool.shutdown").async {
| `- error: cannot find 'DispatchQueue' in scope
162 | self.works.removeAll()
163 | for thread in self.threads {
/host/spi-builder-workspace/Sources/ConcurrencyPlus/ThreadPool.swift:278:45: error: cannot find 'Thread' in scope
276 | public func assertOnThreadPool(file: StaticString = #file, line: UInt = #line) {
277 | precondition(
278 | threads.contains(where: { $0 == Thread.current }),
| `- error: cannot find 'Thread' in scope
279 | "Not running on desired thread pool: \(self)",
280 | file: file, line: line
[63/64] Compiling ConcurrencyPlus TaskExecutionContext.swift
[64/64] Compiling ConcurrencyPlus Task.swift
/host/spi-builder-workspace/Sources/ConcurrencyPlus/DispatchQueueTaskExecutor.swift:43:23: error: cannot find type 'DispatchQueue' in scope
41 |
42 | /// The underlying GCD queue used for executing tasks
43 | public let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
44 |
45 | init(queue: DispatchQueue) {
BUILD FAILURE 6.2 wasm