Build Information
Failed to build XMTPiOS, reference 4.7.0-dev.ef372cf5 (ef372c), with Swift 6.2 for Wasm on 9 Dec 2025 04:34:29 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/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/xmtp/xmtp-ios.git
Reference: 4.7.0-dev.ef372cf5
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/xmtp/xmtp-ios
* tag 4.7.0-dev.ef372cf5 -> FETCH_HEAD
HEAD is now at ef372cf update to ad8a1dc, save intent at time of payload construction
Cloned https://github.com/xmtp/xmtp-ios.git
Revision (git rev-parse @):
ef372cf5bf57f7fc011a03231191e42a47fee6a6
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/xmtp/xmtp-ios.git at 4.7.0-dev.ef372cf5
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.2
Building package at path: $PWD
https://github.com/xmtp/xmtp-ios.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/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:302e3f347c593123f3d337e3da1bfe6e802bb8867614e9dfa745c72e13ca8eeb
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/krzyzanowskim/CryptoSwift.git
Fetching https://github.com/bufbuild/connect-swift
Fetching https://github.com/apple/swift-docc-plugin.git
Fetching https://github.com/SimplyDanny/SwiftLintPlugins
[1/253] Fetching swiftlintplugins
[254/2411] Fetching swiftlintplugins, swift-docc-plugin
[394/15516] Fetching swiftlintplugins, swift-docc-plugin, cryptoswift
[1769/24340] Fetching swiftlintplugins, swift-docc-plugin, cryptoswift, connect-swift
Fetched https://github.com/SimplyDanny/SwiftLintPlugins from cache (0.47s)
[2803/24087] Fetching swift-docc-plugin, cryptoswift, connect-swift
Fetched https://github.com/apple/swift-docc-plugin.git from cache (0.81s)
Fetched https://github.com/bufbuild/connect-swift from cache (0.93s)
[1966/13105] Fetching cryptoswift
Fetched https://github.com/krzyzanowskim/CryptoSwift.git from cache (2.69s)
Computing version for https://github.com/bufbuild/connect-swift
Computed https://github.com/bufbuild/connect-swift at 1.0.0 (3.27s)
Fetching https://github.com/apple/swift-nio-http2.git
Fetching https://github.com/apple/swift-protobuf.git
Fetching https://github.com/apple/swift-nio-ssl.git
Fetching https://github.com/apple/swift-nio.git
[1/11718] Fetching swift-nio-http2
[2579/27006] Fetching swift-nio-http2, swift-nio-ssl
[3955/107668] Fetching swift-nio-http2, swift-nio-ssl, swift-nio
[62499/149188] Fetching swift-nio-http2, swift-nio-ssl, swift-nio, swift-protobuf
Fetched https://github.com/apple/swift-nio-http2.git from cache (9.71s)
Fetched https://github.com/apple/swift-nio-ssl.git from cache (9.73s)
Fetched https://github.com/apple/swift-nio.git from cache (9.84s)
Fetched https://github.com/apple/swift-protobuf.git from cache (10.79s)
Computing version for https://github.com/SimplyDanny/SwiftLintPlugins
Computed https://github.com/SimplyDanny/SwiftLintPlugins at 0.62.2 (13.71s)
Computing version for https://github.com/krzyzanowskim/CryptoSwift.git
Computed https://github.com/krzyzanowskim/CryptoSwift.git at 1.9.0 (0.51s)
Computing version for https://github.com/apple/swift-docc-plugin.git
Computed https://github.com/apple/swift-docc-plugin.git at 1.4.5 (0.43s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3593] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.80s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.25s)
Computing version for https://github.com/apple/swift-nio-http2.git
Computed https://github.com/apple/swift-nio-http2.git at 1.39.0 (0.40s)
Fetching https://github.com/apple/swift-atomics.git
[1/1820] Fetching swift-atomics
Fetched https://github.com/apple/swift-atomics.git from cache (0.38s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.0 (0.71s)
Computing version for https://github.com/apple/swift-protobuf.git
Computed https://github.com/apple/swift-protobuf.git at 1.33.3 (0.38s)
Computing version for https://github.com/apple/swift-nio-ssl.git
Computed https://github.com/apple/swift-nio-ssl.git at 2.36.0 (0.42s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.91.0 (0.83s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-system.git
[1/5214] Fetching swift-system
[5215/23578] Fetching swift-system, swift-collections
Fetched https://github.com/apple/swift-system.git from cache (1.33s)
Fetched https://github.com/apple/swift-collections.git from cache (1.35s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.6.3 (1.75s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.3.0 (5.12s)
Creating working copy for https://github.com/apple/swift-nio-http2.git
Working copy of https://github.com/apple/swift-nio-http2.git resolved at 1.39.0
Creating working copy for https://github.com/bufbuild/connect-swift
Working copy of https://github.com/bufbuild/connect-swift resolved at 1.0.0
Creating working copy for https://github.com/SimplyDanny/SwiftLintPlugins
Working copy of https://github.com/SimplyDanny/SwiftLintPlugins resolved at 0.62.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/apple/swift-docc-plugin.git
Working copy of https://github.com/apple/swift-docc-plugin.git resolved at 1.4.5
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.91.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/apple/swift-nio-ssl.git
Working copy of https://github.com/apple/swift-nio-ssl.git resolved at 2.36.0
Creating working copy for https://github.com/apple/swift-protobuf.git
Working copy of https://github.com/apple/swift-protobuf.git resolved at 1.33.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.6.3
Creating working copy for https://github.com/krzyzanowskim/CryptoSwift.git
Working copy of https://github.com/krzyzanowskim/CryptoSwift.git resolved at 1.9.0
Downloading binary artifact https://github.com/xmtp/libxmtp/releases/download/swift-bindings-1.7.0-dev.ad8a1dc/LibXMTPSwiftFFI.zip
Downloading binary artifact https://github.com/realm/SwiftLint/releases/download/0.62.2/SwiftLintBinary.artifactbundle.zip
[1397/142852794] Downloading https://github.com/xmtp/libxmtp/releases/download/swift-bindings-1.7.0-dev.ad8a1dc/LibXMTPSwiftFFI.zip
[32311/214844254] Downloading https://github.com/xmtp/libxmtp/releases/download/swift-bindings-1.7.0-dev.ad8a1dc/LibXMTPSwiftFFI.zip, https://github.com/realm/SwiftLint/releases/download/0.62.2/SwiftLintBinary.artifactbundle.zip
Downloaded https://github.com/realm/SwiftLint/releases/download/0.62.2/SwiftLintBinary.artifactbundle.zip (10.33s)
Downloaded https://github.com/xmtp/libxmtp/releases/download/swift-bindings-1.7.0-dev.ad8a1dc/LibXMTPSwiftFFI.zip (18.38s)
[1/1] Compiling plugin SwiftLintCommandPlugin
[2/2] Compiling plugin SwiftLintBuildToolPlugin
[3/3] Compiling plugin Swift-DocC Preview
[4/4] Compiling plugin Swift-DocC
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:9:14: warning: associated value 'invalidTarget' of 'Sendable'-conforming enum 'PluginError' has non-Sendable type 'any Target'
7 | enum PluginError: Error, CustomStringConvertible {
8 | /// Indicates that the target where the plugin was applied to was not `SourceModuleTarget`.
9 | case invalidTarget(Target)
| `- warning: associated value 'invalidTarget' of 'Sendable'-conforming enum 'PluginError' has non-Sendable type 'any Target'
10 | /// Indicates that the file extension of an input file was not `.proto`.
11 | case invalidInputFileExtension(String)
PackagePlugin.Target:1:17: note: protocol 'Target' does not conform to the 'Sendable' protocol
1 | public protocol Target {
| `- note: protocol 'Target' does not conform to the 'Sendable' protocol
2 | var id: Self.ID { get }
3 | typealias ID = String
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:2:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'PackagePlugin' as warnings
1 | import Foundation
2 | import PackagePlugin
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'PackagePlugin' as warnings
3 |
4 | @main
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:9:14: warning: associated value 'invalidTarget' of 'Sendable'-conforming enum 'PluginError' has non-Sendable type 'any Target'
7 | enum PluginError: Error, CustomStringConvertible {
8 | /// Indicates that the target where the plugin was applied to was not `SourceModuleTarget`.
9 | case invalidTarget(Target)
| `- warning: associated value 'invalidTarget' of 'Sendable'-conforming enum 'PluginError' has non-Sendable type 'any Target'
10 | /// Indicates that the file extension of an input file was not `.proto`.
11 | case invalidInputFileExtension(String)
PackagePlugin.Target:1:17: note: protocol 'Target' does not conform to the 'Sendable' protocol
1 | public protocol Target {
| `- note: protocol 'Target' does not conform to the 'Sendable' protocol
2 | var id: Self.ID { get }
3 | typealias ID = String
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:2:1: warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'PackagePlugin' as warnings
1 | import Foundation
2 | import PackagePlugin
| `- warning: add '@preconcurrency' to treat 'Sendable'-related errors from module 'PackagePlugin' as warnings
3 |
4 | @main
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:117:24: warning: 'path' is deprecated: renamed to 'url' [#DeprecatedDeclaration]
115 | let configurationFilePath = sourceFiles.first(
116 | where: {
117 | $0.path.lastComponent == Self.configurationFileName
| |- warning: 'path' is deprecated: renamed to 'url' [#DeprecatedDeclaration]
| `- note: use 'url' instead
118 | }
119 | )?.path
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:117:29: warning: 'lastComponent' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
115 | let configurationFilePath = sourceFiles.first(
116 | where: {
117 | $0.path.lastComponent == Self.configurationFileName
| `- warning: 'lastComponent' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
118 | }
119 | )?.path
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:119:16: warning: 'path' is deprecated: renamed to 'url' [#DeprecatedDeclaration]
117 | $0.path.lastComponent == Self.configurationFileName
118 | }
119 | )?.path
| |- warning: 'path' is deprecated: renamed to 'url' [#DeprecatedDeclaration]
| `- note: use 'url' instead
120 | else {
121 | throw PluginError.noConfigFound(Self.configurationFileName)
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:123:64: warning: 'appendInterpolation' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
121 | throw PluginError.noConfigFound(Self.configurationFileName)
122 | }
123 | let data = try Data(contentsOf: URL(fileURLWithPath: "\(configurationFilePath)"))
| `- warning: 'appendInterpolation' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
124 | let configuration = try JSONDecoder().decode(Configuration.self, from: data)
125 | try validateConfiguration(configuration)
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:131:26: warning: 'init(_:)' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
129 | if let configuredProtocPath = configuration.protocPath {
130 | // The user set the config path in the file. So let's take that
131 | protocPath = Path(configuredProtocPath)
| `- warning: 'init(_:)' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
132 | } else if let environmentPath = ProcessInfo.processInfo.environment["PROTOC_PATH"] {
133 | // The user set the env variable. So let's take that
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:134:26: warning: 'init(_:)' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
132 | } else if let environmentPath = ProcessInfo.processInfo.environment["PROTOC_PATH"] {
133 | // The user set the env variable. So let's take that
134 | protocPath = Path(environmentPath)
| `- warning: 'init(_:)' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
135 | } else {
136 | // The user didn't set anything so let's try see if SPM can find a binary for us
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:137:45: warning: 'path' is deprecated: renamed to 'url' [#DeprecatedDeclaration]
135 | } else {
136 | // The user didn't set anything so let's try see if SPM can find a binary for us
137 | protocPath = try tool("protoc").path
| |- warning: 'path' is deprecated: renamed to 'url' [#DeprecatedDeclaration]
| `- note: use 'url' instead
138 | }
139 | let protocGenSwiftPath = try tool("protoc-gen-swift").path
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:139:63: warning: 'path' is deprecated: renamed to 'url' [#DeprecatedDeclaration]
137 | protocPath = try tool("protoc").path
138 | }
139 | let protocGenSwiftPath = try tool("protoc-gen-swift").path
| |- warning: 'path' is deprecated: renamed to 'url' [#DeprecatedDeclaration]
| `- note: use 'url' instead
140 |
141 | return configuration.invocations.map { invocation in
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:143:50: warning: 'removingLastComponent()' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
141 | return configuration.invocations.map { invocation in
142 | self.invokeProtoc(
143 | directory: configurationFilePath.removingLastComponent(),
| `- warning: 'removingLastComponent()' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
144 | invocation: invocation,
145 | protocPath: protocPath,
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:170:41: warning: 'appendInterpolation' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
168 | // Construct the `protoc` arguments.
169 | var protocArgs = [
170 | "--plugin=protoc-gen-swift=\(protocGenSwiftPath)",
| `- warning: 'appendInterpolation' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
171 | "--swift_out=\(outputDirectory)",
172 | ]
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:171:27: warning: 'appendInterpolation' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
169 | var protocArgs = [
170 | "--plugin=protoc-gen-swift=\(protocGenSwiftPath)",
171 | "--swift_out=\(outputDirectory)",
| `- warning: 'appendInterpolation' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
172 | ]
173 |
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:177:29: warning: 'appendInterpolation' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
175 | // the proto files relative to it.
176 | protocArgs.append("-I")
177 | protocArgs.append("\(directory)")
| `- warning: 'appendInterpolation' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
178 |
179 | // Add the visibility if it was set
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:205:41: warning: 'appending' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
203 | // Append the file to the protoc args so that it is used for generating
204 | protocArgs.append("\(file)")
205 | inputFiles.append(directory.appending(file))
| `- warning: 'appending' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
206 |
207 | // The name of the output file is based on the name of the input file.
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:212:54: warning: 'appending' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
210 | file.removeLast(5)
211 | file.append("pb.swift")
212 | let protobufOutputPath = outputDirectory.appending(file)
| `- warning: 'appending' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
213 |
214 | // Add the outputPath as an output file
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:221:24: warning: 'buildCommand(displayName:executable:arguments:environment:inputFiles:outputFiles:)' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
219 | // system know when to invoke the command. The output paths are passed on to
220 | // the rule engine in the build system.
221 | return Command.buildCommand(
| `- warning: 'buildCommand(displayName:executable:arguments:environment:inputFiles:outputFiles:)' is deprecated: Use `URL` type instead of `Path`. [#DeprecatedDeclaration]
222 | displayName: "Generating swift files from proto files",
223 | executable: protocPath,
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Plugins/SwiftProtobufPlugin/plugin.swift:251:42: warning: 'pluginWorkDirectory' is deprecated: renamed to 'pluginWorkDirectoryURL' [#DeprecatedDeclaration]
249 | }
250 | return try createBuildCommands(
251 | pluginWorkDirectory: context.pluginWorkDirectory,
| |- warning: 'pluginWorkDirectory' is deprecated: renamed to 'pluginWorkDirectoryURL' [#DeprecatedDeclaration]
| `- note: use 'pluginWorkDirectoryURL' instead
252 | sourceFiles: swiftTarget.sourceFiles,
253 | tool: context.tool
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[5/5] Compiling plugin SwiftProtobufPlugin
Building for debugging...
[5/13] Write sources
[5/13] Copying PrivacyInfo.xcprivacy
[5/13] Write sources
[12/13] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[14/17] Emitting module SwiftProtobuf
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Sources/SwiftProtobuf/AnyMessageStorage.swift:16:8: error: no such module 'Foundation'
14 | // -----------------------------------------------------------------------------
15 |
16 | import Foundation
| `- error: no such module 'Foundation'
17 |
18 | private func serializeAnyJSON(
[15/17] Compiling SwiftProtobuf AnyMessageStorage.swift
/host/spi-builder-workspace/.build/checkouts/swift-protobuf/Sources/SwiftProtobuf/AnyMessageStorage.swift:16:8: error: no such module 'Foundation'
14 | // -----------------------------------------------------------------------------
15 |
16 | import Foundation
| `- error: no such module 'Foundation'
17 |
18 | private func serializeAnyJSON(
BUILD FAILURE 6.2 wasm