The Swift Package Index logo.Swift Package Index

Build Information

Failed to build UPnPCast, reference 1.0.0 (3550fd), with Swift 6.2 for Linux on 3 Oct 2026 06:17:19 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/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:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/CreatureSurvive/UPnPCast.git
Reference: 1.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/CreatureSurvive/UPnPCast
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at 3550fd5 Harden against hostile input
Cloned https://github.com/CreatureSurvive/UPnPCast.git
Revision (git rev-parse @):
3550fd5c940f09faebedcb0e6f63593db475265f
SUCCESS checkout https://github.com/CreatureSurvive/UPnPCast.git at 1.0.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.2
Building package at path:  $PWD
https://github.com/CreatureSurvive/UPnPCast.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/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:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:813c8e8a77634154d7d247705cb89167ff1c866446abbe321f542129dc4cf5a7
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.2-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/8] Compiling UPnPCast SOAP.swift
/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: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/SOAP.swift:5:16: error: stored property 'session' of 'Sendable'-conforming struct 'SOAPClient' has non-Sendable type 'URLSession' (aka '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 'URLSession' (aka 'AnyObject')
  6 |     public var timeout: TimeInterval
  7 |
/host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift:20:23: error: cannot find 'URLRequest' in scope
 18 |
 19 |     public func invoke(_ action: String, on service: UPnPService, orderedArguments: [(String, String)]) async throws -> [String: String] {
 20 |         var request = URLRequest(url: service.controlURL, timeoutInterval: timeout)
    |                       `- error: cannot find 'URLRequest' in scope
 21 |         request.httpMethod = "POST"
 22 |         request.setValue("text/xml; charset=\"utf-8\"", forHTTPHeaderField: "Content-Type")
/host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift:28:23: error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |
 27 |         let data: Data
 28 |         let response: URLResponse
    |                       `- error: 'URLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 29 |         do {
 30 |             (data, response) = try await session.data(for: request)
Foundation.URLResponse:2:18: note: 'URLResponse' 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 URLResponse = AnyObject
  |                  `- note: 'URLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift:30:50: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 28 |         let response: URLResponse
 29 |         do {
 30 |             (data, response) = try await session.data(for: request)
    |                                                  `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 31 |         } catch {
 32 |             throw UPnPError.network(error.localizedDescription)
/host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift:34:32: warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
 32 |             throw UPnPError.network(error.localizedDescription)
 33 |         }
 34 |         let status = (response as? HTTPURLResponse)?.statusCode ?? 200
    |                                `- warning: conditional cast from 'URLResponse' (aka 'AnyObject') to 'HTTPURLResponse' (aka 'AnyObject') always succeeds
 35 |         if status == 500, let fault = Self.fault(in: data) { throw fault }
 36 |         guard (200...299).contains(status) else { throw UPnPError.httpStatus(status) }
/host/spi-builder-workspace/Sources/UPnPCast/SOAP.swift:34:54: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 32 |             throw UPnPError.network(error.localizedDescription)
 33 |         }
 34 |         let status = (response as? HTTPURLResponse)?.statusCode ?? 200
    |                                                      `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 35 |         if status == 500, let fault = Self.fault(in: data) { throw fault }
 36 |         guard (200...299).contains(status) else { throw UPnPError.httpStatus(status) }
[4/8] Compiling UPnPCast SSDP.swift
/host/spi-builder-workspace/Sources/UPnPCast/SSDP.swift:104:34: error: cannot convert value of type '__socket_type' to expected argument type 'Int32'
102 |
103 |     private static func runSearch(target: String, duration: TimeInterval, cancelled: CancellationFlag, continuation: AsyncThrowingStream<SSDPResponse, any Error>.Continuation) throws {
104 |         let fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
    |                                  `- error: cannot convert value of type '__socket_type' to expected argument type 'Int32'
105 |         guard fd >= 0 else { throw UPnPError.network("socket() failed: \(errnoDescription())") }
106 |         defer { close(fd) }
/host/spi-builder-workspace/Sources/UPnPCast/SSDP.swift:104:46: error: cannot convert value of type 'Int' to expected argument type 'Int32'
102 |
103 |     private static func runSearch(target: String, duration: TimeInterval, cancelled: CancellationFlag, continuation: AsyncThrowingStream<SSDPResponse, any Error>.Continuation) throws {
104 |         let fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
    |                                              `- error: cannot convert value of type 'Int' to expected argument type 'Int32'
105 |         guard fd >= 0 else { throw UPnPError.network("socket() failed: \(errnoDescription())") }
106 |         defer { close(fd) }
/host/spi-builder-workspace/Sources/UPnPCast/SSDP.swift:109:24: error: cannot convert value of type 'Int' to expected argument type 'Int32'
107 |
108 |         var ttl: UInt8 = 2
109 |         setsockopt(fd, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, socklen_t(MemoryLayout<UInt8>.size))
    |                        `- error: cannot convert value of type 'Int' to expected argument type 'Int32'
110 |         var reuse: Int32 = 1
111 |         setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &reuse, socklen_t(MemoryLayout<Int32>.size))
[5/8] Compiling UPnPCast UPnPDevice.swift
/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
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:95:23: error: cannot find 'URLRequest' in scope
 93 |     /// Downloads and parses a device description.
 94 |     public static func load(from url: URL, session: URLSession = .shared) async throws -> UPnPDevice {
 95 |         var request = URLRequest(url: url, timeoutInterval: 10)
    |                       `- error: cannot find 'URLRequest' in scope
 96 |         request.setValue("UPnPCast/1.0 UPnP/1.1", forHTTPHeaderField: "User-Agent")
 97 |         let (data, response) = try await session.data(for: request)
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:97:50: error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 95 |         var request = URLRequest(url: url, timeoutInterval: 10)
 96 |         request.setValue("UPnPCast/1.0 UPnP/1.1", forHTTPHeaderField: "User-Agent")
 97 |         let (data, response) = try await session.data(for: request)
    |                                                  `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'data'
 98 |         if let http = response as? HTTPURLResponse, !(200...299).contains(http.statusCode) {
 99 |             throw UPnPError.httpStatus(http.statusCode)
/host/spi-builder-workspace/Sources/UPnPCast/UPnPDevice.swift:210:22: error: 'XMLParser' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
208 |     static func parse(_ data: Data) throws -> Element {
209 |         let delegate = Delegate()
210 |         let parser = XMLParser(data: data)
    |                      `- error: 'XMLParser' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
211 |         parser.shouldProcessNamespaces = false
212 |         parser.shouldResolveExternalEntities = false
[6/8] Compiling UPnPCast MediaRenderer.swift
/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: 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: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: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: 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/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 |     }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/8] Emitting module UPnPCast
/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/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/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 'URLSession' (aka '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 'URLSession' (aka '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
[8/8] Compiling UPnPCast DIDL.swift
BUILD FAILURE 6.2 linux