The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SwiftSimctl, reference 0.4.2 (7cda25), with Swift 6.3 for Linux on 12 Apr 2026 20:17:48 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ctreffs/SwiftSimctl.git
Reference: 0.4.2
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/ctreffs/SwiftSimctl
 * tag               0.4.2      -> FETCH_HEAD
HEAD is now at 7cda257 Add get_app_container command (#18)
Cloned https://github.com/ctreffs/SwiftSimctl.git
Revision (git rev-parse @):
7cda257c97cf6aecab0adca63e6b9a2816c75281
SUCCESS checkout https://github.com/ctreffs/SwiftSimctl.git at 0.4.2
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.3
Building package at path:  $PWD
https://github.com/ctreffs/SwiftSimctl.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:5a7d791d2ead8a924b1292cb31bf3288eabcfe8880e0b005b00b45b71a5bc36a
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest
Fetching https://github.com/JohnSundell/ShellOut.git
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/httpswift/swifter.git
[1/6050] Fetching swifter
[1574/23573] Fetching swifter, swift-argument-parser
[4971/24553] Fetching swifter, swift-argument-parser, shellout
Fetched https://github.com/apple/swift-argument-parser from cache (1.68s)
Fetched https://github.com/JohnSundell/ShellOut.git from cache (1.70s)
Fetched https://github.com/httpswift/swifter.git from cache (1.77s)
Computing version for https://github.com/httpswift/swifter.git
Computed https://github.com/httpswift/swifter.git at 1.5.0 (2.62s)
Computing version for https://github.com/JohnSundell/ShellOut.git
Computed https://github.com/JohnSundell/ShellOut.git at 2.3.0 (3.89s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 0.5.0 (0.83s)
Creating working copy for https://github.com/httpswift/swifter.git
Working copy of https://github.com/httpswift/swifter.git resolved at 1.5.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 0.5.0
Creating working copy for https://github.com/JohnSundell/ShellOut.git
Working copy of https://github.com/JohnSundell/ShellOut.git resolved at 2.3.0
Building for debugging...
[0/16] Write sources
[7/16] Write swift-version-24593BA9C3E375BF.txt
[9/41] Emitting module ShellOut
[10/41] Emitting module Swifter
[11/43] Emitting module ArgumentParserToolInfo
[12/43] Compiling ArgumentParserToolInfo ToolInfo.swift
[13/44] Wrapping AST for ArgumentParserToolInfo for debugging
[15/78] Emitting module ArgumentParser
[16/82] Compiling ArgumentParser Option.swift
[17/82] Compiling ArgumentParser OptionGroup.swift
[18/82] Compiling ArgumentParser CommandConfiguration.swift
[19/82] Compiling ArgumentParser EnumerableFlag.swift
[20/82] Compiling ArgumentParser ExpressibleByArgument.swift
[21/82] Compiling ArgumentParser ParsedValues.swift
[22/82] Compiling ArgumentParser ParserError.swift
[23/82] Compiling ArgumentParser SplitArguments.swift
[24/82] Compiling ArgumentParser DumpHelpGenerator.swift
[26/82] Compiling ArgumentParser ArgumentHelp.swift
[27/82] Compiling ArgumentParser BashCompletionsGenerator.swift
[28/82] Compiling ArgumentParser CompletionsGenerator.swift
[29/82] Compiling ArgumentParser FishCompletionsGenerator.swift
[33/82] Compiling ArgumentParser Name.swift
[34/82] Compiling ArgumentParser Parsed.swift
[36/82] Compiling ArgumentParser CompletionKind.swift
[37/82] Compiling ArgumentParser Errors.swift
[38/82] Compiling ArgumentParser Flag.swift
[39/82] Compiling ArgumentParser NameSpecification.swift
[40/82] Compiling ArgumentParser ZshCompletionsGenerator.swift
[41/82] Compiling ArgumentParser Argument.swift
[43/82] Compiling ShellOut ShellOut.swift
[45/83] Compiling ArgumentParser CollectionExtensions.swift
[46/83] Compiling ArgumentParser SequenceExtensions.swift
[47/83] Compiling ArgumentParser StringExtensions.swift
[48/83] Compiling ArgumentParser Tree.swift
[51/83] Compiling ArgumentParser ArgumentSet.swift
[52/83] Compiling ArgumentParser CommandParser.swift
[53/83] Compiling ArgumentParser InputOrigin.swift
[66/84] Wrapping AST for ShellOut for debugging
[68/84] Emitting module SimctlShared
[69/84] Compiling SimctlShared SimctlShared.swift
[70/85] Compiling ArgumentParser HelpCommand.swift
[71/85] Compiling ArgumentParser HelpGenerator.swift
[72/85] Compiling ArgumentParser MessageInfo.swift
[73/85] Compiling ArgumentParser UsageGenerator.swift
[73/85] Wrapping AST for Swifter for debugging
[76/85] Compiling ArgumentParser ParsableArguments.swift
[77/85] Compiling ArgumentParser ParsableArgumentsValidation.swift
[78/85] Compiling ArgumentParser ParsableCommand.swift
[79/85] Compiling ArgumentParser ArgumentDecoder.swift
[80/85] Compiling ArgumentParser ArgumentDefinition.swift
[81/86] Wrapping AST for SimctlShared for debugging
[82/92] Wrapping AST for ArgumentParser for debugging
[84/95] Compiling Simctl SimctlClient.swift
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:17:8: error: Unsupported platform!
 15 | import AppKit
 16 | #else
 17 | #error("Unsupported platform!")
    |        `- error: Unsupported platform!
 18 | #endif
 19 |
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:10:14: error: type alias 'URLSession' (aka 'AnyObject') cannot be imported as 'class'
  8 | import struct Foundation.UUID
  9 | import struct Foundation.Data
 10 | import class Foundation.URLSession
    |              `- error: type alias 'URLSession' (aka 'AnyObject') cannot be imported as 'class'
 11 | import SimctlShared
 12 | #if canImport(UIKit)
Foundation.URLSession:2:18: note: 'URLSession' declared 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' declared here
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:32:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 30 |     static var host: Host = .localhost(port: 8080)
 31 |
 32 |     let session: URLSession
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 33 |     let env: SimctlClientEnvironment
 34 |
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/Simctl/SimctlClient.swift:129:32: error: cannot find type 'URL' in scope
127 |     /// - Parameter url: URL to open.
128 |     /// - Parameter completion: Result callback of the call. Use this to wait for an expectation to fulfill in a test case.
129 |     public func openUrl(_ url: URL, completion: @escaping DataTaskCallback) {
    |                                `- error: cannot find type 'URL' in scope
130 |         dataTask(.openURL(env, URLContainer(url: url)), completion)
131 |     }
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:170:51: error: cannot find type 'Bundle' in scope
168 |     ///   - bundle: Bundle of the app you want to interact with.
169 |     ///   - processInfo: The process info from where to get the device Udid.
170 |     public init?(host: SimctlClient.Host, bundle: Bundle, processInfo: ProcessInfo) {
    |                                                   `- error: cannot find type 'Bundle' in scope
171 |         guard let udid = Self.deviceId(processInfo) else {
172 |             return nil
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:170:72: error: cannot find type 'ProcessInfo' in scope
168 |     ///   - bundle: Bundle of the app you want to interact with.
169 |     ///   - processInfo: The process info from where to get the device Udid.
170 |     public init?(host: SimctlClient.Host, bundle: Bundle, processInfo: ProcessInfo) {
    |                                                                        `- error: cannot find type 'ProcessInfo' in scope
171 |         guard let udid = Self.deviceId(processInfo) else {
172 |             return nil
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:194:41: error: cannot find type 'ProcessInfo' in scope
192 |     }
193 |
194 |     static func deviceId(_ processInfo: ProcessInfo) -> UUID? {
    |                                         `- error: cannot find type 'ProcessInfo' in scope
195 |         guard let udidString = processInfo.environment[ProcessEnvironmentKey.simulatorUdid.rawValue] else {
196 |             return nil
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:251:46: error: cannot find type 'HTTPURLResponse' in scope
249 |     public enum Error: Swift.Error {
250 |         case noHttpResponse(Route)
251 |         case unexpectedHttpStatusCode(Route, HTTPURLResponse)
    |                                              `- error: cannot find type 'HTTPURLResponse' in scope
252 |         case noData(Route, HTTPURLResponse)
253 |         case serviceError(Swift.Error)
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:252:28: error: cannot find type 'HTTPURLResponse' in scope
250 |         case noHttpResponse(Route)
251 |         case unexpectedHttpStatusCode(Route, HTTPURLResponse)
252 |         case noData(Route, HTTPURLResponse)
    |                            `- error: cannot find type 'HTTPURLResponse' in scope
253 |         case serviceError(Swift.Error)
254 |     }
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:405:25: error: cannot find type 'URL' in scope
403 |         }
404 |
405 |         func asURL() -> URL {
    |                         `- error: cannot find type 'URL' in scope
406 |             let urlString: String = SimctlClient.host.host + path.rawValue
407 |             guard let url = URL(string: urlString) else {
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:414:32: error: cannot find type 'URLRequest' in scope
412 |         }
413 |
414 |         func asURLRequest() -> URLRequest {
    |                                `- error: cannot find type 'URLRequest' in scope
415 |             var request = URLRequest(url: asURL())
416 |
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:43:19: error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 41 |     /// Start client in a given environment.
 42 |     public init(environment: SimctlClientEnvironment) {
 43 |         session = URLSession(configuration: .default)
    |                   `- error: 'URLSession' (aka 'AnyObject') cannot be constructed because it has no accessible initializers
 44 |         Self.host = environment.host
 45 |         self.env = environment
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:43:46: error: cannot infer contextual base in reference to member 'default'
 41 |     /// Start client in a given environment.
 42 |     public init(environment: SimctlClientEnvironment) {
 43 |         session = URLSession(configuration: .default)
    |                                              `- error: cannot infer contextual base in reference to member 'default'
 44 |         Self.host = environment.host
 45 |         self.env = environment
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:188:40: error: cannot find 'ProcessInfo' in scope
186 |     ///   - host: The host and port of the SimctlCLI server.
187 |     public init?(bundleIdentifier: String, host: SimctlClient.Host) {
188 |         guard let udid = Self.deviceId(ProcessInfo()) else {
    |                                        `- error: cannot find 'ProcessInfo' in scope
189 |             return nil
190 |         }
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:379:27: error: cannot find 'JSONEncoder' in scope
377 |
378 |         @inlinable var httpBody: Data? {
379 |             let encoder = JSONEncoder()
    |                           `- error: cannot find 'JSONEncoder' in scope
380 |             switch self {
381 |             case let .sendPushNotification(_, notification):
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:407:29: error: cannot find 'URL' in scope
405 |         func asURL() -> URL {
406 |             let urlString: String = SimctlClient.host.host + path.rawValue
407 |             guard let url = URL(string: urlString) else {
    |                             `- error: cannot find 'URL' in scope
408 |                 fatalError("no valid url \(urlString)")
409 |             }
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:415:27: error: cannot find 'URLRequest' in scope
413 |
414 |         func asURLRequest() -> URLRequest {
415 |             var request = URLRequest(url: asURL())
    |                           `- error: cannot find 'URLRequest' in scope
416 |
417 |             request.httpMethod = httpMethod.rawValue
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:444:35: error: cannot find 'JSONDecoder' in scope
442 |             case let .success(data):
443 |                 do {
444 |                     let decoder = JSONDecoder()
    |                                   `- error: cannot find 'JSONDecoder' in scope
445 |                     let value: Value = try decoder.decode(Value.self, from: data)
446 |                     completion(.success(value))
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:456:28: error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
454 |
455 |     func dataTask(_ route: Route, _ completion: @escaping DataTaskCallback) {
456 |         let task = session.dataTask(with: route.asURLRequest()) { data, urlResponse, error in
    |                            `- error: value of type 'URLSession' (aka 'AnyObject') has no member 'dataTask'
457 |             if let error = error {
458 |                 completion(.failure(Error.serviceError(error)))
error: emit-module command failed with exit code 1 (use -v to see invocation)
[85/95] Emitting module Simctl
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:17:8: error: Unsupported platform!
 15 | import AppKit
 16 | #else
 17 | #error("Unsupported platform!")
    |        `- error: Unsupported platform!
 18 | #endif
 19 |
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:10:14: error: type alias 'URLSession' (aka 'AnyObject') cannot be imported as 'class'
  8 | import struct Foundation.UUID
  9 | import struct Foundation.Data
 10 | import class Foundation.URLSession
    |              `- error: type alias 'URLSession' (aka 'AnyObject') cannot be imported as 'class'
 11 | import SimctlShared
 12 | #if canImport(UIKit)
Foundation.URLSession:2:18: note: 'URLSession' declared 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' declared here
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:32:18: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 30 |     static var host: Host = .localhost(port: 8080)
 31 |
 32 |     let session: URLSession
    |                  `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 33 |     let env: SimctlClientEnvironment
 34 |
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/Simctl/SimctlClient.swift:129:32: error: cannot find type 'URL' in scope
127 |     /// - Parameter url: URL to open.
128 |     /// - Parameter completion: Result callback of the call. Use this to wait for an expectation to fulfill in a test case.
129 |     public func openUrl(_ url: URL, completion: @escaping DataTaskCallback) {
    |                                `- error: cannot find type 'URL' in scope
130 |         dataTask(.openURL(env, URLContainer(url: url)), completion)
131 |     }
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:170:51: error: cannot find type 'Bundle' in scope
168 |     ///   - bundle: Bundle of the app you want to interact with.
169 |     ///   - processInfo: The process info from where to get the device Udid.
170 |     public init?(host: SimctlClient.Host, bundle: Bundle, processInfo: ProcessInfo) {
    |                                                   `- error: cannot find type 'Bundle' in scope
171 |         guard let udid = Self.deviceId(processInfo) else {
172 |             return nil
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:170:72: error: cannot find type 'ProcessInfo' in scope
168 |     ///   - bundle: Bundle of the app you want to interact with.
169 |     ///   - processInfo: The process info from where to get the device Udid.
170 |     public init?(host: SimctlClient.Host, bundle: Bundle, processInfo: ProcessInfo) {
    |                                                                        `- error: cannot find type 'ProcessInfo' in scope
171 |         guard let udid = Self.deviceId(processInfo) else {
172 |             return nil
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:194:41: error: cannot find type 'ProcessInfo' in scope
192 |     }
193 |
194 |     static func deviceId(_ processInfo: ProcessInfo) -> UUID? {
    |                                         `- error: cannot find type 'ProcessInfo' in scope
195 |         guard let udidString = processInfo.environment[ProcessEnvironmentKey.simulatorUdid.rawValue] else {
196 |             return nil
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:251:46: error: cannot find type 'HTTPURLResponse' in scope
249 |     public enum Error: Swift.Error {
250 |         case noHttpResponse(Route)
251 |         case unexpectedHttpStatusCode(Route, HTTPURLResponse)
    |                                              `- error: cannot find type 'HTTPURLResponse' in scope
252 |         case noData(Route, HTTPURLResponse)
253 |         case serviceError(Swift.Error)
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:252:28: error: cannot find type 'HTTPURLResponse' in scope
250 |         case noHttpResponse(Route)
251 |         case unexpectedHttpStatusCode(Route, HTTPURLResponse)
252 |         case noData(Route, HTTPURLResponse)
    |                            `- error: cannot find type 'HTTPURLResponse' in scope
253 |         case serviceError(Swift.Error)
254 |     }
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:405:25: error: cannot find type 'URL' in scope
403 |         }
404 |
405 |         func asURL() -> URL {
    |                         `- error: cannot find type 'URL' in scope
406 |             let urlString: String = SimctlClient.host.host + path.rawValue
407 |             guard let url = URL(string: urlString) else {
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:414:32: error: cannot find type 'URLRequest' in scope
412 |         }
413 |
414 |         func asURLRequest() -> URLRequest {
    |                                `- error: cannot find type 'URLRequest' in scope
415 |             var request = URLRequest(url: asURL())
416 |
/host/spi-builder-workspace/Sources/Simctl/SimctlClient.swift:379:27: error: cannot find 'JSONEncoder' in scope
377 |
378 |         @inlinable var httpBody: Data? {
379 |             let encoder = JSONEncoder()
    |                           `- error: cannot find 'JSONEncoder' in scope
380 |             switch self {
381 |             case let .sendPushNotification(_, notification):
BUILD FAILURE 6.3 linux