Build Information
Failed to build SpeziFHIR, reference 0.10.0 (b304ec), with Swift 6.2 for Wasm on 11 Jan 2026 16:29:10 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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/StanfordSpezi/SpeziFHIR.git
Reference: 0.10.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/StanfordSpezi/SpeziFHIR
* tag 0.10.0 -> FETCH_HEAD
HEAD is now at b304eca `FHIRStore`: handle duplicate entries (#46)
Cloned https://github.com/StanfordSpezi/SpeziFHIR.git
Revision (git rev-parse @):
b304ecac0dea8779854023d887f48832744990f7
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/StanfordSpezi/SpeziFHIR.git at 0.10.0
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.2
Building package at path: $PWD
https://github.com/StanfordSpezi/SpeziFHIR.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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:e45aebddbd3fb4404abe9276e0d450e6fc2ef4836b534e79623bcca11b80d266
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/embedded-swift-sdk.json
Fetching https://github.com/StanfordSpezi/Spezi.git
Fetching https://github.com/StanfordSpezi/SpeziHealthKit.git
Fetching https://github.com/apple/FHIRModels.git
Fetching https://github.com/StanfordBDHG/HealthKitOnFHIR.git
[1/5164] Fetching spezihealthkit
[724/8171] Fetching spezihealthkit, healthkitonfhir
[1199/18331] Fetching spezihealthkit, healthkitonfhir, spezi
[8316/24950] Fetching spezihealthkit, healthkitonfhir, spezi, fhirmodels
Fetched https://github.com/StanfordBDHG/HealthKitOnFHIR.git from cache (0.85s)
[15356/21943] Fetching spezihealthkit, spezi, fhirmodels
Fetched https://github.com/StanfordSpezi/Spezi.git from cache (1.26s)
[10857/11783] Fetching spezihealthkit, fhirmodels
Fetched https://github.com/apple/FHIRModels.git from cache (1.74s)
Fetched https://github.com/StanfordSpezi/SpeziHealthKit.git from cache (1.75s)
Computing version for https://github.com/apple/FHIRModels.git
Computed https://github.com/apple/FHIRModels.git at 0.8.0 (5.52s)
Computing version for https://github.com/StanfordBDHG/HealthKitOnFHIR.git
Computed https://github.com/StanfordBDHG/HealthKitOnFHIR.git at 1.2.1 (0.87s)
Computing version for https://github.com/StanfordSpezi/Spezi.git
Computed https://github.com/StanfordSpezi/Spezi.git at 1.10.0 (1.07s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/StanfordBDHG/XCTRuntimeAssertions.git
Fetching https://github.com/StanfordSpezi/SpeziFoundation.git
[1/2637] Fetching spezifoundation
[2428/3372] Fetching spezifoundation, xctruntimeassertions
Fetched https://github.com/StanfordBDHG/XCTRuntimeAssertions.git from cache (0.45s)
Fetched https://github.com/StanfordSpezi/SpeziFoundation.git from cache (0.47s)
[1/18616] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (2.34s)
Computing version for https://github.com/StanfordBDHG/XCTRuntimeAssertions.git
Computed https://github.com/StanfordBDHG/XCTRuntimeAssertions.git at 2.2.0 (7.23s)
Computing version for https://github.com/StanfordSpezi/SpeziFoundation.git
Computed https://github.com/StanfordSpezi/SpeziFoundation.git at 2.7.2 (1.19s)
Fetching https://github.com/apple/swift-algorithms.git
Fetching https://github.com/StanfordBDHG/ThreadLocal.git
Fetching https://github.com/StanfordBDHG/zstd.git
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-log
[1/160] Fetching threadlocal
[161/1980] Fetching threadlocal, swift-atomics
[1454/7745] Fetching threadlocal, swift-atomics, swift-log
[2616/13797] Fetching threadlocal, swift-atomics, swift-log, swift-algorithms
[13738/76954] Fetching threadlocal, swift-atomics, swift-log, swift-algorithms, zstd
Fetched https://github.com/apple/swift-algorithms.git from cache (1.48s)
Fetched https://github.com/apple/swift-log from cache (1.47s)
[27875/65137] Fetching threadlocal, swift-atomics, zstd
Fetched https://github.com/StanfordBDHG/ThreadLocal.git from cache (4.22s)
Fetched https://github.com/apple/swift-atomics.git from cache (4.22s)
Fetched https://github.com/StanfordBDHG/zstd.git from cache (4.31s)
Computing version for https://github.com/StanfordBDHG/ThreadLocal.git
Computed https://github.com/StanfordBDHG/ThreadLocal.git at 0.1.1 (4.78s)
Fetching https://github.com/swiftlang/swift-syntax.git
[1/73476] Fetching swift-syntax
Fetched https://github.com/swiftlang/swift-syntax.git from cache (16.52s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 602.0.0 (26.98s)
Computing version for https://github.com/apple/swift-algorithms.git
Computed https://github.com/apple/swift-algorithms.git at 1.2.1 (0.74s)
Fetching https://github.com/apple/swift-numerics.git
[1/6390] Fetching swift-numerics
Fetched https://github.com/apple/swift-numerics.git from cache (0.76s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.0 (1.71s)
Computing version for https://github.com/apple/swift-numerics.git
Computed https://github.com/apple/swift-numerics.git at 1.1.1 (0.50s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.8.0 (0.36s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.3.0 (0.59s)
Computing version for https://github.com/StanfordSpezi/SpeziHealthKit.git
Computed https://github.com/StanfordSpezi/SpeziHealthKit.git at 1.3.2 (0.62s)
Fetching https://github.com/StanfordSpezi/SpeziStorage.git
[1/1694] Fetching spezistorage
Fetched https://github.com/StanfordSpezi/SpeziStorage.git from cache (0.21s)
Computing version for https://github.com/StanfordSpezi/SpeziStorage.git
Computed https://github.com/StanfordSpezi/SpeziStorage.git at 2.1.3 (2.48s)
Computing version for https://github.com/StanfordBDHG/zstd.git
Computed https://github.com/StanfordBDHG/zstd.git at 1.5.8-beta.1 (0.50s)
Creating working copy for https://github.com/StanfordSpezi/SpeziHealthKit.git
Working copy of https://github.com/StanfordSpezi/SpeziHealthKit.git resolved at 1.3.2
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.8.0
Creating working copy for https://github.com/StanfordSpezi/SpeziFoundation.git
Working copy of https://github.com/StanfordSpezi/SpeziFoundation.git resolved at 2.7.2
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.0
Creating working copy for https://github.com/StanfordSpezi/SpeziStorage.git
Working copy of https://github.com/StanfordSpezi/SpeziStorage.git resolved at 2.1.3
Creating working copy for https://github.com/StanfordSpezi/Spezi.git
Working copy of https://github.com/StanfordSpezi/Spezi.git resolved at 1.10.0
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.3.0
Creating working copy for https://github.com/StanfordBDHG/zstd.git
Working copy of https://github.com/StanfordBDHG/zstd.git resolved at 1.5.8-beta.1
Creating working copy for https://github.com/StanfordBDHG/ThreadLocal.git
Working copy of https://github.com/StanfordBDHG/ThreadLocal.git resolved at 0.1.1
Creating working copy for https://github.com/StanfordBDHG/XCTRuntimeAssertions.git
Working copy of https://github.com/StanfordBDHG/XCTRuntimeAssertions.git resolved at 2.2.0
Creating working copy for https://github.com/StanfordBDHG/HealthKitOnFHIR.git
Working copy of https://github.com/StanfordBDHG/HealthKitOnFHIR.git resolved at 1.2.1
Creating working copy for https://github.com/apple/swift-algorithms.git
Working copy of https://github.com/apple/swift-algorithms.git resolved at 1.2.1
Creating working copy for https://github.com/apple/FHIRModels.git
Working copy of https://github.com/apple/FHIRModels.git resolved at 0.8.0
Creating working copy for https://github.com/apple/swift-numerics.git
Working copy of https://github.com/apple/swift-numerics.git resolved at 1.1.1
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 602.0.0
Downloading package prebuilt https://download.swift.org/prebuilts/swift-syntax/602.0.0/swift-6.2-RELEASE-MacroSupport-ubuntu_jammy_x86_64.tar.gz
Downloaded https://download.swift.org/prebuilts/swift-syntax/602.0.0/swift-6.2-RELEASE-MacroSupport-ubuntu_jammy_x86_64.tar.gz (0.64s)
Building for debugging...
[0/95] Write sources
[1/95] Copying Allen322_Ferry570_ad134528-56a5-35fd-c37f-466ff119c625.json.license
[5/95] Write sources
[8/95] Compiling zstd_ddict.c
[9/95] Compiling huf_decompress_amd64.S
[10/95] Compiling cover.c
[11/95] Compiling fastcover.c
[12/95] Write swift-version-24593BA9C3E375BF.txt
[12/95] Compiling zdict.c
[14/95] Compiling divsufsort.c
[15/95] Compiling zstd_preSplit.c
[16/96] Compiling zstd_decompress.c
[17/99] Compiling zstdmt_compress.c
[18/99] Compiling zstd_decompress_block.c
[19/99] Compiling huf_decompress.c
[20/99] Compiling zstd_ldm.c
[21/99] Compiling zstd_compress_superblock.c
[22/99] Compiling zstd_opt.c
[23/99] Compiling zstd_compress_literals.c
[24/99] Compiling zstd_compress_sequences.c
[25/99] Compiling zstd_fast.c
[26/99] Compiling hist.c
[27/99] Compiling zstd_double_fast.c
[28/99] Compiling fse_compress.c
[29/99] Compiling threading.c
[30/99] Compiling xxhash.c
[31/99] Compiling pool.c
[32/99] Compiling zstd_common.c
[33/99] Compiling huf_compress.c
[34/99] Compiling error_private.c
[35/99] Compiling debug.c
[35/99] Compiling _NumericsShims _NumericsShims.c
[36/99] Compiling fse_decompress.c
[37/99] Write sources
[40/99] Copying Localizable-HKTypes.strings
[46/99] Copying Localizable.xcstrings.license
[47/99] Copying Info.plist
[48/99] Copying Localizable.xcstrings
[49/99] Copying Localizable.xcstrings.license
[50/99] Copying Localizable.xcstrings
[51/99] Copying Info.plist
[52/99] Copying Napoleon578_Fay398_38f38890-b80f-6542-51d4-882c7b37b0bf.json.license
[53/99] Copying Milton509_Ortiz186_d66b5418-06cb-fc8a-8c13-85685b6ac939.json.license
[54/99] Copying Milton509_Ortiz186_d66b5418-06cb-fc8a-8c13-85685b6ac939.json
[55/99] Copying Milagros256_Hills818_79b1d90a-0eaf-be78-9bbf-91c638626012.json.license
[56/99] Copying Napoleon578_Fay398_38f38890-b80f-6542-51d4-882c7b37b0bf.json
[57/99] Copying Maye976_Dickinson688_04f25f73-04b2-469c-3806-540417a0d61c.json.license
[58/99] Copying Milagros256_Hills818_79b1d90a-0eaf-be78-9bbf-91c638626012.json
[59/99] Copying Jamison785_Denesik803_1e08cb3f-9e6a-b083-b6ee-0bb38f70ba50.json.license
[60/99] Copying Maye976_Dickinson688_04f25f73-04b2-469c-3806-540417a0d61c.json
[61/99] Copying Jacklyn830_Veum823_e0e1f21a-22a7-d166-7bb1-63f6bbce1a32.json.license
[62/99] Copying Jamison785_Denesik803_1e08cb3f-9e6a-b083-b6ee-0bb38f70ba50.json
[63/99] Copying Info.plist
[64/99] Copying Gonzalo160_Duenas839_ed70a28f-30b2-acb7-658a-8b340dadd685.json.license
[65/99] Copying Jacklyn830_Veum823_e0e1f21a-22a7-d166-7bb1-63f6bbce1a32.json
[65/99] Compiling entropy_common.c
[66/99] Copying Edythe31_Morar593_9c3df38a-d3b7-2198-3898-51f9153d023d.json.license
[68/99] Copying Beatris270_Bogan287_5b3645de-a2d0-d016-0839-bab3757c4c58.json.license
[69/99] Copying Edythe31_Morar593_9c3df38a-d3b7-2198-3898-51f9153d023d.json
[70/99] Copying Allen322_Ferry570_ad134528-56a5-35fd-c37f-466ff119c625.json
[71/99] Write sources
[73/99] Copying Beatris270_Bogan287_5b3645de-a2d0-d016-0839-bab3757c4c58.json
[74/99] Write sources
[76/99] Compiling _AtomicsShims.c
[77/99] Write sources
[81/99] Compiling SpeziFoundationObjC ObjCExceptionHandling.m
[82/99] Copying Gonzalo160_Duenas839_ed70a28f-30b2-acb7-658a-8b340dadd685.json
[83/99] Copying Info.plist
[84/99] Copying HKSampleMapping.json.license
[85/99] Copying HKSampleMapping.json
[86/99] Write sources
error: emit-module command failed with exit code 1 (use -v to see invocation)
[89/109] Emitting module RuntimeAssertions
/host/spi-builder-workspace/.build/checkouts/XCTRuntimeAssertions/Sources/RuntimeAssertions/Counter.swift:9:8: error: no such module 'Foundation'
7 | //
8 |
9 | import Foundation
| `- error: no such module 'Foundation'
10 |
11 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[90/109] Emitting module FMCore
/host/spi-builder-workspace/.build/checkouts/FHIRModels/Sources/FMCore/ConstructibleFromNSDate.swift:19:8: error: no such module 'Foundation'
17 | // limitations under the License.
18 |
19 | import Foundation
| `- error: no such module 'Foundation'
20 |
21 | public protocol ConstructibleFromNSDate {
[90/109] Compiling zstd_compress.c
[91/109] Write sources
error: emit-module command failed with exit code 1 (use -v to see invocation)
[93/111] Emitting module Logging
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:42:8: error: Unsupported runtime
40 | import Musl
41 | #else
42 | #error("Unsupported runtime")
| `- error: Unsupported runtime
43 | #endif
44 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:28:8: error: Unsupported runtime
26 | import WASILibc
27 | #else
28 | #error("Unsupported runtime")
| `- error: Unsupported runtime
29 | #endif
30 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1379:16: error: Unsupported runtime
1377 | let systemStderr = WASILibc.stderr!
1378 | #else
1379 | #error("Unsupported runtime")
| `- error: Unsupported runtime
1380 | #endif
1381 | return StdioOutputStream(file: systemStderr, flushMode: .always)
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1399:16: error: Unsupported runtime
1397 | let systemStdout = WASILibc.stdout!
1398 | #else
1399 | #error("Unsupported runtime")
| `- error: Unsupported runtime
1400 | #endif
1401 | return StdioOutputStream(file: systemStdout, flushMode: .always)
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/MetadataProvider.swift:28:8: error: Unsupported runtime
26 | import WASILibc
27 | #else
28 | #error("Unsupported runtime")
| `- error: Unsupported runtime
29 | #endif
30 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:58:49: error: cannot find type 'pthread_mutex_t' in scope
56 | UnsafeMutablePointer.allocate(capacity: 1)
57 | #else
58 | fileprivate let mutex: UnsafeMutablePointer<pthread_mutex_t> =
| `- error: cannot find type 'pthread_mutex_t' in scope
59 | UnsafeMutablePointer.allocate(capacity: 1)
60 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:161:50: error: cannot find type 'pthread_rwlock_t' in scope
159 | fileprivate var shared: Bool = true
160 | #else
161 | fileprivate let rwlock: UnsafeMutablePointer<pthread_rwlock_t> =
| `- error: cannot find type 'pthread_rwlock_t' in scope
162 | UnsafeMutablePointer.allocate(capacity: 1)
163 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:69:20: error: cannot find 'pthread_mutexattr_t' in scope
67 | InitializeSRWLock(self.mutex)
68 | #else
69 | var attr = pthread_mutexattr_t()
| `- error: cannot find 'pthread_mutexattr_t' in scope
70 | pthread_mutexattr_init(&attr)
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:70:9: error: cannot find 'pthread_mutexattr_init' in scope
68 | #else
69 | var attr = pthread_mutexattr_t()
70 | pthread_mutexattr_init(&attr)
| `- error: cannot find 'pthread_mutexattr_init' in scope
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
72 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:71:9: error: cannot find 'pthread_mutexattr_settype' in scope
69 | var attr = pthread_mutexattr_t()
70 | pthread_mutexattr_init(&attr)
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
| `- error: cannot find 'pthread_mutexattr_settype' in scope
72 |
73 | let err = pthread_mutex_init(self.mutex, &attr)
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:71:48: error: cannot find 'PTHREAD_MUTEX_ERRORCHECK' in scope
69 | var attr = pthread_mutexattr_t()
70 | pthread_mutexattr_init(&attr)
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
| `- error: cannot find 'PTHREAD_MUTEX_ERRORCHECK' in scope
72 |
73 | let err = pthread_mutex_init(self.mutex, &attr)
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:71:43: error: cannot infer contextual base in reference to member 'init'
69 | var attr = pthread_mutexattr_t()
70 | pthread_mutexattr_init(&attr)
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
| `- error: cannot infer contextual base in reference to member 'init'
72 |
73 | let err = pthread_mutex_init(self.mutex, &attr)
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:73:19: error: cannot find 'pthread_mutex_init' in scope
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
72 |
73 | let err = pthread_mutex_init(self.mutex, &attr)
| `- error: cannot find 'pthread_mutex_init' in scope
74 | precondition(err == 0, "\(#function) failed in pthread_mutex with error \(err)")
75 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:85:19: error: cannot find 'pthread_mutex_destroy' in scope
83 | self.mutex.deallocate()
84 | #else
85 | let err = pthread_mutex_destroy(self.mutex)
| `- error: cannot find 'pthread_mutex_destroy' in scope
86 | precondition(err == 0, "\(#function) failed in pthread_mutex with error \(err)")
87 | self.mutex.deallocate()
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:101:19: error: cannot find 'pthread_mutex_lock' in scope
99 | AcquireSRWLockExclusive(self.mutex)
100 | #else
101 | let err = pthread_mutex_lock(self.mutex)
| `- error: cannot find 'pthread_mutex_lock' in scope
102 | precondition(err == 0, "\(#function) failed in pthread_mutex with error \(err)")
103 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:116:19: error: cannot find 'pthread_mutex_unlock' in scope
114 | ReleaseSRWLockExclusive(self.mutex)
115 | #else
116 | let err = pthread_mutex_unlock(self.mutex)
| `- error: cannot find 'pthread_mutex_unlock' in scope
117 | precondition(err == 0, "\(#function) failed in pthread_mutex with error \(err)")
118 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:172:19: error: cannot find 'pthread_rwlock_init' in scope
170 | InitializeSRWLock(self.rwlock)
171 | #else
172 | let err = pthread_rwlock_init(self.rwlock, nil)
| `- error: cannot find 'pthread_rwlock_init' in scope
173 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
174 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:172:52: error: 'nil' requires a contextual type
170 | InitializeSRWLock(self.rwlock)
171 | #else
172 | let err = pthread_rwlock_init(self.rwlock, nil)
| `- error: 'nil' requires a contextual type
173 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
174 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:184:19: error: cannot find 'pthread_rwlock_destroy' in scope
182 | self.rwlock.deallocate()
183 | #else
184 | let err = pthread_rwlock_destroy(self.rwlock)
| `- error: cannot find 'pthread_rwlock_destroy' in scope
185 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
186 | self.rwlock.deallocate()
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:201:19: error: cannot find 'pthread_rwlock_rdlock' in scope
199 | self.shared = true
200 | #else
201 | let err = pthread_rwlock_rdlock(self.rwlock)
| `- error: cannot find 'pthread_rwlock_rdlock' in scope
202 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
203 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:217:19: error: cannot find 'pthread_rwlock_wrlock' in scope
215 | self.shared = false
216 | #else
217 | let err = pthread_rwlock_wrlock(self.rwlock)
| `- error: cannot find 'pthread_rwlock_wrlock' in scope
218 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
219 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:237:19: error: cannot find 'pthread_rwlock_unlock' in scope
235 | }
236 | #else
237 | let err = pthread_rwlock_unlock(self.rwlock)
| `- error: cannot find 'pthread_rwlock_unlock' in scope
238 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
239 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:912:32: error: 'Codable' is unavailable: unavailable in embedded Swift
910 | /// Log levels are ordered by their severity, with `.trace` being the least severe and
911 | /// `.critical` being the most severe.
912 | public enum Level: String, Codable, CaseIterable {
| `- error: 'Codable' is unavailable: unavailable in embedded Swift
913 | /// Appropriate for messages that contain information normally of use only when
914 | /// tracing the execution of a program.
Swift.Codable:2:18: note: 'Codable' has been explicitly marked unavailable here
1 | @_unavailableInEmbedded
2 | public typealias Codable = Decodable & Encodable
| `- note: 'Codable' has been explicitly marked unavailable here
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1318:56: error: cannot find type 'FILE' in scope
1316 | internal typealias CFilePointer = OpaquePointer
1317 | #else
1318 | internal typealias CFilePointer = UnsafeMutablePointer<FILE>
| `- error: cannot find type 'FILE' in scope
1319 | #endif
1320 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1381:40: error: cannot find 'systemStderr' in scope
1379 | #error("Unsupported runtime")
1380 | #endif
1381 | return StdioOutputStream(file: systemStderr, flushMode: .always)
| `- error: cannot find 'systemStderr' in scope
1382 | }()
1383 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1381:66: error: cannot infer contextual base in reference to member 'always'
1379 | #error("Unsupported runtime")
1380 | #endif
1381 | return StdioOutputStream(file: systemStderr, flushMode: .always)
| `- error: cannot infer contextual base in reference to member 'always'
1382 | }()
1383 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1401:40: error: cannot find 'systemStdout' in scope
1399 | #error("Unsupported runtime")
1400 | #endif
1401 | return StdioOutputStream(file: systemStdout, flushMode: .always)
| `- error: cannot find 'systemStdout' in scope
1402 | }()
1403 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1401:66: error: cannot infer contextual base in reference to member 'always'
1399 | #error("Unsupported runtime")
1400 | #endif
1401 | return StdioOutputStream(file: systemStdout, flushMode: .always)
| `- error: cannot infer contextual base in reference to member 'always'
1402 | }()
1403 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1335:13: error: cannot find 'flockfile' in scope
1333 | // no file locking on WASI
1334 | #else
1335 | flockfile(self.file)
| `- error: cannot find 'flockfile' in scope
1336 | #endif
1337 | defer {
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1346:17: error: cannot find 'fwrite' in scope
1344 | #endif
1345 | }
1346 | _ = fwrite(utf8Bytes.baseAddress!, 1, utf8Bytes.count, self.file)
| `- error: cannot find 'fwrite' in scope
1347 | if case .always = self.flushMode {
1348 | self.flush()
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1355:13: error: cannot find 'fflush' in scope
1353 | /// Flush the underlying stream.
1354 | internal func flush() {
1355 | _ = fflush(self.file)
| `- error: cannot find 'fflush' in scope
1356 | }
1357 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1583:25: error: cannot find 'time' in scope
1581 | _ = strftime(&buffer, buffer.count, "%Y-%m-%dT%H:%M:%S%z", &localTime)
1582 | #else
1583 | var timestamp = time(nil)
| `- error: cannot find 'time' in scope
1584 | guard let localTime = localtime(×tamp) else {
1585 | return "<unknown>"
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1583:30: error: 'nil' requires a contextual type
1581 | _ = strftime(&buffer, buffer.count, "%Y-%m-%dT%H:%M:%S%z", &localTime)
1582 | #else
1583 | var timestamp = time(nil)
| `- error: 'nil' requires a contextual type
1584 | guard let localTime = localtime(×tamp) else {
1585 | return "<unknown>"
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1584:31: error: cannot find 'localtime' in scope
1582 | #else
1583 | var timestamp = time(nil)
1584 | guard let localTime = localtime(×tamp) else {
| `- error: cannot find 'localtime' in scope
1585 | return "<unknown>"
1586 | }
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1587:9: error: cannot find 'strftime' in scope
1585 | return "<unknown>"
1586 | }
1587 | strftime(&buffer, buffer.count, "%Y-%m-%dT%H:%M:%S%z", localTime)
| `- error: cannot find 'strftime' in scope
1588 | #endif
1589 | return buffer.withUnsafeBufferPointer {
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1726:54: error: 'description' is unavailable: unavailable in embedded Swift
1724 | switch self {
1725 | case .dictionary(let dict):
1726 | return dict.mapValues { $0.description }.description
| `- error: 'description' is unavailable: unavailable in embedded Swift
1727 | case .array(let list):
1728 | return list.map { $0.description }.description
Swift.Dictionary.description:2:12: note: 'description' has been explicitly marked unavailable here
1 | generic struct Dictionary {
2 | public var description: String { get }}
| `- note: 'description' has been explicitly marked unavailable here
3 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1728:48: error: 'description' is unavailable: unavailable in embedded Swift
1726 | return dict.mapValues { $0.description }.description
1727 | case .array(let list):
1728 | return list.map { $0.description }.description
| `- error: 'description' is unavailable: unavailable in embedded Swift
1729 | case .string(let str):
1730 | return str
Swift.Array.description:2:12: note: 'description' has been explicitly marked unavailable here
1 | generic struct Array {
2 | public var description: String { get }}
| `- note: 'description' has been explicitly marked unavailable here
3 |
[94/111] Emitting module RealModule
[95/112] Compiling RuntimeAssertions Assert.swift
/host/spi-builder-workspace/.build/checkouts/XCTRuntimeAssertions/Sources/RuntimeAssertions/Counter.swift:9:8: error: no such module 'Foundation'
7 | //
8 |
9 | import Foundation
| `- error: no such module 'Foundation'
10 |
11 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:42:8: error: Unsupported runtime
40 | import Musl
41 | #else
42 | #error("Unsupported runtime")
| `- error: Unsupported runtime
43 | #endif
44 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:28:8: error: Unsupported runtime
26 | import WASILibc
27 | #else
28 | #error("Unsupported runtime")
| `- error: Unsupported runtime
29 | #endif
30 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1379:16: error: Unsupported runtime
1377 | let systemStderr = WASILibc.stderr!
1378 | #else
1379 | #error("Unsupported runtime")
| `- error: Unsupported runtime
1380 | #endif
1381 | return StdioOutputStream(file: systemStderr, flushMode: .always)
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1399:16: error: Unsupported runtime
1397 | let systemStdout = WASILibc.stdout!
1398 | #else
1399 | #error("Unsupported runtime")
| `- error: Unsupported runtime
1400 | #endif
1401 | return StdioOutputStream(file: systemStdout, flushMode: .always)
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/MetadataProvider.swift:28:8: error: Unsupported runtime
26 | import WASILibc
27 | #else
28 | #error("Unsupported runtime")
| `- error: Unsupported runtime
29 | #endif
30 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:58:49: error: cannot find type 'pthread_mutex_t' in scope
56 | UnsafeMutablePointer.allocate(capacity: 1)
57 | #else
58 | fileprivate let mutex: UnsafeMutablePointer<pthread_mutex_t> =
| `- error: cannot find type 'pthread_mutex_t' in scope
59 | UnsafeMutablePointer.allocate(capacity: 1)
60 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:161:50: error: cannot find type 'pthread_rwlock_t' in scope
159 | fileprivate var shared: Bool = true
160 | #else
161 | fileprivate let rwlock: UnsafeMutablePointer<pthread_rwlock_t> =
| `- error: cannot find type 'pthread_rwlock_t' in scope
162 | UnsafeMutablePointer.allocate(capacity: 1)
163 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:69:20: error: cannot find 'pthread_mutexattr_t' in scope
67 | InitializeSRWLock(self.mutex)
68 | #else
69 | var attr = pthread_mutexattr_t()
| `- error: cannot find 'pthread_mutexattr_t' in scope
70 | pthread_mutexattr_init(&attr)
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:70:9: error: cannot find 'pthread_mutexattr_init' in scope
68 | #else
69 | var attr = pthread_mutexattr_t()
70 | pthread_mutexattr_init(&attr)
| `- error: cannot find 'pthread_mutexattr_init' in scope
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
72 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:71:9: error: cannot find 'pthread_mutexattr_settype' in scope
69 | var attr = pthread_mutexattr_t()
70 | pthread_mutexattr_init(&attr)
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
| `- error: cannot find 'pthread_mutexattr_settype' in scope
72 |
73 | let err = pthread_mutex_init(self.mutex, &attr)
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:71:48: error: cannot find 'PTHREAD_MUTEX_ERRORCHECK' in scope
69 | var attr = pthread_mutexattr_t()
70 | pthread_mutexattr_init(&attr)
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
| `- error: cannot find 'PTHREAD_MUTEX_ERRORCHECK' in scope
72 |
73 | let err = pthread_mutex_init(self.mutex, &attr)
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:71:43: error: cannot infer contextual base in reference to member 'init'
69 | var attr = pthread_mutexattr_t()
70 | pthread_mutexattr_init(&attr)
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
| `- error: cannot infer contextual base in reference to member 'init'
72 |
73 | let err = pthread_mutex_init(self.mutex, &attr)
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:73:19: error: cannot find 'pthread_mutex_init' in scope
71 | pthread_mutexattr_settype(&attr, .init(PTHREAD_MUTEX_ERRORCHECK))
72 |
73 | let err = pthread_mutex_init(self.mutex, &attr)
| `- error: cannot find 'pthread_mutex_init' in scope
74 | precondition(err == 0, "\(#function) failed in pthread_mutex with error \(err)")
75 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:85:19: error: cannot find 'pthread_mutex_destroy' in scope
83 | self.mutex.deallocate()
84 | #else
85 | let err = pthread_mutex_destroy(self.mutex)
| `- error: cannot find 'pthread_mutex_destroy' in scope
86 | precondition(err == 0, "\(#function) failed in pthread_mutex with error \(err)")
87 | self.mutex.deallocate()
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:101:19: error: cannot find 'pthread_mutex_lock' in scope
99 | AcquireSRWLockExclusive(self.mutex)
100 | #else
101 | let err = pthread_mutex_lock(self.mutex)
| `- error: cannot find 'pthread_mutex_lock' in scope
102 | precondition(err == 0, "\(#function) failed in pthread_mutex with error \(err)")
103 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:116:19: error: cannot find 'pthread_mutex_unlock' in scope
114 | ReleaseSRWLockExclusive(self.mutex)
115 | #else
116 | let err = pthread_mutex_unlock(self.mutex)
| `- error: cannot find 'pthread_mutex_unlock' in scope
117 | precondition(err == 0, "\(#function) failed in pthread_mutex with error \(err)")
118 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:172:19: error: cannot find 'pthread_rwlock_init' in scope
170 | InitializeSRWLock(self.rwlock)
171 | #else
172 | let err = pthread_rwlock_init(self.rwlock, nil)
| `- error: cannot find 'pthread_rwlock_init' in scope
173 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
174 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:172:52: error: 'nil' requires a contextual type
170 | InitializeSRWLock(self.rwlock)
171 | #else
172 | let err = pthread_rwlock_init(self.rwlock, nil)
| `- error: 'nil' requires a contextual type
173 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
174 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:184:19: error: cannot find 'pthread_rwlock_destroy' in scope
182 | self.rwlock.deallocate()
183 | #else
184 | let err = pthread_rwlock_destroy(self.rwlock)
| `- error: cannot find 'pthread_rwlock_destroy' in scope
185 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
186 | self.rwlock.deallocate()
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:201:19: error: cannot find 'pthread_rwlock_rdlock' in scope
199 | self.shared = true
200 | #else
201 | let err = pthread_rwlock_rdlock(self.rwlock)
| `- error: cannot find 'pthread_rwlock_rdlock' in scope
202 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
203 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:217:19: error: cannot find 'pthread_rwlock_wrlock' in scope
215 | self.shared = false
216 | #else
217 | let err = pthread_rwlock_wrlock(self.rwlock)
| `- error: cannot find 'pthread_rwlock_wrlock' in scope
218 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
219 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Locks.swift:237:19: error: cannot find 'pthread_rwlock_unlock' in scope
235 | }
236 | #else
237 | let err = pthread_rwlock_unlock(self.rwlock)
| `- error: cannot find 'pthread_rwlock_unlock' in scope
238 | precondition(err == 0, "\(#function) failed in pthread_rwlock with error \(err)")
239 | #endif
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:912:32: error: 'Codable' is unavailable: unavailable in embedded Swift
910 | /// Log levels are ordered by their severity, with `.trace` being the least severe and
911 | /// `.critical` being the most severe.
912 | public enum Level: String, Codable, CaseIterable {
| `- error: 'Codable' is unavailable: unavailable in embedded Swift
913 | /// Appropriate for messages that contain information normally of use only when
914 | /// tracing the execution of a program.
Swift.Codable:2:18: note: 'Codable' has been explicitly marked unavailable here
1 | @_unavailableInEmbedded
2 | public typealias Codable = Decodable & Encodable
| `- note: 'Codable' has been explicitly marked unavailable here
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1318:56: error: cannot find type 'FILE' in scope
1316 | internal typealias CFilePointer = OpaquePointer
1317 | #else
1318 | internal typealias CFilePointer = UnsafeMutablePointer<FILE>
| `- error: cannot find type 'FILE' in scope
1319 | #endif
1320 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1381:40: error: cannot find 'systemStderr' in scope
1379 | #error("Unsupported runtime")
1380 | #endif
1381 | return StdioOutputStream(file: systemStderr, flushMode: .always)
| `- error: cannot find 'systemStderr' in scope
1382 | }()
1383 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1381:66: error: cannot infer contextual base in reference to member 'always'
1379 | #error("Unsupported runtime")
1380 | #endif
1381 | return StdioOutputStream(file: systemStderr, flushMode: .always)
| `- error: cannot infer contextual base in reference to member 'always'
1382 | }()
1383 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1401:40: error: cannot find 'systemStdout' in scope
1399 | #error("Unsupported runtime")
1400 | #endif
1401 | return StdioOutputStream(file: systemStdout, flushMode: .always)
| `- error: cannot find 'systemStdout' in scope
1402 | }()
1403 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1401:66: error: cannot infer contextual base in reference to member 'always'
1399 | #error("Unsupported runtime")
1400 | #endif
1401 | return StdioOutputStream(file: systemStdout, flushMode: .always)
| `- error: cannot infer contextual base in reference to member 'always'
1402 | }()
1403 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1335:13: error: cannot find 'flockfile' in scope
1333 | // no file locking on WASI
1334 | #else
1335 | flockfile(self.file)
| `- error: cannot find 'flockfile' in scope
1336 | #endif
1337 | defer {
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1346:17: error: cannot find 'fwrite' in scope
1344 | #endif
1345 | }
1346 | _ = fwrite(utf8Bytes.baseAddress!, 1, utf8Bytes.count, self.file)
| `- error: cannot find 'fwrite' in scope
1347 | if case .always = self.flushMode {
1348 | self.flush()
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1355:13: error: cannot find 'fflush' in scope
1353 | /// Flush the underlying stream.
1354 | internal func flush() {
1355 | _ = fflush(self.file)
| `- error: cannot find 'fflush' in scope
1356 | }
1357 |
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1583:25: error: cannot find 'time' in scope
1581 | _ = strftime(&buffer, buffer.count, "%Y-%m-%dT%H:%M:%S%z", &localTime)
1582 | #else
1583 | var timestamp = time(nil)
| `- error: cannot find 'time' in scope
1584 | guard let localTime = localtime(×tamp) else {
1585 | return "<unknown>"
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1583:30: error: 'nil' requires a contextual type
1581 | _ = strftime(&buffer, buffer.count, "%Y-%m-%dT%H:%M:%S%z", &localTime)
1582 | #else
1583 | var timestamp = time(nil)
| `- error: 'nil' requires a contextual type
1584 | guard let localTime = localtime(×tamp) else {
1585 | return "<unknown>"
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1584:31: error: cannot find 'localtime' in scope
1582 | #else
1583 | var timestamp = time(nil)
1584 | guard let localTime = localtime(×tamp) else {
| `- error: cannot find 'localtime' in scope
1585 | return "<unknown>"
1586 | }
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1587:9: error: cannot find 'strftime' in scope
1585 | return "<unknown>"
1586 | }
1587 | strftime(&buffer, buffer.count, "%Y-%m-%dT%H:%M:%S%z", localTime)
| `- error: cannot find 'strftime' in scope
1588 | #endif
1589 | return buffer.withUnsafeBufferPointer {
/host/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:1726:54: error: 'description' is unavailable: unavailable in embedded Swift
1724 | switch self {
1725 | case .dictionary(let dict):
1726 | return dict.mapValues { $0.description }.description
| `- error: 'description' is unavailable: unavailable in embedded Swift
1727 | case .array(let list):
1728 | return list.map { $0.description }.description
Swift.Dictionary.description:2:12: note: 'description' has been explicitly marked unavailable here
1 | generic struct Dictionary {
2 | public var description: String { get }}
| `- note: 'description' has been explicitly marked unavailable here
3 |
[95/112] Compiling zstd_lazy.c
BUILD FAILURE 6.2 wasm