Build Information
Failed to build Ifrit, reference v4.0.0 (7c889a), with Swift 6.2 for Wasm on 30 Dec 2025 15:05:41 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/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/ukushu/Ifrit.git
Reference: v4.0.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/ukushu/Ifrit
* tag v4.0.0 -> FETCH_HEAD
HEAD is now at 7c889a6 CHANGELOG.md
Cloned https://github.com/ukushu/Ifrit.git
Revision (git rev-parse @):
7c889a67bad90c5efefa56889b2d61bfbb831473
SUCCESS checkout https://github.com/ukushu/Ifrit.git at v4.0.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.2
Building package at path: $PWD
https://github.com/ukushu/Ifrit.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/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:ea378e7d7954b9ce813c0ebc8f6bc113436e2b3d5aa4fd45225da8bf07e6be73
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
warning: 'spi-builder-workspace': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse_LICENSE
/host/spi-builder-workspace/Sources/Ifrit/Classes/FuzzyFind/FuzzyFind_LICENSE.md
Building for debugging...
[0/7] Write sources
[1/7] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/27] Emitting module Ifrit
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:12:23: error: cannot find type 'DispatchQoS' in scope
10 | internal let objSortStrategy: ObjectsSortStrategy
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
| `- error: cannot find type 'DispatchQoS' in scope
13 | internal let searchQueue: DispatchQueue
14 |
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:13:31: error: cannot find type 'DispatchQueue' in scope
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
13 | internal let searchQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
14 |
15 | /// Creates a new instance of `Fuse`
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:25:197: error: cannot find type 'DispatchQoS' in scope
23 | /// `objSortStrategy:` if you search in object by property with array - you can choose your sorting strategy. By default is `.minimalScore`.
24 | /// - qos: quality-of-service, use this to set search task priority. Better never use `.user-interactive`. By default is `.userInitiated`.
25 | public init (location: Int = 0, distance: Int = 100, threshold: Double = 0.6, isCaseSensitive: Bool = false, tokenize: Bool = false, objSortStrategy: ObjectsSortStrategy = .minimalScore, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
26 | self.location = location
27 | self.distance = distance
[4/29] Compiling Ifrit Levenstein.swift
[5/29] Compiling Ifrit BitapPattern.swift
[6/29] Compiling Ifrit LevensteinBitap.swift
[7/29] Compiling Ifrit LevensteinText.swift
[8/29] Compiling Ifrit Fuse+ArrObjects.swift
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+ArrStrings.swift:54:21: error: cannot find 'DispatchGroup' in scope
52 | let itemsLock = NSLock()
53 |
54 | let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
55 |
56 | aList.splitBy(chunkSize).enumerated().forEach { (chunkIndex, chunk) in
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+ArrStrings.swift:74:13: error: cannot find 'DispatchQueue' in scope
72 | group.notify(queue: self.searchQueue) {
73 | let sorted = items.sorted { $0.diffScore < $1.diffScore }
74 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
75 | completion(sorted)
76 | }
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:13:31: error: cannot find type 'DispatchQueue' in scope
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
13 | internal let searchQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
14 |
15 | /// Creates a new instance of `Fuse`
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+FuseProps.swift:88:21: error: cannot find 'DispatchGroup' in scope
86 | let pattern = self.createPattern(from: text )
87 |
88 | let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
89 |
90 | var collectionResult = [FuzzySrchResult]()
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+FuseProps.swift:138:13: error: cannot find 'DispatchQueue' in scope
136 | group.notify(queue: self.searchQueue) {
137 | let sorted = collectionResult.sorted { $0.diffScore < $1.diffScore }
138 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
139 | completion(sorted)
140 | }
[9/29] Compiling Ifrit Fuse+ArrStrings.swift
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+ArrStrings.swift:54:21: error: cannot find 'DispatchGroup' in scope
52 | let itemsLock = NSLock()
53 |
54 | let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
55 |
56 | aList.splitBy(chunkSize).enumerated().forEach { (chunkIndex, chunk) in
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+ArrStrings.swift:74:13: error: cannot find 'DispatchQueue' in scope
72 | group.notify(queue: self.searchQueue) {
73 | let sorted = items.sorted { $0.diffScore < $1.diffScore }
74 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
75 | completion(sorted)
76 | }
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:13:31: error: cannot find type 'DispatchQueue' in scope
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
13 | internal let searchQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
14 |
15 | /// Creates a new instance of `Fuse`
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+FuseProps.swift:88:21: error: cannot find 'DispatchGroup' in scope
86 | let pattern = self.createPattern(from: text )
87 |
88 | let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
89 |
90 | var collectionResult = [FuzzySrchResult]()
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+FuseProps.swift:138:13: error: cannot find 'DispatchQueue' in scope
136 | group.notify(queue: self.searchQueue) {
137 | let sorted = collectionResult.sorted { $0.diffScore < $1.diffScore }
138 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
139 | completion(sorted)
140 | }
[10/29] Compiling Ifrit Fuse+FuseProps.swift
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+ArrStrings.swift:54:21: error: cannot find 'DispatchGroup' in scope
52 | let itemsLock = NSLock()
53 |
54 | let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
55 |
56 | aList.splitBy(chunkSize).enumerated().forEach { (chunkIndex, chunk) in
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+ArrStrings.swift:74:13: error: cannot find 'DispatchQueue' in scope
72 | group.notify(queue: self.searchQueue) {
73 | let sorted = items.sorted { $0.diffScore < $1.diffScore }
74 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
75 | completion(sorted)
76 | }
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:13:31: error: cannot find type 'DispatchQueue' in scope
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
13 | internal let searchQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
14 |
15 | /// Creates a new instance of `Fuse`
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+FuseProps.swift:88:21: error: cannot find 'DispatchGroup' in scope
86 | let pattern = self.createPattern(from: text )
87 |
88 | let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
89 |
90 | var collectionResult = [FuzzySrchResult]()
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse+/Fuse+FuseProps.swift:138:13: error: cannot find 'DispatchQueue' in scope
136 | group.notify(queue: self.searchQueue) {
137 | let sorted = collectionResult.sorted { $0.diffScore < $1.diffScore }
138 | DispatchQueue.main.async {
| `- error: cannot find 'DispatchQueue' in scope
139 | completion(sorted)
140 | }
[11/29] Compiling Ifrit Fuse+String.swift
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:12:23: error: cannot find type 'DispatchQoS' in scope
10 | internal let objSortStrategy: ObjectsSortStrategy
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
| `- error: cannot find type 'DispatchQoS' in scope
13 | internal let searchQueue: DispatchQueue
14 |
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:13:31: error: cannot find type 'DispatchQueue' in scope
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
13 | internal let searchQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
14 |
15 | /// Creates a new instance of `Fuse`
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:25:197: error: cannot find type 'DispatchQoS' in scope
23 | /// `objSortStrategy:` if you search in object by property with array - you can choose your sorting strategy. By default is `.minimalScore`.
24 | /// - qos: quality-of-service, use this to set search task priority. Better never use `.user-interactive`. By default is `.userInitiated`.
25 | public init (location: Int = 0, distance: Int = 100, threshold: Double = 0.6, isCaseSensitive: Bool = false, tokenize: Bool = false, objSortStrategy: ObjectsSortStrategy = .minimalScore, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
26 | self.location = location
27 | self.distance = distance
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:33:28: error: cannot find 'DispatchQueue' in scope
31 | self.objSortStrategy = objSortStrategy
32 | self.qos = qos
33 | self.searchQueue = DispatchQueue(label: "ifrit.search.queue", qos: qos, attributes: .concurrent)
| `- error: cannot find 'DispatchQueue' in scope
34 | }
35 |
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:33:94: error: cannot infer contextual base in reference to member 'concurrent'
31 | self.objSortStrategy = objSortStrategy
32 | self.qos = qos
33 | self.searchQueue = DispatchQueue(label: "ifrit.search.queue", qos: qos, attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
34 | }
35 |
[12/29] Compiling Ifrit Fuse.swift
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:12:23: error: cannot find type 'DispatchQoS' in scope
10 | internal let objSortStrategy: ObjectsSortStrategy
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
| `- error: cannot find type 'DispatchQoS' in scope
13 | internal let searchQueue: DispatchQueue
14 |
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:13:31: error: cannot find type 'DispatchQueue' in scope
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
13 | internal let searchQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
14 |
15 | /// Creates a new instance of `Fuse`
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:25:197: error: cannot find type 'DispatchQoS' in scope
23 | /// `objSortStrategy:` if you search in object by property with array - you can choose your sorting strategy. By default is `.minimalScore`.
24 | /// - qos: quality-of-service, use this to set search task priority. Better never use `.user-interactive`. By default is `.userInitiated`.
25 | public init (location: Int = 0, distance: Int = 100, threshold: Double = 0.6, isCaseSensitive: Bool = false, tokenize: Bool = false, objSortStrategy: ObjectsSortStrategy = .minimalScore, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
26 | self.location = location
27 | self.distance = distance
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:33:28: error: cannot find 'DispatchQueue' in scope
31 | self.objSortStrategy = objSortStrategy
32 | self.qos = qos
33 | self.searchQueue = DispatchQueue(label: "ifrit.search.queue", qos: qos, attributes: .concurrent)
| `- error: cannot find 'DispatchQueue' in scope
34 | }
35 |
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:33:94: error: cannot infer contextual base in reference to member 'concurrent'
31 | self.objSortStrategy = objSortStrategy
32 | self.qos = qos
33 | self.searchQueue = DispatchQueue(label: "ifrit.search.queue", qos: qos, attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
34 | }
35 |
[13/29] Compiling Ifrit FuseProp.swift
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:12:23: error: cannot find type 'DispatchQoS' in scope
10 | internal let objSortStrategy: ObjectsSortStrategy
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
| `- error: cannot find type 'DispatchQoS' in scope
13 | internal let searchQueue: DispatchQueue
14 |
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:13:31: error: cannot find type 'DispatchQueue' in scope
11 | internal let tokenize: Bool
12 | internal let qos: DispatchQoS
13 | internal let searchQueue: DispatchQueue
| `- error: cannot find type 'DispatchQueue' in scope
14 |
15 | /// Creates a new instance of `Fuse`
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:25:197: error: cannot find type 'DispatchQoS' in scope
23 | /// `objSortStrategy:` if you search in object by property with array - you can choose your sorting strategy. By default is `.minimalScore`.
24 | /// - qos: quality-of-service, use this to set search task priority. Better never use `.user-interactive`. By default is `.userInitiated`.
25 | public init (location: Int = 0, distance: Int = 100, threshold: Double = 0.6, isCaseSensitive: Bool = false, tokenize: Bool = false, objSortStrategy: ObjectsSortStrategy = .minimalScore, qos: DispatchQoS = .userInitiated) {
| `- error: cannot find type 'DispatchQoS' in scope
26 | self.location = location
27 | self.distance = distance
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:33:28: error: cannot find 'DispatchQueue' in scope
31 | self.objSortStrategy = objSortStrategy
32 | self.qos = qos
33 | self.searchQueue = DispatchQueue(label: "ifrit.search.queue", qos: qos, attributes: .concurrent)
| `- error: cannot find 'DispatchQueue' in scope
34 | }
35 |
/host/spi-builder-workspace/Sources/Ifrit/Classes/Fuse/Fuse.swift:33:94: error: cannot infer contextual base in reference to member 'concurrent'
31 | self.objSortStrategy = objSortStrategy
32 | self.qos = qos
33 | self.searchQueue = DispatchQueue(label: "ifrit.search.queue", qos: qos, attributes: .concurrent)
| `- error: cannot infer contextual base in reference to member 'concurrent'
34 | }
35 |
[14/29] Compiling Ifrit FuzzyResult.swift
[15/29] Compiling Ifrit FuzzyResultSegment.swift
[16/29] Compiling Ifrit Score.swift
[17/29] Compiling Ifrit Alignment.swift
[18/29] Compiling Ifrit BitapFilter.swift
[19/29] Compiling Ifrit Fuzzy.swift
[20/29] Compiling Ifrit FuseUtilities.swift
[21/29] Compiling Ifrit Searchable.swift
[22/29] Compiling Ifrit FuzzyFind.swift
[23/29] Compiling Ifrit Array+.swift
[24/29] Compiling Ifrit String+Fuse.swift
BUILD FAILURE 6.2 wasm