The Swift Package Index logo.Swift Package Index

Build Information

Failed to build UPnPCast, reference main (a91355), with Swift 6.4 for Wasm on 3 Oct 2026 06:30:08 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344844-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

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/CreatureSurvive/UPnPCast.git
Reference: main
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/CreatureSurvive/UPnPCast
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at a91355a README: minimum toolchain is Swift 6.1 (Xcode 16.4), as tested in CI
Cloned https://github.com/CreatureSurvive/UPnPCast.git
Revision (git rev-parse @):
a91355ad69975496e7e86518c63664351bee4986
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/CreatureSurvive/UPnPCast.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/CreatureSurvive/UPnPCast.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Building for debugging...
[Planning deferred tasks]
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line:     cd /host

/host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift:8:40: error: value of type '_' expected to be instance of class or class-constrained type
  6 |     public var timeout: TimeInterval
  7 |
  8 |     public init(session: URLSession = .shared, timeout: TimeInterval = 10) {
    |                                        `- error: value of type '_' expected to be instance of class or class-constrained type
  9 |         self.session = session
 10 |         self.timeout = timeout
/host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift:8:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
  6 |     public var timeout: TimeInterval
  7 |
  8 |     public init(session: URLSession = .shared, timeout: TimeInterval = 10) {
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
  9 |         self.session = session
 10 |         self.timeout = timeout
/host/spi-builder-workspace/Sources/UPnPCast/MediaRenderer.swift:81:76: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 79 |
 80 |     /// Discovers media renderers on the local network.
 81 |     public static func discover(duration: Duration = .seconds(3), session: URLSession = .shared) async throws -> [MediaRenderer] {
    |                                                                            `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 82 |         let responses = try await SSDP.discover(target: SSDP.SearchTarget.mediaRenderer, duration: duration)
 83 |         let locations = Set(responses.map(\.location))
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/UPnPCast/MediaRenderer.swift:81:90: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 79 |
 80 |     /// Discovers media renderers on the local network.
 81 |     public static func discover(duration: Duration = .seconds(3), session: URLSession = .shared) async throws -> [MediaRenderer] {
    |                                                                                          `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 82 |         let responses = try await SSDP.discover(target: SSDP.SearchTarget.mediaRenderer, duration: duration)
 83 |         let locations = Set(responses.map(\.location))
/host/spi-builder-workspace/Sources/UPnPCast/MediaRenderer.swift:81:90: error: value of type '_' expected to be instance of class or class-constrained type
 79 |
 80 |     /// Discovers media renderers on the local network.
 81 |     public static func discover(duration: Duration = .seconds(3), session: URLSession = .shared) async throws -> [MediaRenderer] {
    |                                                                                          `- error: value of type '_' expected to be instance of class or class-constrained type
 82 |         let responses = try await SSDP.discover(target: SSDP.SearchTarget.mediaRenderer, duration: duration)
 83 |         let locations = Set(responses.map(\.location))
/host/spi-builder-workspace/Sources/UPnPCast/MediaRenderer.swift:100:62: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 98 |
 99 |     /// Connects to a renderer whose description URL is known.
100 |     public static func connect(descriptionURL: URL, session: URLSession = .shared) async throws -> MediaRenderer {
    |                                                              `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
101 |         try MediaRenderer(device: try await UPnPDevice.load(from: descriptionURL, session: session), soap: SOAPClient(session: session))
102 |     }
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/UPnPCast/MediaRenderer.swift:100:76: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 98 |
 99 |     /// Connects to a renderer whose description URL is known.
100 |     public static func connect(descriptionURL: URL, session: URLSession = .shared) async throws -> MediaRenderer {
    |                                                                            `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
101 |         try MediaRenderer(device: try await UPnPDevice.load(from: descriptionURL, session: session), soap: SOAPClient(session: session))
102 |     }
/host/spi-builder-workspace/Sources/UPnPCast/MediaRenderer.swift:100:76: error: value of type '_' expected to be instance of class or class-constrained type
 98 |
 99 |     /// Connects to a renderer whose description URL is known.
100 |     public static func connect(descriptionURL: URL, session: URLSession = .shared) async throws -> MediaRenderer {
    |                                                                            `- error: value of type '_' expected to be instance of class or class-constrained type
101 |         try MediaRenderer(device: try await UPnPDevice.load(from: descriptionURL, session: session), soap: SOAPClient(session: session))
102 |     }
/host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift:5:25: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
  3 | /// Invokes UPnP actions over SOAP.
  4 | public struct SOAPClient: Sendable {
  5 |     public var session: URLSession
    |                         `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
  6 |     public var timeout: TimeInterval
  7 |
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift:8:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
  6 |     public var timeout: TimeInterval
  7 |
  8 |     public init(session: URLSession = .shared, timeout: TimeInterval = 10) {
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
  9 |         self.session = session
 10 |         self.timeout = timeout
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift:5:16: error: stored property 'session' of 'Sendable'-conforming struct 'SOAPClient' has non-Sendable type 'AnyObject'
  3 | /// Invokes UPnP actions over SOAP.
  4 | public struct SOAPClient: Sendable {
  5 |     public var session: URLSession
    |                `- error: stored property 'session' of 'Sendable'-conforming struct 'SOAPClient' has non-Sendable type 'AnyObject'
  6 |     public var timeout: TimeInterval
  7 |
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:94:53: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 92 |
 93 |     /// Downloads and parses a device description.
 94 |     public static func load(from url: URL, session: URLSession = .shared) async throws -> UPnPDevice {
    |                                                     `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 95 |         var request = URLRequest(url: url, timeoutInterval: 10)
 96 |         request.setValue("UPnPCast/1.0 UPnP/1.1", forHTTPHeaderField: "User-Agent")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:94:67: error: value of type '_' expected to be instance of class or class-constrained type
 92 |
 93 |     /// Downloads and parses a device description.
 94 |     public static func load(from url: URL, session: URLSession = .shared) async throws -> UPnPDevice {
    |                                                                   `- error: value of type '_' expected to be instance of class or class-constrained type
 95 |         var request = URLRequest(url: url, timeoutInterval: 10)
 96 |         request.setValue("UPnPCast/1.0 UPnP/1.1", forHTTPHeaderField: "User-Agent")
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:94:67: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 92 |
 93 |     /// Downloads and parses a device description.
 94 |     public static func load(from url: URL, session: URLSession = .shared) async throws -> UPnPDevice {
    |                                                                   `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 95 |         var request = URLRequest(url: url, timeoutInterval: 10)
 96 |         request.setValue("UPnPCast/1.0 UPnP/1.1", forHTTPHeaderField: "User-Agent")
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:220:45: error: cannot find type 'XMLParserDelegate' in scope
218 |     }
219 |
220 |     private final class Delegate: NSObject, XMLParserDelegate {
    |                                             `- error: cannot find type 'XMLParserDelegate' in scope
221 |         var root: Element?
222 |         var stack: [Element] = []
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:224:31: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
222 |         var stack: [Element] = []
223 |
224 |         func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName: String?, attributes: [String: String] = [:]) {
    |                               `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
225 |             let local = elementName.split(separator: ":").last.map(String.init) ?? elementName
226 |             let element = Element(name: local, attributes: attributes)
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:231:31: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
229 |         }
230 |
231 |         func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName: String?) {
    |                               `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
232 |             _ = stack.popLast()
233 |         }
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:235:31: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
233 |         }
234 |
235 |         func parser(_ parser: XMLParser, foundCharacters string: String) {
    |                               `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
236 |             stack.last?.textParts.append(string)
237 |         }
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:239:31: error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
237 |         }
238 |
239 |         func parser(_ parser: XMLParser, foundCDATA CDATABlock: Data) {
    |                               `- error: 'XMLParser' is unavailable: This type has moved to the FoundationXML module. Import that module to use it.
240 |             stack.last?.textParts.append(String(decoding: CDATABlock, as: UTF8.self))
241 |         }
Foundation.XMLParser:2:18: note: 'XMLParser' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationXML module. Import that module to use it.")
2 | public typealias XMLParser = AnyObject
  |                  `- note: 'XMLParser' has been explicitly marked unavailable here
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/UPnPCast/DIDL.swift /host/spi-builder-workspace/Sources/UPnPCast/MediaRenderer.swift /host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift /host/spi-builder-workspace/Sources/UPnPCast/SSDP.swift /host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift -target wasm32-unknown-wasip1 -disable-objc-interop -sdk /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -sysroot /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -I /host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 6 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-upcoming-feature ExistentialAny -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/UPnPCast.build/Debug-webassembly-wasm32/UPnPCast-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/UPnPCast.build/Debug-webassembly-wasm32/UPnPCast-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/UPnPCast.build/Debug-webassembly-wasm32/UPnPCast-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name UPnPCast -package-name spi_builder_workspace -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/UPnPCast.build/Debug-webassembly-wasm32/UPnPCast-t.build/Objects-normal/wasm32/UPnPCast_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/UPnPCast.build/Debug-webassembly-wasm32/UPnPCast-t.build/Objects-normal/wasm32/Modules/UPnPCast.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/UPnPCast.build/Debug-webassembly-wasm32/UPnPCast-t.build/Objects-normal/wasm32/Modules/UPnPCast.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/UPnPCast.build/Debug-webassembly-wasm32/UPnPCast-t.build/Objects-normal/wasm32/UPnPCast-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/UPnPCast.build/Debug-webassembly-wasm32/UPnPCast-t.build/Objects-normal/wasm32/UPnPCast-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/UPnPCast.build/Debug-webassembly-wasm32/UPnPCast-t.build/Objects-normal/wasm32/UPnPCast-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/UPnPCast.build/Debug-webassembly-wasm32/UPnPCast-t.build/Objects-normal/wasm32/Modules/UPnPCast.swiftmodule
error: Build failed
BUILD FAILURE 6.4 wasm