Build Information
Failed to build swift-midi-controlsurfaces, reference 1.0.0 (258c28), with Swift 6.0 for Linux on 27 Apr 2026 07:19:47 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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.0-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/orchetect/swift-midi-controlsurfaces.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/orchetect/swift-midi-controlsurfaces
* tag 1.0.0 -> FETCH_HEAD
HEAD is now at 258c28e Set swift-midi-core dependency to 1.0.0
Cloned https://github.com/orchetect/swift-midi-controlsurfaces.git
Revision (git rev-parse @):
258c28eb1d0cbdc8aa43904b190e1483f91e6982
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/orchetect/swift-midi-controlsurfaces.git at 1.0.0
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/orchetect/swift-midi-controlsurfaces.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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.0-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.0-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:6ccbc5e7995f6c524368c1828f9c677d1727c16390a603fc668217aec5f5123a
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-6.0-latest
Fetching https://github.com/orchetect/swift-midi-core
[1/1472] Fetching swift-midi-core
Fetched https://github.com/orchetect/swift-midi-core from cache (0.31s)
Computing version for https://github.com/orchetect/swift-midi-core
Computed https://github.com/orchetect/swift-midi-core at 1.0.0 (0.98s)
Creating working copy for https://github.com/orchetect/swift-midi-core
Working copy of https://github.com/orchetect/swift-midi-core resolved at 1.0.0
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/25] Emitting module SwiftMIDIInternals
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:48:48: error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
46 | leeway: DispatchTimeInterval = .nanoseconds(0),
47 | queue: DispatchQueue? = nil,
48 | eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
| `- error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
49 | ) {
50 | self.rate = rate
Dispatch.DispatchSource:1:14: note: 'DispatchSource' declared here
1 | public class DispatchSource : DispatchObject, @unchecked Sendable, DispatchSourceProtocol, DispatchSourceRead, DispatchSourceSignal, DispatchSourceTimer, DispatchSourceUserDataAdd, DispatchSourceUserDataOr, DispatchSourceUserDataReplace, DispatchSourceWrite {
| `- note: 'DispatchSource' declared here
2 | deinit
3 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:48:23: error: @escaping attribute only applies to function types
46 | leeway: DispatchTimeInterval = .nanoseconds(0),
47 | queue: DispatchQueue? = nil,
48 | eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
| `- error: @escaping attribute only applies to function types
49 | ) {
50 | self.rate = rate
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:123:67: error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
121 |
122 | /// Set the event handler closure that the timer executes
123 | public func setEventHandler(handler: @escaping DispatchSource.DispatchSourceHandler) {
| `- error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
124 | timer.setEventHandler(handler: handler)
125 | }
Dispatch.DispatchSource:1:14: note: 'DispatchSource' declared here
1 | public class DispatchSource : DispatchObject, @unchecked Sendable, DispatchSourceProtocol, DispatchSourceRead, DispatchSourceSignal, DispatchSourceTimer, DispatchSourceUserDataAdd, DispatchSourceUserDataOr, DispatchSourceUserDataReplace, DispatchSourceWrite {
| `- note: 'DispatchSource' declared here
2 | deinit
3 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:123:42: error: @escaping attribute only applies to function types
121 |
122 | /// Set the event handler closure that the timer executes
123 | public func setEventHandler(handler: @escaping DispatchSource.DispatchSourceHandler) {
| `- error: @escaping attribute only applies to function types
124 | timer.setEventHandler(handler: handler)
125 | }
[6/27] Compiling SwiftMIDIInternals ThreadSynchronizedPThreadMutex.swift
[7/27] Compiling SwiftMIDIInternals ThreadSynchronizedPThreadMutexValue.swift
[8/27] Compiling SwiftMIDIInternals PThreadMutex.swift
[9/27] Compiling SwiftMIDIInternals PThreadMutexValue.swift
[10/27] Compiling SwiftMIDIInternals ThreadSynchronized.swift
[11/27] Compiling SwiftMIDIInternals ThreadSynchronizedValue.swift
[12/27] Compiling SwiftMIDIInternals Utilities.swift
[13/27] Compiling SwiftMIDIInternals Collections.swift
[14/27] Compiling SwiftMIDIInternals Integers.swift
[15/27] Compiling SwiftMIDIInternals Ranges.swift
[16/27] Compiling SwiftMIDIInternals SafeDispatchTimer.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:48:48: error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
46 | leeway: DispatchTimeInterval = .nanoseconds(0),
47 | queue: DispatchQueue? = nil,
48 | eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
| `- error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
49 | ) {
50 | self.rate = rate
Dispatch.DispatchSource:1:14: note: 'DispatchSource' declared here
1 | public class DispatchSource : DispatchObject, @unchecked Sendable, DispatchSourceProtocol, DispatchSourceRead, DispatchSourceSignal, DispatchSourceTimer, DispatchSourceUserDataAdd, DispatchSourceUserDataOr, DispatchSourceUserDataReplace, DispatchSourceWrite {
| `- note: 'DispatchSource' declared here
2 | deinit
3 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:48:23: error: @escaping attribute only applies to function types
46 | leeway: DispatchTimeInterval = .nanoseconds(0),
47 | queue: DispatchQueue? = nil,
48 | eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
| `- error: @escaping attribute only applies to function types
49 | ) {
50 | self.rate = rate
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:123:67: error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
121 |
122 | /// Set the event handler closure that the timer executes
123 | public func setEventHandler(handler: @escaping DispatchSource.DispatchSourceHandler) {
| `- error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
124 | timer.setEventHandler(handler: handler)
125 | }
Dispatch.DispatchSource:1:14: note: 'DispatchSource' declared here
1 | public class DispatchSource : DispatchObject, @unchecked Sendable, DispatchSourceProtocol, DispatchSourceRead, DispatchSourceSignal, DispatchSourceTimer, DispatchSourceUserDataAdd, DispatchSourceUserDataOr, DispatchSourceUserDataReplace, DispatchSourceWrite {
| `- note: 'DispatchSource' declared here
2 | deinit
3 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:123:42: error: @escaping attribute only applies to function types
121 |
122 | /// Set the event handler closure that the timer executes
123 | public func setEventHandler(handler: @escaping DispatchSource.DispatchSourceHandler) {
| `- error: @escaping attribute only applies to function types
124 | timer.setEventHandler(handler: handler)
125 | }
[17/27] Compiling SwiftMIDIInternals MainThreadSynchronizedPThreadMutex.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:48:48: error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
46 | leeway: DispatchTimeInterval = .nanoseconds(0),
47 | queue: DispatchQueue? = nil,
48 | eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
| `- error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
49 | ) {
50 | self.rate = rate
Dispatch.DispatchSource:1:14: note: 'DispatchSource' declared here
1 | public class DispatchSource : DispatchObject, @unchecked Sendable, DispatchSourceProtocol, DispatchSourceRead, DispatchSourceSignal, DispatchSourceTimer, DispatchSourceUserDataAdd, DispatchSourceUserDataOr, DispatchSourceUserDataReplace, DispatchSourceWrite {
| `- note: 'DispatchSource' declared here
2 | deinit
3 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:48:23: error: @escaping attribute only applies to function types
46 | leeway: DispatchTimeInterval = .nanoseconds(0),
47 | queue: DispatchQueue? = nil,
48 | eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
| `- error: @escaping attribute only applies to function types
49 | ) {
50 | self.rate = rate
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:123:67: error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
121 |
122 | /// Set the event handler closure that the timer executes
123 | public func setEventHandler(handler: @escaping DispatchSource.DispatchSourceHandler) {
| `- error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
124 | timer.setEventHandler(handler: handler)
125 | }
Dispatch.DispatchSource:1:14: note: 'DispatchSource' declared here
1 | public class DispatchSource : DispatchObject, @unchecked Sendable, DispatchSourceProtocol, DispatchSourceRead, DispatchSourceSignal, DispatchSourceTimer, DispatchSourceUserDataAdd, DispatchSourceUserDataOr, DispatchSourceUserDataReplace, DispatchSourceWrite {
| `- note: 'DispatchSource' declared here
2 | deinit
3 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:123:42: error: @escaping attribute only applies to function types
121 |
122 | /// Set the event handler closure that the timer executes
123 | public func setEventHandler(handler: @escaping DispatchSource.DispatchSourceHandler) {
| `- error: @escaping attribute only applies to function types
124 | timer.setEventHandler(handler: handler)
125 | }
[18/27] Compiling SwiftMIDIInternals MainThreadSynchronizedPThreadMutexValue.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:48:48: error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
46 | leeway: DispatchTimeInterval = .nanoseconds(0),
47 | queue: DispatchQueue? = nil,
48 | eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
| `- error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
49 | ) {
50 | self.rate = rate
Dispatch.DispatchSource:1:14: note: 'DispatchSource' declared here
1 | public class DispatchSource : DispatchObject, @unchecked Sendable, DispatchSourceProtocol, DispatchSourceRead, DispatchSourceSignal, DispatchSourceTimer, DispatchSourceUserDataAdd, DispatchSourceUserDataOr, DispatchSourceUserDataReplace, DispatchSourceWrite {
| `- note: 'DispatchSource' declared here
2 | deinit
3 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:48:23: error: @escaping attribute only applies to function types
46 | leeway: DispatchTimeInterval = .nanoseconds(0),
47 | queue: DispatchQueue? = nil,
48 | eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
| `- error: @escaping attribute only applies to function types
49 | ) {
50 | self.rate = rate
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:123:67: error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
121 |
122 | /// Set the event handler closure that the timer executes
123 | public func setEventHandler(handler: @escaping DispatchSource.DispatchSourceHandler) {
| `- error: 'DispatchSourceHandler' is not a member type of class 'Dispatch.DispatchSource'
124 | timer.setEventHandler(handler: handler)
125 | }
Dispatch.DispatchSource:1:14: note: 'DispatchSource' declared here
1 | public class DispatchSource : DispatchObject, @unchecked Sendable, DispatchSourceProtocol, DispatchSourceRead, DispatchSourceSignal, DispatchSourceTimer, DispatchSourceUserDataAdd, DispatchSourceUserDataOr, DispatchSourceUserDataReplace, DispatchSourceWrite {
| `- note: 'DispatchSource' declared here
2 | deinit
3 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/SafeDispatchTimer.swift:123:42: error: @escaping attribute only applies to function types
121 |
122 | /// Set the event handler closure that the timer executes
123 | public func setEventHandler(handler: @escaping DispatchSource.DispatchSourceHandler) {
| `- error: @escaping attribute only applies to function types
124 | timer.setEventHandler(handler: handler)
125 | }
[19/27] Compiling SwiftMIDIInternals String.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Outsourced/Timespec.swift:141:18: error: extraneous argument label 'seconds:' in call
139 | @_disfavoredOverload
140 | public init(_ interval: TimeInterval) {
141 | self.init(seconds: interval)
| `- error: extraneous argument label 'seconds:' in call
142 | }
143 | }
[20/27] Compiling SwiftMIDIInternals Timespec.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Outsourced/Timespec.swift:141:18: error: extraneous argument label 'seconds:' in call
139 | @_disfavoredOverload
140 | public init(_ interval: TimeInterval) {
141 | self.init(seconds: interval)
| `- error: extraneous argument label 'seconds:' in call
142 | }
143 | }
[21/27] Compiling SwiftMIDIInternals RandomAccessCollection.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Outsourced/Timespec.swift:141:18: error: extraneous argument label 'seconds:' in call
139 | @_disfavoredOverload
140 | public init(_ interval: TimeInterval) {
141 | self.init(seconds: interval)
| `- error: extraneous argument label 'seconds:' in call
142 | }
143 | }
[22/27] Compiling SwiftMIDIInternals Hex and Binary String.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Outsourced/ASCII.swift:30:27: error: cannot find 'applyingTransform' in scope
28 | @available(OSX 10.11, iOS 9.0, *)
29 | var asciiStringLossy: String {
30 | let transformed = applyingTransform(
| `- error: cannot find 'applyingTransform' in scope
31 | StringTransform("Latin-ASCII"),
32 | reverse: false
[23/27] Compiling SwiftMIDIInternals Number Formatting.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Outsourced/ASCII.swift:30:27: error: cannot find 'applyingTransform' in scope
28 | @available(OSX 10.11, iOS 9.0, *)
29 | var asciiStringLossy: String {
30 | let transformed = applyingTransform(
| `- error: cannot find 'applyingTransform' in scope
31 | StringTransform("Latin-ASCII"),
32 | reverse: false
[24/27] Compiling SwiftMIDIInternals ASCII.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Outsourced/ASCII.swift:30:27: error: cannot find 'applyingTransform' in scope
28 | @available(OSX 10.11, iOS 9.0, *)
29 | var asciiStringLossy: String {
30 | let transformed = applyingTransform(
| `- error: cannot find 'applyingTransform' in scope
31 | StringTransform("Latin-ASCII"),
32 | reverse: false
[25/27] Compiling SwiftMIDIInternals SwiftMIDIInternals.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Exception.swift:37:25: error: cannot find 'NSException' in scope
35 | reason: String? = nil
36 | ) {
37 | let exception = NSException(name: exceptionName, reason: reason, userInfo: nil)
| `- error: cannot find 'NSException' in scope
38 | exception.raise()
39 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Exception.swift:37:84: error: 'nil' requires a contextual type
35 | reason: String? = nil
36 | ) {
37 | let exception = NSException(name: exceptionName, reason: reason, userInfo: nil)
| `- error: 'nil' requires a contextual type
38 | exception.raise()
39 | }
[26/27] Compiling SwiftMIDIInternals ASCII String and Data.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Exception.swift:37:25: error: cannot find 'NSException' in scope
35 | reason: String? = nil
36 | ) {
37 | let exception = NSException(name: exceptionName, reason: reason, userInfo: nil)
| `- error: cannot find 'NSException' in scope
38 | exception.raise()
39 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Exception.swift:37:84: error: 'nil' requires a contextual type
35 | reason: String? = nil
36 | ) {
37 | let exception = NSException(name: exceptionName, reason: reason, userInfo: nil)
| `- error: 'nil' requires a contextual type
38 | exception.raise()
39 | }
[27/27] Compiling SwiftMIDIInternals Exception.swift
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Exception.swift:37:25: error: cannot find 'NSException' in scope
35 | reason: String? = nil
36 | ) {
37 | let exception = NSException(name: exceptionName, reason: reason, userInfo: nil)
| `- error: cannot find 'NSException' in scope
38 | exception.raise()
39 | }
/host/spi-builder-workspace/.build/checkouts/swift-midi-core/Sources/SwiftMIDIInternals/Utilities/Exception.swift:37:84: error: 'nil' requires a contextual type
35 | reason: String? = nil
36 | ) {
37 | let exception = NSException(name: exceptionName, reason: reason, userInfo: nil)
| `- error: 'nil' requires a contextual type
38 | exception.raise()
39 | }
BUILD FAILURE 6.0 linux