The Swift Package Index logo.Swift Package Index

Build Information

Failed to build swift-midi-controlsurfaces, reference 1.0.0 (258c28), with Swift 6.3 for Android on 27 Apr 2026 07:19:48 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/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:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build 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:         android
Swift version:             6.3
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-1":/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:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:9008270ea37a55e78725e6225015adb5eff8582da520c5232bf0499f32c36dc4
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-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.34s)
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--4F562202D5529B1.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' only applies to function types
 46 |         leeway: DispatchTimeInterval = .nanoseconds(0),
 47 |         queue: DispatchQueue? = nil,
 48 |         eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
    |                       `- error: '@escaping' 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' 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' only applies to function types
124 |         timer.setEventHandler(handler: handler)
125 |     }
[6/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 |     }
[7/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 |     }
[8/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 |     }
[9/27] Compiling SwiftMIDIInternals Collections.swift
[10/27] Compiling SwiftMIDIInternals Integers.swift
[11/27] Compiling SwiftMIDIInternals Ranges.swift
[12/27] Compiling SwiftMIDIInternals PThreadMutex.swift
[13/27] Compiling SwiftMIDIInternals PThreadMutexValue.swift
[14/27] Compiling SwiftMIDIInternals ThreadSynchronized.swift
[15/27] Compiling SwiftMIDIInternals ThreadSynchronizedPThreadMutex.swift
[16/27] Compiling SwiftMIDIInternals ThreadSynchronizedPThreadMutexValue.swift
[17/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 | }
[18/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 | }
[19/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 | }
[20/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' only applies to function types
 46 |         leeway: DispatchTimeInterval = .nanoseconds(0),
 47 |         queue: DispatchQueue? = nil,
 48 |         eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
    |                       `- error: '@escaping' 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' 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' only applies to function types
124 |         timer.setEventHandler(handler: handler)
125 |     }
[21/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' only applies to function types
 46 |         leeway: DispatchTimeInterval = .nanoseconds(0),
 47 |         queue: DispatchQueue? = nil,
 48 |         eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
    |                       `- error: '@escaping' 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' 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' only applies to function types
124 |         timer.setEventHandler(handler: handler)
125 |     }
[22/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' only applies to function types
 46 |         leeway: DispatchTimeInterval = .nanoseconds(0),
 47 |         queue: DispatchQueue? = nil,
 48 |         eventHandler: @escaping DispatchSource.DispatchSourceHandler = { }
    |                       `- error: '@escaping' 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' 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' only applies to function types
124 |         timer.setEventHandler(handler: handler)
125 |     }
[23/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
[24/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
[25/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
[26/27] Compiling SwiftMIDIInternals ThreadSynchronizedValue.swift
[27/27] Compiling SwiftMIDIInternals Utilities.swift
BUILD FAILURE 6.3 android