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>&1Build 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