Build Information
Failed to build Flow, reference 1.13.0 (b452ec), with Swift 6.4 for Wasm on 21 Sep 2026 20:52:16 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886770-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.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iZettle/Flow.git
Reference: 1.13.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/iZettle/Flow
* tag 1.13.0 -> FETCH_HEAD
HEAD is now at b452ec9 Merge pull request #130 from iZettle/bump-ios-min-deployment-target
Cloned https://github.com/iZettle/Flow.git
Revision (git rev-parse @):
b452ec9f7f525d24d99d5c01ef5853ab28223d23
SUCCESS checkout https://github.com/iZettle/Flow.git at 1.13.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.4
Building package at path: $PWD
https://github.com/iZettle/Flow.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886770-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.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Building for debugging...
[Planning deferred tasks]
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/Flow/Future+Additions.swift:334:46: [1;31merror: [1;39mcannot find type 'NSInteger' in scope[0;0m
[0;36m332 |[0;0m /// However, passing a nil `delayBetweenRepeats` will repeat at once.
[0;36m333 |[0;0m @discardableResult
[0;36m334 |[0;0m func repeatAndCollect(repeatCount count: [4;39mNSInteger[0;0m, delayBetweenRepetitions delay: TimeInterval? = nil) -> Future<[Value]> {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSInteger' in scope[0;0m
[0;36m335 |[0;0m let state = StateAndCallback(state: (count: count, result: [Value]()))
[0;36m336 |[0;0m
/host/spi-builder-workspace/Flow/Scheduler.swift:127:29: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m125 |[0;0m public extension Scheduler {
[0;36m126 |[0;0m /// Create a new instance that will schedule its work on the provided `queue`
[0;36m127 |[0;0m convenience init(queue: [4;39mDispatchQueue[0;0m) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m128 |[0;0m self.init(identifyingObject: queue, async: { queue.async(execute: $0) }, sync: queue.sync)
[0;36m129 |[0;0m }
/host/spi-builder-workspace/Flow/Scheduler.swift:132:42: [1;31merror: [1;39mcannot find type 'DispatchQoS' in scope[0;0m
[0;36m130 |[0;0m
[0;36m131 |[0;0m /// Create a new instance that will schedule its work on a `DispatchQueue` created with the provided parameters: `label`, `qos`, `attributes`, `autoreleaseFrequency` and `target`.
[0;36m132 |[0;0m convenience init(label: String, qos: [4;39mDispatchQoS[0;0m = .default, attributes: DispatchQueue.Attributes = [], autoreleaseFrequency: DispatchQueue.AutoreleaseFrequency = .inherit, target: DispatchQueue? = nil) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQoS' in scope[0;0m
[0;36m133 |[0;0m self.init(queue: DispatchQueue(label: label, qos: qos, attributes: attributes, autoreleaseFrequency: autoreleaseFrequency, target: target))
[0;36m134 |[0;0m }
/host/spi-builder-workspace/Flow/Scheduler.swift:132:78: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m130 |[0;0m
[0;36m131 |[0;0m /// Create a new instance that will schedule its work on a `DispatchQueue` created with the provided parameters: `label`, `qos`, `attributes`, `autoreleaseFrequency` and `target`.
[0;36m132 |[0;0m convenience init(label: String, qos: DispatchQoS = .default, attributes: [4;39mDispatchQueue[0;0m.Attributes = [], autoreleaseFrequency: DispatchQueue.AutoreleaseFrequency = .inherit, target: DispatchQueue? = nil) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m133 |[0;0m self.init(queue: DispatchQueue(label: label, qos: qos, attributes: attributes, autoreleaseFrequency: autoreleaseFrequency, target: target))
[0;36m134 |[0;0m }
/host/spi-builder-workspace/Flow/Scheduler.swift:132:131: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m130 |[0;0m
[0;36m131 |[0;0m /// Create a new instance that will schedule its work on a `DispatchQueue` created with the provided parameters: `label`, `qos`, `attributes`, `autoreleaseFrequency` and `target`.
[0;36m132 |[0;0m convenience init(label: String, qos: DispatchQoS = .default, attributes: DispatchQueue.Attributes = [], autoreleaseFrequency: [4;39mDispatchQueue[0;0m.AutoreleaseFrequency = .inherit, target: DispatchQueue? = nil) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m133 |[0;0m self.init(queue: DispatchQueue(label: label, qos: qos, attributes: attributes, autoreleaseFrequency: autoreleaseFrequency, target: target))
[0;36m134 |[0;0m }
/host/spi-builder-workspace/Flow/Scheduler.swift:132:186: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m130 |[0;0m
[0;36m131 |[0;0m /// Create a new instance that will schedule its work on a `DispatchQueue` created with the provided parameters: `label`, `qos`, `attributes`, `autoreleaseFrequency` and `target`.
[0;36m132 |[0;0m convenience init(label: String, qos: DispatchQoS = .default, attributes: DispatchQueue.Attributes = [], autoreleaseFrequency: DispatchQueue.AutoreleaseFrequency = .inherit, target: [4;39mDispatchQueue[0;0m? = nil) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m133 |[0;0m self.init(queue: DispatchQueue(label: label, qos: qos, attributes: attributes, autoreleaseFrequency: autoreleaseFrequency, target: target))
[0;36m134 |[0;0m }
/host/spi-builder-workspace/Flow/Scheduler.swift:116:41: [1;31merror: [1;39mextra argument 'queue' in call[0;0m
[0;36m114 |[0;0m
[0;36m115 |[0;0m /// A Scheduler that will schedule work on `DispatchQueue.main``
[0;36m116 |[0;0m static let main = Scheduler(queue: .main)
[0;36m|[0;0m `- [1;31merror: [1;39mextra argument 'queue' in call[0;0m
[0;36m117 |[0;0m
[0;36m118 |[0;0m /// A Scheduler that will schedule work on a serial background queue
/host/spi-builder-workspace/Flow/Scheduler.swift:116:32: [1;31merror: [1;39mmissing arguments for parameters 'identifyingObject', 'async', 'sync' in call[0;0m
[0;36m17 |[0;0m /// Creates an instance that will use `async` for asynchrouns scheduling and `sync` for synchrouns scheduling.
[0;36m18 |[0;0m /// - Parameter identifyingObject: Used to identify if two scheduler are the same using `===`.
[0;36m19 |[0;0m public init(identifyingObject: AnyObject, async: @escaping (@escaping () -> Void) -> Void, sync: @escaping (() -> Void) -> Void) {
[0;36m|[0;0m `- [1;39mnote: [1;39m'init(identifyingObject:async:sync:)' declared here[0;0m
[0;36m20 |[0;0m self.identifyingObject = identifyingObject
[0;36m21 |[0;0m _async = async
[0;36m:[0;0m
[0;36m114 |[0;0m
[0;36m115 |[0;0m /// A Scheduler that will schedule work on `DispatchQueue.main``
[0;36m116 |[0;0m static let main = Scheduler(queue: .main)
[0;36m|[0;0m `- [1;31merror: [1;39mmissing arguments for parameters 'identifyingObject', 'async', 'sync' in call[0;0m
[0;36m117 |[0;0m
[0;36m118 |[0;0m /// A Scheduler that will schedule work on a serial background queue
/host/spi-builder-workspace/Flow/Scheduler.swift:116:41: [1;31merror: [1;39mcannot infer contextual base in reference to member 'main'[0;0m
[0;36m114 |[0;0m
[0;36m115 |[0;0m /// A Scheduler that will schedule work on `DispatchQueue.main``
[0;36m116 |[0;0m static let main = Scheduler(queue: [4;39m.main[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot infer contextual base in reference to member 'main'[0;0m
[0;36m117 |[0;0m
[0;36m118 |[0;0m /// A Scheduler that will schedule work on a serial background queue
/host/spi-builder-workspace/Flow/Scheduler.swift:119:46: [1;31merror: [1;39mextra argument 'label' in call[0;0m
[0;36m117 |[0;0m
[0;36m118 |[0;0m /// A Scheduler that will schedule work on a serial background queue
[0;36m119 |[0;0m static let background = Scheduler(label: "flow.background.serial")
[0;36m|[0;0m `- [1;31merror: [1;39mextra argument 'label' in call[0;0m
[0;36m120 |[0;0m
[0;36m121 |[0;0m /// A Scheduler that will schedule work on a concurrent background queue
/host/spi-builder-workspace/Flow/Scheduler.swift:119:38: [1;31merror: [1;39mmissing arguments for parameters 'identifyingObject', 'async', 'sync' in call[0;0m
[0;36m17 |[0;0m /// Creates an instance that will use `async` for asynchrouns scheduling and `sync` for synchrouns scheduling.
[0;36m18 |[0;0m /// - Parameter identifyingObject: Used to identify if two scheduler are the same using `===`.
[0;36m19 |[0;0m public init(identifyingObject: AnyObject, async: @escaping (@escaping () -> Void) -> Void, sync: @escaping (() -> Void) -> Void) {
[0;36m|[0;0m `- [1;39mnote: [1;39m'init(identifyingObject:async:sync:)' declared here[0;0m
[0;36m20 |[0;0m self.identifyingObject = identifyingObject
[0;36m21 |[0;0m _async = async
[0;36m:[0;0m
[0;36m117 |[0;0m
[0;36m118 |[0;0m /// A Scheduler that will schedule work on a serial background queue
[0;36m119 |[0;0m static let background = Scheduler(label: "flow.background.serial")
[0;36m|[0;0m `- [1;31merror: [1;39mmissing arguments for parameters 'identifyingObject', 'async', 'sync' in call[0;0m
[0;36m120 |[0;0m
[0;36m121 |[0;0m /// A Scheduler that will schedule work on a concurrent background queue
/host/spi-builder-workspace/Flow/Scheduler.swift:122:48: [1;31merror: [1;39mextra arguments at positions #1, #2 in call[0;0m
[0;36m17 |[0;0m /// Creates an instance that will use `async` for asynchrouns scheduling and `sync` for synchrouns scheduling.
[0;36m18 |[0;0m /// - Parameter identifyingObject: Used to identify if two scheduler are the same using `===`.
[0;36m19 |[0;0m public init(identifyingObject: AnyObject, async: @escaping (@escaping () -> Void) -> Void, sync: @escaping (() -> Void) -> Void) {
[0;36m|[0;0m `- [1;39mnote: [1;39m'init(identifyingObject:async:sync:)' declared here[0;0m
[0;36m20 |[0;0m self.identifyingObject = identifyingObject
[0;36m21 |[0;0m _async = async
[0;36m:[0;0m
[0;36m120 |[0;0m
[0;36m121 |[0;0m /// A Scheduler that will schedule work on a concurrent background queue
[0;36m122 |[0;0m static let concurrentBackground = Scheduler(label: "flow.background.concurrent", attributes: .concurrent)
[0;36m|[0;0m `- [1;31merror: [1;39mextra arguments at positions #1, #2 in call[0;0m
[0;36m123 |[0;0m }
[0;36m124 |[0;0m
/host/spi-builder-workspace/Flow/Scheduler.swift:122:48: [1;31merror: [1;39mmissing arguments for parameters 'identifyingObject', 'async', 'sync' in call[0;0m
[0;36m17 |[0;0m /// Creates an instance that will use `async` for asynchrouns scheduling and `sync` for synchrouns scheduling.
[0;36m18 |[0;0m /// - Parameter identifyingObject: Used to identify if two scheduler are the same using `===`.
[0;36m19 |[0;0m public init(identifyingObject: AnyObject, async: @escaping (@escaping () -> Void) -> Void, sync: @escaping (() -> Void) -> Void) {
[0;36m|[0;0m `- [1;39mnote: [1;39m'init(identifyingObject:async:sync:)' declared here[0;0m
[0;36m20 |[0;0m self.identifyingObject = identifyingObject
[0;36m21 |[0;0m _async = async
[0;36m:[0;0m
[0;36m120 |[0;0m
[0;36m121 |[0;0m /// A Scheduler that will schedule work on a concurrent background queue
[0;36m122 |[0;0m static let concurrentBackground = Scheduler(label: "flow.background.concurrent", attributes: .concurrent)
[0;36m|[0;0m `- [1;31merror: [1;39mmissing arguments for parameters 'identifyingObject', 'async', 'sync' in call[0;0m
[0;36m123 |[0;0m }
[0;36m124 |[0;0m
/host/spi-builder-workspace/Flow/Scheduler.swift:122:99: [1;31merror: [1;39mcannot infer contextual base in reference to member 'concurrent'[0;0m
[0;36m120 |[0;0m
[0;36m121 |[0;0m /// A Scheduler that will schedule work on a concurrent background queue
[0;36m122 |[0;0m static let concurrentBackground = Scheduler(label: "flow.background.concurrent", attributes: [4;39m.concurrent[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot infer contextual base in reference to member 'concurrent'[0;0m
[0;36m123 |[0;0m }
[0;36m124 |[0;0m
/host/spi-builder-workspace/Flow/Scheduler.swift:193:11: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m191 |[0;0m }
[0;36m192 |[0;0m
[0;36m193 |[0;0m extension [4;39mDispatchQueue[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m194 |[0;0m static let concurrentBackground = DispatchQueue(label: "flow.background.concurrent", attributes: .concurrent)
[0;36m195 |[0;0m static let serialBackground = DispatchQueue(label: "flow.background.serial")
/host/spi-builder-workspace/Flow/Scheduler.swift:220:5: [1;31merror: [1;39mcannot find 'pthread_key_create' in scope[0;0m
[0;36m218 |[0;0m Unmanaged<ThreadState>.fromOpaque(state).release()
[0;36m219 |[0;0m }
[0;36m220 |[0;0m [4;39mpthread_key_create[0;0m(&_threadStateKey, cleanup)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'pthread_key_create' in scope[0;0m
[0;36m221 |[0;0m return _threadStateKey
[0;36m222 |[0;0m }()
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:12:18: [1;31merror: [1;39mcannot find type '_KeyValueCodingAndObserving' in scope[0;0m
[0;36m10 |[0;0m
[0;36m11 |[0;0m // https://github.com/apple/swift/blob/master/stdlib/public/SDK/Foundation/NSObject.swift
[0;36m12 |[0;0m public extension [4;39m_KeyValueCodingAndObserving[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type '_KeyValueCodingAndObserving' in scope[0;0m
[0;36m13 |[0;0m /// Returns a signal observing the property at `keyPath` of `self` using key value observing (KVO).
[0;36m14 |[0;0m func signal<T>(for keyPath: KeyPath<Self, T>) -> ReadSignal<T> {
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:26:25: [1;31merror: [1;39mcannot find type '_KeyValueCodingAndObserving' in scope[0;0m
[0;36m24 |[0;0m public extension CoreSignal where Kind == Read {
[0;36m25 |[0;0m /// Creates a new instance observing the property at `keyPath` of `object` using key value observing (KVO).
[0;36m26 |[0;0m convenience init<O: [4;39m_KeyValueCodingAndObserving[0;0m>(object: O, keyPath: KeyPath<O, Value>) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type '_KeyValueCodingAndObserving' in scope[0;0m
[0;36m27 |[0;0m self.init(getValue: { object[keyPath: keyPath] }, options: .shared, onInternalEvent: { callback in
[0;36m28 |[0;0m let token = object.observe(keyPath, options: .new) { _, _ in
/host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift:38:25: [1;31merror: [1;39mcannot find type '_KeyValueCodingAndObserving' in scope[0;0m
[0;36m36 |[0;0m public extension CoreSignal where Kind == ReadWrite {
[0;36m37 |[0;0m /// Creates a new instance observing the property at `keyPath` of `object` using key value observing (KVO).
[0;36m38 |[0;0m convenience init<O: [4;39m_KeyValueCodingAndObserving[0;0m>(object: O, keyPath: WritableKeyPath<O, Value>) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type '_KeyValueCodingAndObserving' in scope[0;0m
[0;36m39 |[0;0m var object = object
[0;36m40 |[0;0m self.init(getValue: { object[keyPath: keyPath] },
/host/spi-builder-workspace/Flow/TargetActionable.swift:13:17: [1;31merror: [1;39mcannot find type 'Selector' in scope[0;0m
[0;36m11 |[0;0m /// Whether the conforming object supports a single target and action.
[0;36m12 |[0;0m public protocol TargetActionable: AnyObject {
[0;36m13 |[0;0m var action: [4;39mSelector[0;0m? { get set }
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'Selector' in scope[0;0m
[0;36m14 |[0;0m var target: AnyObject? { get set }
[0;36m15 |[0;0m }
/host/spi-builder-workspace/Flow/TargetActionable.swift:57:33: [1;31merror: [1;39mcannot find type 'Selector' in scope[0;0m
[0;36m55 |[0;0m // Helper class to setup target actions.
[0;36m56 |[0;0m final class TargetAction: NSObject {
[0;36m57 |[0;0m public static let selector: [4;39mSelector[0;0m = #selector(TargetAction.flowOnAction)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'Selector' in scope[0;0m
[0;36m58 |[0;0m fileprivate let callbacker = Callbacker<()>()
[0;36m59 |[0;0m
/host/spi-builder-workspace/Flow/TargetActionable.swift:57:44: [1;31merror: [1;39m'#selector' can only be used with the Objective-C runtime[0;0m
[0;36m55 |[0;0m // Helper class to setup target actions.
[0;36m56 |[0;0m final class TargetAction: NSObject {
[0;36m57 |[0;0m public static let selector: Selector = #selector(TargetAction.flowOnAction)
[0;36m|[0;0m `- [1;31merror: [1;39m'#selector' can only be used with the Objective-C runtime[0;0m
[0;36m58 |[0;0m fileprivate let callbacker = Callbacker<()>()
[0;36m59 |[0;0m
/host/spi-builder-workspace/Flow/TargetActionable.swift:64:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m62 |[0;0m }
[0;36m63 |[0;0m
[0;36m64 |[0;0m @objc func flowOnAction() {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m65 |[0;0m callbacker.callAll()
[0;36m66 |[0;0m }
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Flow/Bridges/CancelBag.swift /host/spi-builder-workspace/Flow/Bridges/Disposable+Cancellable.swift /host/spi-builder-workspace/Flow/Bridges/Future+Combine.swift /host/spi-builder-workspace/Flow/Bridges/Publisher+Utilities.swift /host/spi-builder-workspace/Flow/Bridges/Signal+Combine.swift /host/spi-builder-workspace/Flow/Bridges/Signal+SwiftUI.swift /host/spi-builder-workspace/Flow/Callbacker.swift /host/spi-builder-workspace/Flow/CoreSignal.swift /host/spi-builder-workspace/Flow/Delegate.swift /host/spi-builder-workspace/Flow/Disposable.swift /host/spi-builder-workspace/Flow/Either.swift /host/spi-builder-workspace/Flow/Enablable.swift /host/spi-builder-workspace/Flow/Event.swift /host/spi-builder-workspace/Flow/EventType.swift /host/spi-builder-workspace/Flow/FiniteSignal.swift /host/spi-builder-workspace/Flow/Future+Additions.swift /host/spi-builder-workspace/Flow/Future+Combiners.swift /host/spi-builder-workspace/Flow/Future+Signal.swift /host/spi-builder-workspace/Flow/Future.swift /host/spi-builder-workspace/Flow/FutureQueue.swift /host/spi-builder-workspace/Flow/HasEventListeners.swift /host/spi-builder-workspace/Flow/Locking.swift /host/spi-builder-workspace/Flow/OrderedCallbacker.swift /host/spi-builder-workspace/Flow/ReadSignal.swift /host/spi-builder-workspace/Flow/ReadWriteSignal.swift /host/spi-builder-workspace/Flow/Recursive.swift /host/spi-builder-workspace/Flow/Result.swift /host/spi-builder-workspace/Flow/Scheduler.swift /host/spi-builder-workspace/Flow/Signal+Combiners.swift /host/spi-builder-workspace/Flow/Signal+Construction.swift /host/spi-builder-workspace/Flow/Signal+Debug.swift /host/spi-builder-workspace/Flow/Signal+KeyValueObserving.swift /host/spi-builder-workspace/Flow/Signal+Listeners.swift /host/spi-builder-workspace/Flow/Signal+Scheduling.swift /host/spi-builder-workspace/Flow/Signal+Transforms.swift /host/spi-builder-workspace/Flow/Signal+Utilities.swift /host/spi-builder-workspace/Flow/Signal.swift /host/spi-builder-workspace/Flow/SignalProvider.swift /host/spi-builder-workspace/Flow/TargetActionable.swift /host/spi-builder-workspace/Flow/UIControls+Extensions.swift /host/spi-builder-workspace/Flow/UIView+EditingMenu.swift /host/spi-builder-workspace/Flow/UIView+Signal.swift /host/spi-builder-workspace/Flow/Utilities.swift -target wasm32-unknown-wasip1 -disable-objc-interop -sdk /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -sysroot /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -I /host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static -use-static-resource-dir -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/clang -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Flow.build/Debug-webassembly-wasm32/Flow-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Flow.build/Debug-webassembly-wasm32/Flow-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/Flow.build/Debug-webassembly-wasm32/Flow-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name Flow -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/Flow.build/Debug-webassembly-wasm32/Flow-t.build/Objects-normal/wasm32/Flow_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Flow.build/Debug-webassembly-wasm32/Flow-t.build/Objects-normal/wasm32/Modules/Flow.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Flow.build/Debug-webassembly-wasm32/Flow-t.build/Objects-normal/wasm32/Modules/Flow.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Flow.build/Debug-webassembly-wasm32/Flow-t.build/Objects-normal/wasm32/Flow-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Flow.build/Debug-webassembly-wasm32/Flow-t.build/Objects-normal/wasm32/Flow-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/Flow.build/Debug-webassembly-wasm32/Flow-t.build/Objects-normal/wasm32/Flow-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/Flow.build/Debug-webassembly-wasm32/Flow-t.build/Objects-normal/wasm32/Modules/Flow.swiftmodule
error: Build failed
BUILD FAILURE 6.4 wasm