Build Information
Failed to build Erik, reference master (92c708), with Swift 6.4 for Wasm on 18 Sep 2026 05:47:14 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-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/phimage/Erik.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/phimage/Erik
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 92c7081 fix typo KanaParser to KannaParser
Cloned https://github.com/phimage/Erik.git
Revision (git rev-parse @):
92c7081ce6f5b4416cc238791e14960bc44fdbf7
SUCCESS checkout https://github.com/phimage/Erik.git at master
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.4
Building package at path: $PWD
https://github.com/phimage/Erik.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-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
Fetching https://github.com/nvzqz/FileKit.git
Fetching https://github.com/tid-kijyun/Kanna.git
Fetching https://github.com/Thomvis/BrightFutures.git
[1/2518] Fetching kanna
[1059/6586] Fetching kanna, brightfutures
[3242/9713] Fetching kanna, brightfutures, filekit
Fetched https://github.com/nvzqz/FileKit.git (0.65s)
[6261/6586] Fetching kanna, brightfutures
Fetched https://github.com/tid-kijyun/Kanna.git (0.86s)
Fetched https://github.com/Thomvis/BrightFutures.git (0.87s)
Computing version for https://github.com/nvzqz/FileKit.git
Computed https://github.com/nvzqz/FileKit.git at 6.1.0 (1.06s)
Computing version for https://github.com/Thomvis/BrightFutures.git
Computed https://github.com/Thomvis/BrightFutures.git at 8.2.0 (0.17s)
Computing version for https://github.com/tid-kijyun/Kanna.git
Computed https://github.com/tid-kijyun/Kanna.git at 5.3.0 (0.17s)
Creating working copy for https://github.com/Thomvis/BrightFutures.git
Working copy of https://github.com/Thomvis/BrightFutures.git resolved at 8.2.0
Creating working copy for https://github.com/nvzqz/FileKit.git
Working copy of https://github.com/nvzqz/FileKit.git resolved at 6.1.0
Creating working copy for https://github.com/tid-kijyun/Kanna.git
Working copy of https://github.com/tid-kijyun/Kanna.git resolved at 5.3.0
Building for debugging...
[Constructing description]
[Planning deferred tasks]
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/AsyncType.swift:18:32: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m16 |[0;0m init()
[0;36m17 |[0;0m init(result: Value)
[0;36m18 |[0;0m init(result: Value, delay: [4;39mDispatchTimeInterval[0;0m)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m19 |[0;0m init<A: AsyncType>(other: A) where A.Value == Value
[0;36m20 |[0;0m init(resolver: (_ result: @escaping (Value) -> Void) -> Void)
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Async.swift:41:29: [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m39 |[0;0m /// to prevent that a callback is added to a completed future and never
[0;36m40 |[0;0m /// executed or perhaps excecuted twice.
[0;36m41 |[0;0m fileprivate let queue = [4;39mDispatchQueue[0;0m(label: "Internal Async Queue")
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m42 |[0;0m
[0;36m43 |[0;0m /// Upon completion of the future, all callbacks are asynchronously scheduled to their
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Async.swift:47:50: [1;31merror: [1;39mcannot find 'DispatchSemaphore' in scope[0;0m
[0;36m45 |[0;0m /// DefaultThreadingModel). Inside the context, this semaphore will be used
[0;36m46 |[0;0m /// to make sure that all callbacks are executed serially.
[0;36m47 |[0;0m fileprivate let callbackExecutionSemaphore = [4;39mDispatchSemaphore[0;0m(value: 1);
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchSemaphore' in scope[0;0m
[0;36m48 |[0;0m fileprivate var callbacks = [CompletionCallback]()
[0;36m49 |[0;0m
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Async.swift:61:48: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m59 |[0;0m
[0;36m60 |[0;0m /// Creates an `Async` that will be completed with the given result after the specified delay
[0;36m61 |[0;0m public required init(result: Value, delay: [4;39mDispatchTimeInterval[0;0m) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m62 |[0;0m DispatchQueue.global().asyncAfter(deadline: DispatchTime.now() + delay) {
[0;36m63 |[0;0m self.complete(result)
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/AsyncType.swift:39:28: [1;31merror: [1;39mcannot find type 'DispatchTime' in scope[0;0m
[0;36m37 |[0;0m /// Blocks the current thread until the future is completed, but no longer than the given timeout
[0;36m38 |[0;0m /// If the future did not complete before the timeout, `nil` is returned, otherwise the result of the future is returned
[0;36m39 |[0;0m func forced(_ timeout: [4;39mDispatchTime[0;0m) -> Value? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTime' in scope[0;0m
[0;36m40 |[0;0m if let result = result {
[0;36m41 |[0;0m return result
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/AsyncType.swift:59:28: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m57 |[0;0m /// Will pass the main queue if we are currently on the main thread, or the
[0;36m58 |[0;0m /// global queue otherwise
[0;36m59 |[0;0m func delay(_ interval: [4;39mDispatchTimeInterval[0;0m) -> Self {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m60 |[0;0m if Thread.isMainThread {
[0;36m61 |[0;0m return delay(DispatchQueue.main, interval: interval)
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/AsyncType.swift:72:25: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m70 |[0;0m /// If you want a delay of 0 to mean 'delay until next runloop', you will want to pass the main
[0;36m71 |[0;0m /// queue.
[0;36m72 |[0;0m func delay(_ queue: [4;39mDispatchQueue[0;0m, interval: DispatchTimeInterval) -> Self {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m73 |[0;0m return Self { complete in
[0;36m74 |[0;0m onComplete(immediateExecutionContext) { result in
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/AsyncType.swift:72:50: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m70 |[0;0m /// If you want a delay of 0 to mean 'delay until next runloop', you will want to pass the main
[0;36m71 |[0;0m /// queue.
[0;36m72 |[0;0m func delay(_ queue: DispatchQueue, interval: [4;39mDispatchTimeInterval[0;0m) -> Self {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m73 |[0;0m return Self { complete in
[0;36m74 |[0;0m onComplete(immediateExecutionContext) { result in
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Dispatch+BrightFutures.swift:11:18: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m9 |[0;0m import Foundation
[0;36m10 |[0;0m
[0;36m11 |[0;0m public extension [4;39mDispatchQueue[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m12 |[0;0m var context: ExecutionContext {
[0;36m13 |[0;0m return { task in
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Dispatch+BrightFutures.swift:44:18: [1;31merror: [1;39mcannot find type 'DispatchSemaphore' in scope[0;0m
[0;36m42 |[0;0m }
[0;36m43 |[0;0m
[0;36m44 |[0;0m public extension [4;39mDispatchSemaphore[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchSemaphore' in scope[0;0m
[0;36m45 |[0;0m var context: ExecutionContext {
[0;36m46 |[0;0m return { task in
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/ExecutionContext.swift:39:9: [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m37 |[0;0m task()
[0;36m38 |[0;0m } else {
[0;36m39 |[0;0m [4;39mDispatchQueue[0;0m.main.async(execute: task)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m40 |[0;0m }
[0;36m41 |[0;0m }
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/ExecutionContext.swift:60:9: [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m58 |[0;0m
[0;36m59 |[0;0m if previousDepth > Static.maxTaskDepth {
[0;36m60 |[0;0m [4;39mDispatchQueue[0;0m.global().async(execute: task)
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m61 |[0;0m } else {
[0;36m62 |[0;0m localThreadDictionary[Static.taskDepthKey] = previousDepth + 1
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Future.swift:48:34: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m46 |[0;0m }
[0;36m47 |[0;0m
[0;36m48 |[0;0m public init(value: T, delay: [4;39mDispatchTimeInterval[0;0m) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m49 |[0;0m super.init(result: .success(value), delay: delay)
[0;36m50 |[0;0m }
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Future.swift:52:34: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m50 |[0;0m }
[0;36m51 |[0;0m
[0;36m52 |[0;0m public init(error: E, delay: [4;39mDispatchTimeInterval[0;0m) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m53 |[0;0m super.init(result: .failure(error), delay: delay)
[0;36m54 |[0;0m }
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Future.swift:60:48: [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m58 |[0;0m }
[0;36m59 |[0;0m
[0;36m60 |[0;0m public required init(result: Value, delay: [4;39mDispatchTimeInterval[0;0m) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchTimeInterval' in scope[0;0m
[0;36m61 |[0;0m super.init(result: result, delay: delay)
[0;36m62 |[0;0m }
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/NSOperationQueue+BrightFutures.swift:11:18: [1;31merror: [1;39mcannot find type 'OperationQueue' in scope[0;0m
[0;36m9 |[0;0m import Foundation
[0;36m10 |[0;0m
[0;36m11 |[0;0m public extension [4;39mOperationQueue[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'OperationQueue' in scope[0;0m
[0;36m12 |[0;0m /// An execution context that operates on the receiver.
[0;36m13 |[0;0m /// Tasks added to the execution context are executed as operations on the queue.
/host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/SequenceType+BrightFutures.swift:28:86: [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m26 |[0;0m /// Turns a sequence of T's into an array of `Future<U>`'s by calling the given closure for each element in the sequence.
[0;36m27 |[0;0m /// If no context is provided, the given closure is executed on `Queue.global`
[0;36m28 |[0;0m public func traverse<U, E, A: AsyncType>(_ context: @escaping ExecutionContext = [4;39mDispatchQueue[0;0m.global().context, f: (Iterator.Element) -> A) -> Future<[U], E> where A.Value: ResultProtocol, A.Value.Value == U, A.Value.Error == E {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'DispatchQueue' in scope[0;0m
[0;36m29 |[0;0m return map(f).fold(context, zero: [U]()) { (list: [U], elem: U) -> [U] in
[0;36m30 |[0;0m return list + [elem]
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Async.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/AsyncType+Debug.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/AsyncType+ResultType.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/AsyncType.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Dispatch+BrightFutures.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Errors.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/ExecutionContext.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Future.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/InvalidationToken.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/MutableAsyncType+ResultType.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/MutableAsyncType.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/NSOperationQueue+BrightFutures.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Promise.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/Result+BrightFutures.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/ResultProtocol.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/SequenceType+BrightFutures.swift /host/spi-builder-workspace/.build/checkouts/BrightFutures/Sources/BrightFutures/SwiftConcurrency+BrightFutures.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 -suppress-warnings -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/BrightFutures.build/Debug-webassembly-wasm32/BrightFutures-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/BrightFutures.build/Debug-webassembly-wasm32/BrightFutures-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/BrightFutures.build/Debug-webassembly-wasm32/BrightFutures-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name BrightFutures -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/BrightFutures.build/Debug-webassembly-wasm32/BrightFutures-t.build/Objects-normal/wasm32/BrightFutures_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/BrightFutures.build/Debug-webassembly-wasm32/BrightFutures-t.build/Objects-normal/wasm32/Modules/BrightFutures.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/BrightFutures.build/Debug-webassembly-wasm32/BrightFutures-t.build/Objects-normal/wasm32/Modules/BrightFutures.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/BrightFutures.build/Debug-webassembly-wasm32/BrightFutures-t.build/Objects-normal/wasm32/BrightFutures-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/BrightFutures.build/Debug-webassembly-wasm32/BrightFutures-t.build/Objects-normal/wasm32/BrightFutures-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/BrightFutures.build/Debug-webassembly-wasm32/BrightFutures-t.build/Objects-normal/wasm32/BrightFutures-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/BrightFutures.build/Debug-webassembly-wasm32/BrightFutures-t.build/Objects-normal/wasm32/Modules/BrightFutures.swiftmodule
[44 / 74] Kanna
error: Build failed
BUILD FAILURE 6.4 wasm