Build Information
Failed to build Emit, reference 2.2.0 (d08120), with Swift 6.1 for Wasm on 27 Apr 2026 23:00:29 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/hootsuite/emit.git
Reference: 2.2.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/hootsuite/emit
* tag 2.2.0 -> FETCH_HEAD
HEAD is now at d08120e Update Signal.swift (#17)
Cloned https://github.com/hootsuite/emit.git
Revision (git rev-parse @):
d08120ebb672f394b6d1e5bccc680925ef11a776
SUCCESS checkout https://github.com/hootsuite/emit.git at 2.2.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.1
Building package at path: $PWD
https://github.com/hootsuite/emit.git
https://github.com/hootsuite/emit.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -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
wasm-6.1-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:276d66a16377d3ee059b2e3429cbc1154d9f01e42871e5d702fd5d8b9044d93d
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/6] Compiling Emit Signal.swift
/host/spi-builder-workspace/Sources/Signal.swift:65:55: error: cannot find type 'DispatchQueue' in scope
63 | /// - queue: `DispatchQueue` to use when invoking the action, defaults to the main queue.
64 | /// - action: closure to invoke when the signal is emitted.
65 | public func subscribe(owner: AnyObject, in queue: DispatchQueue = .main, action: @escaping (Event) -> Void) {
| `- error: cannot find type 'DispatchQueue' in scope
66 | lock.performWrite {
67 | let subscriber = OwnedSubscription(owner: owner, queue: queue, action: action)
/host/spi-builder-workspace/Sources/Signal.swift:126:16: error: cannot find type 'DispatchQueue' in scope
124 |
125 | /// `DispatchQueue` in which to dispatch events.
126 | var queue: DispatchQueue { get }
| `- error: cannot find type 'DispatchQueue' in scope
127 |
128 | /// Closure to invoke when the signal is emitted.
/host/spi-builder-workspace/Sources/Signal.swift:146:16: error: cannot find type 'DispatchQueue' in scope
144 |
145 | /// `DispatchQueue` in which to dispatch events.
146 | let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
147 |
148 | /// Closure to invoke when the signal is emitted.
/host/spi-builder-workspace/Sources/Signal.swift:152:35: error: cannot find type 'DispatchQueue' in scope
150 |
151 | /// Initializes an `OwnedSubscription` with an owner an optional dispatch queue and a closure.
152 | init(owner: AnyObject, queue: DispatchQueue = .main, action: @escaping (Event) -> Void) {
| `- error: cannot find type 'DispatchQueue' in scope
153 | self.owner = owner
154 | self.queue = queue
/host/spi-builder-workspace/Sources/Signal.swift:67:30: error: generic parameter 'T' could not be inferred
65 | public func subscribe(owner: AnyObject, in queue: DispatchQueue = .main, action: @escaping (Event) -> Void) {
66 | lock.performWrite {
67 | let subscriber = OwnedSubscription(owner: owner, queue: queue, action: action)
| |- error: generic parameter 'T' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
68 | self.subscriptions.append(subscriber)
69 | }
:
137 | /// The subscription only holds a weak reference to its owner. When the owner is released the subscription becomes
138 | /// stale. Stale subscriptions don't get invoked and they are cleaned up periodically.
139 | private final class OwnedSubscription<T>: Subscription {
| `- note: 'T' declared as parameter to type 'OwnedSubscription'
140 | typealias Event = T
141 |
/host/spi-builder-workspace/Sources/Signal.swift:93:42: error: cannot infer contextual base in reference to member 'main'
91 | public func filter(where eval: @escaping (Event) -> Bool) -> Signal<Event> {
92 | let newSignal = Signal<Event>()
93 | subscribe(owner: newSignal, in: .main) { event in
| `- error: cannot infer contextual base in reference to member 'main'
94 | if eval(event) {
95 | newSignal.emit(event)
/host/spi-builder-workspace/Sources/Signal.swift:104:42: error: cannot infer contextual base in reference to member 'main'
102 | public func map<T>(_ f: @escaping (Event) -> T) -> Signal<T> {
103 | let newSignal = Signal<T>()
104 | subscribe(owner: newSignal, in: .main) { event in
| `- error: cannot infer contextual base in reference to member 'main'
105 | newSignal.emit(f(event))
106 | }
/host/spi-builder-workspace/Sources/Signal.swift:113:42: error: cannot infer contextual base in reference to member 'main'
111 | public func flatMap<T>(_ f: @escaping (Event) -> T?) -> Signal<T> {
112 | let newSignal = Signal<T>()
113 | subscribe(owner: newSignal, in: .main) { event in
| `- error: cannot infer contextual base in reference to member 'main'
114 | if let e = f(event) {
115 | newSignal.emit(e)
[4/6] Compiling Emit RWLock.swift
/host/spi-builder-workspace/Sources/RWLock.swift:23:12: error: cannot find 'pthread_rwlock_init' in scope
21 | /// Initializes a `RWLock`
22 | public init() {
23 | if pthread_rwlock_init(&lock, nil) != 0 {
| `- error: cannot find 'pthread_rwlock_init' in scope
24 | fatalError("Failed to create rwlock")
25 | }
/host/spi-builder-workspace/Sources/RWLock.swift:23:39: error: 'nil' requires a contextual type
21 | /// Initializes a `RWLock`
22 | public init() {
23 | if pthread_rwlock_init(&lock, nil) != 0 {
| `- error: 'nil' requires a contextual type
24 | fatalError("Failed to create rwlock")
25 | }
/host/spi-builder-workspace/Sources/RWLock.swift:29:9: error: cannot find 'pthread_rwlock_destroy' in scope
27 |
28 | deinit {
29 | pthread_rwlock_destroy(&lock)
| `- error: cannot find 'pthread_rwlock_destroy' in scope
30 | }
31 |
/host/spi-builder-workspace/Sources/RWLock.swift:34:9: error: cannot find 'pthread_rwlock_rdlock' in scope
32 | /// Lock for reading.
33 | public func lockForReading() {
34 | pthread_rwlock_rdlock(&lock)
| `- error: cannot find 'pthread_rwlock_rdlock' in scope
35 | }
36 |
/host/spi-builder-workspace/Sources/RWLock.swift:39:9: error: cannot find 'pthread_rwlock_wrlock' in scope
37 | /// Lock for writing.
38 | public func lockForWriting() {
39 | pthread_rwlock_wrlock(&lock)
| `- error: cannot find 'pthread_rwlock_wrlock' in scope
40 | }
41 |
/host/spi-builder-workspace/Sources/RWLock.swift:44:9: error: cannot find 'pthread_rwlock_unlock' in scope
42 | /// Unlock.
43 | public func unlock() {
44 | pthread_rwlock_unlock(&lock)
| `- error: cannot find 'pthread_rwlock_unlock' in scope
45 | }
46 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/6] Compiling Emit ObservableVariable.swift
[6/6] Emitting module Emit
/host/spi-builder-workspace/Sources/Signal.swift:65:55: error: cannot find type 'DispatchQueue' in scope
63 | /// - queue: `DispatchQueue` to use when invoking the action, defaults to the main queue.
64 | /// - action: closure to invoke when the signal is emitted.
65 | public func subscribe(owner: AnyObject, in queue: DispatchQueue = .main, action: @escaping (Event) -> Void) {
| `- error: cannot find type 'DispatchQueue' in scope
66 | lock.performWrite {
67 | let subscriber = OwnedSubscription(owner: owner, queue: queue, action: action)
/host/spi-builder-workspace/Sources/Signal.swift:126:16: error: cannot find type 'DispatchQueue' in scope
124 |
125 | /// `DispatchQueue` in which to dispatch events.
126 | var queue: DispatchQueue { get }
| `- error: cannot find type 'DispatchQueue' in scope
127 |
128 | /// Closure to invoke when the signal is emitted.
/host/spi-builder-workspace/Sources/Signal.swift:146:16: error: cannot find type 'DispatchQueue' in scope
144 |
145 | /// `DispatchQueue` in which to dispatch events.
146 | let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
147 |
148 | /// Closure to invoke when the signal is emitted.
/host/spi-builder-workspace/Sources/Signal.swift:152:35: error: cannot find type 'DispatchQueue' in scope
150 |
151 | /// Initializes an `OwnedSubscription` with an owner an optional dispatch queue and a closure.
152 | init(owner: AnyObject, queue: DispatchQueue = .main, action: @escaping (Event) -> Void) {
| `- error: cannot find type 'DispatchQueue' in scope
153 | self.owner = owner
154 | self.queue = queue
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:276d66a16377d3ee059b2e3429cbc1154d9f01e42871e5d702fd5d8b9044d93d
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/5] Emitting module Emit
/host/spi-builder-workspace/Sources/Signal.swift:65:55: error: cannot find type 'DispatchQueue' in scope
63 | /// - queue: `DispatchQueue` to use when invoking the action, defaults to the main queue.
64 | /// - action: closure to invoke when the signal is emitted.
65 | public func subscribe(owner: AnyObject, in queue: DispatchQueue = .main, action: @escaping (Event) -> Void) {
| `- error: cannot find type 'DispatchQueue' in scope
66 | lock.performWrite {
67 | let subscriber = OwnedSubscription(owner: owner, queue: queue, action: action)
/host/spi-builder-workspace/Sources/Signal.swift:126:16: error: cannot find type 'DispatchQueue' in scope
124 |
125 | /// `DispatchQueue` in which to dispatch events.
126 | var queue: DispatchQueue { get }
| `- error: cannot find type 'DispatchQueue' in scope
127 |
128 | /// Closure to invoke when the signal is emitted.
/host/spi-builder-workspace/Sources/Signal.swift:146:16: error: cannot find type 'DispatchQueue' in scope
144 |
145 | /// `DispatchQueue` in which to dispatch events.
146 | let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
147 |
148 | /// Closure to invoke when the signal is emitted.
/host/spi-builder-workspace/Sources/Signal.swift:152:35: error: cannot find type 'DispatchQueue' in scope
150 |
151 | /// Initializes an `OwnedSubscription` with an owner an optional dispatch queue and a closure.
152 | init(owner: AnyObject, queue: DispatchQueue = .main, action: @escaping (Event) -> Void) {
| `- error: cannot find type 'DispatchQueue' in scope
153 | self.owner = owner
154 | self.queue = queue
[3/5] Compiling Emit RWLock.swift
/host/spi-builder-workspace/Sources/RWLock.swift:23:12: error: cannot find 'pthread_rwlock_init' in scope
21 | /// Initializes a `RWLock`
22 | public init() {
23 | if pthread_rwlock_init(&lock, nil) != 0 {
| `- error: cannot find 'pthread_rwlock_init' in scope
24 | fatalError("Failed to create rwlock")
25 | }
/host/spi-builder-workspace/Sources/RWLock.swift:23:39: error: 'nil' requires a contextual type
21 | /// Initializes a `RWLock`
22 | public init() {
23 | if pthread_rwlock_init(&lock, nil) != 0 {
| `- error: 'nil' requires a contextual type
24 | fatalError("Failed to create rwlock")
25 | }
/host/spi-builder-workspace/Sources/RWLock.swift:29:9: error: cannot find 'pthread_rwlock_destroy' in scope
27 |
28 | deinit {
29 | pthread_rwlock_destroy(&lock)
| `- error: cannot find 'pthread_rwlock_destroy' in scope
30 | }
31 |
/host/spi-builder-workspace/Sources/RWLock.swift:34:9: error: cannot find 'pthread_rwlock_rdlock' in scope
32 | /// Lock for reading.
33 | public func lockForReading() {
34 | pthread_rwlock_rdlock(&lock)
| `- error: cannot find 'pthread_rwlock_rdlock' in scope
35 | }
36 |
/host/spi-builder-workspace/Sources/RWLock.swift:39:9: error: cannot find 'pthread_rwlock_wrlock' in scope
37 | /// Lock for writing.
38 | public func lockForWriting() {
39 | pthread_rwlock_wrlock(&lock)
| `- error: cannot find 'pthread_rwlock_wrlock' in scope
40 | }
41 |
/host/spi-builder-workspace/Sources/RWLock.swift:44:9: error: cannot find 'pthread_rwlock_unlock' in scope
42 | /// Unlock.
43 | public func unlock() {
44 | pthread_rwlock_unlock(&lock)
| `- error: cannot find 'pthread_rwlock_unlock' in scope
45 | }
46 |
[4/5] Compiling Emit Signal.swift
/host/spi-builder-workspace/Sources/Signal.swift:65:55: error: cannot find type 'DispatchQueue' in scope
63 | /// - queue: `DispatchQueue` to use when invoking the action, defaults to the main queue.
64 | /// - action: closure to invoke when the signal is emitted.
65 | public func subscribe(owner: AnyObject, in queue: DispatchQueue = .main, action: @escaping (Event) -> Void) {
| `- error: cannot find type 'DispatchQueue' in scope
66 | lock.performWrite {
67 | let subscriber = OwnedSubscription(owner: owner, queue: queue, action: action)
/host/spi-builder-workspace/Sources/Signal.swift:126:16: error: cannot find type 'DispatchQueue' in scope
124 |
125 | /// `DispatchQueue` in which to dispatch events.
126 | var queue: DispatchQueue { get }
| `- error: cannot find type 'DispatchQueue' in scope
127 |
128 | /// Closure to invoke when the signal is emitted.
/host/spi-builder-workspace/Sources/Signal.swift:146:16: error: cannot find type 'DispatchQueue' in scope
144 |
145 | /// `DispatchQueue` in which to dispatch events.
146 | let queue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
147 |
148 | /// Closure to invoke when the signal is emitted.
/host/spi-builder-workspace/Sources/Signal.swift:152:35: error: cannot find type 'DispatchQueue' in scope
150 |
151 | /// Initializes an `OwnedSubscription` with an owner an optional dispatch queue and a closure.
152 | init(owner: AnyObject, queue: DispatchQueue = .main, action: @escaping (Event) -> Void) {
| `- error: cannot find type 'DispatchQueue' in scope
153 | self.owner = owner
154 | self.queue = queue
/host/spi-builder-workspace/Sources/Signal.swift:67:30: error: generic parameter 'T' could not be inferred
65 | public func subscribe(owner: AnyObject, in queue: DispatchQueue = .main, action: @escaping (Event) -> Void) {
66 | lock.performWrite {
67 | let subscriber = OwnedSubscription(owner: owner, queue: queue, action: action)
| |- error: generic parameter 'T' could not be inferred
| `- note: explicitly specify the generic arguments to fix this issue
68 | self.subscriptions.append(subscriber)
69 | }
:
137 | /// The subscription only holds a weak reference to its owner. When the owner is released the subscription becomes
138 | /// stale. Stale subscriptions don't get invoked and they are cleaned up periodically.
139 | private final class OwnedSubscription<T>: Subscription {
| `- note: 'T' declared as parameter to type 'OwnedSubscription'
140 | typealias Event = T
141 |
/host/spi-builder-workspace/Sources/Signal.swift:93:42: error: cannot infer contextual base in reference to member 'main'
91 | public func filter(where eval: @escaping (Event) -> Bool) -> Signal<Event> {
92 | let newSignal = Signal<Event>()
93 | subscribe(owner: newSignal, in: .main) { event in
| `- error: cannot infer contextual base in reference to member 'main'
94 | if eval(event) {
95 | newSignal.emit(event)
/host/spi-builder-workspace/Sources/Signal.swift:104:42: error: cannot infer contextual base in reference to member 'main'
102 | public func map<T>(_ f: @escaping (Event) -> T) -> Signal<T> {
103 | let newSignal = Signal<T>()
104 | subscribe(owner: newSignal, in: .main) { event in
| `- error: cannot infer contextual base in reference to member 'main'
105 | newSignal.emit(f(event))
106 | }
/host/spi-builder-workspace/Sources/Signal.swift:113:42: error: cannot infer contextual base in reference to member 'main'
111 | public func flatMap<T>(_ f: @escaping (Event) -> T?) -> Signal<T> {
112 | let newSignal = Signal<T>()
113 | subscribe(owner: newSignal, in: .main) { event in
| `- error: cannot infer contextual base in reference to member 'main'
114 | if let e = f(event) {
115 | newSignal.emit(e)
[5/5] Compiling Emit ObservableVariable.swift
BUILD FAILURE 6.1 wasm