The Swift Package Index logo.Swift Package Index

Build Information

Failed to build InterposeKit, reference master (249233), with Swift 6.1 for Linux on 2 Jul 2026 02:04:41 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 0e64495ecc1688c3b3e031a5ef1348b5c05091ae
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/steipete/InterposeKit.git
Reference: master
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/steipete/InterposeKit
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 2492331 Merge pull request #47 from steipete/fix/hook-signature-validation
Cloned https://github.com/steipete/InterposeKit.git
Revision (git rev-parse @):
2492331dd962f58884b62675d71298d6e1ee36b3
SUCCESS checkout https://github.com/steipete/InterposeKit.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/steipete/InterposeKit.git
https://github.com/steipete/InterposeKit.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-0":/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.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:0f094b998e61bb35b7a666f42e392cfb12929ea8fa9160622b1badd8b73d5c87
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.1-latest
Building for debugging...
[0/3] Write sources
[1/3] Compiling ITKSuperBuilder.m
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/12] Compiling InterposeKit ObjectHook.swift
[5/13] Compiling InterposeKit InterposeSubclass.swift
/host/spi-builder-workspace/Sources/InterposeKit/InterposeSubclass.swift:10:20: warning: static property 'getClass' is not concurrency-safe because non-'Sendable' type 'Selector' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |
  9 |     enum ObjCSelector {
 10 |         static let getClass = Selector((("class")))
    |                    |- warning: static property 'getClass' is not concurrency-safe because non-'Sendable' type 'Selector' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: add '@MainActor' to make static property 'getClass' part of global actor 'MainActor'
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 11 |     }
 12 |
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeSubclass.swift:14:20: warning: static property 'getClass' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<CChar>' (aka 'UnsafePointer<Int8>') may have shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 |     enum ObjCMethodEncoding {
 14 |         static let getClass = extract("#@:")
    |                    |- warning: static property 'getClass' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<CChar>' (aka 'UnsafePointer<Int8>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: add '@MainActor' to make static property 'getClass' part of global actor 'MainActor'
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |         private static func extract(_ string: StaticString) -> UnsafePointer<CChar> {
Swift.UnsafePointer:1:23: note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafePointer<Pointee> : Copyable where Pointee : ~Copyable {
  |                       `- note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
2 |     public let _rawValue: Builtin.RawPointer
3 |     public init(_ _rawValue: Builtin.RawPointer)
[6/13] Compiling InterposeKit InterposeKit.swift
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:190:23: warning: static property 'isLoggingEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
188 | extension Interpose {
189 |     /// Logging uses print and is minimal.
190 |     public static var isLoggingEnabled = false
    |                       |- warning: static property 'isLoggingEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'isLoggingEnabled' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'isLoggingEnabled' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
191 |
192 |     /// Simple log wrapper for print.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:14:29: warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
 12 |         _ implementation: (TypedHook<MethodSignature, HookSignature>) -> HookSignature?) throws -> AnyHook {
 13 |
 14 |         if let klass = self as? AnyClass {
    |                             `- warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
 15 |             return try Interpose.ClassHook(class: klass, selector: selector, implementation: implementation).apply()
 16 |         } else {
[7/13] Compiling InterposeKit LinuxCompileSupport.swift
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:17:13: warning: let 'linuxClassNameStub' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') may have shared mutable state; this is an error in the Swift 6 language mode
15 | func class_getInstanceMethod(_ cls: AnyClass?, _ name: Selector) -> Method? { return nil }
16 | func class_getMethodImplementation(_ cls: AnyClass?, _ name: Selector) -> IMP? { return nil }
17 | private let linuxClassNameStub = strdup("")!
   |             |- warning: let 'linuxClassNameStub' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'linuxClassNameStub' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | func class_getName(_ cls: AnyClass?) -> UnsafePointer<Int8> { return UnsafePointer(linuxClassNameStub) }
19 | func class_replaceMethod(_ cls: AnyClass?, _ name: Selector,
Swift.UnsafeMutablePointer:1:23: note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafeMutablePointer<Pointee> : Copyable where Pointee : ~Copyable {
  |                       `- note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
2 |     public let _rawValue: Builtin.RawPointer
3 |     public init(_ _rawValue: Builtin.RawPointer)
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:42:2: error: Objective-C interoperability is disabled
40 | func imp_getBlock(_ anImp: IMP) -> Any? { return nil }
41 | @discardableResult func imp_removeBlock(_ anImp: IMP) -> Bool { false }
42 | @objc class NSError: NSObject {}
   |  `- error: Objective-C interoperability is disabled
43 | // AutoreleasingUnsafeMutablePointer is not available on Linux.
44 | typealias NSErrorPointer = UnsafeMutablePointer<NSError?>?
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:47:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
45 | extension NSObject {
46 |     /// :nodoc: value
47 |     open func value(forKey key: String) -> Any? { return nil }
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
48 | }
49 | /// :nodoc: objc_AssociationPolicy
[8/13] Compiling InterposeKit InterposeError.swift
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:6:10: warning: associated value 'methodNotFound' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
 4 | public enum InterposeError: LocalizedError {
 5 |     /// The method couldn't be found. Usually happens for when you use stringified selectors that do not exist.
 6 |     case methodNotFound(AnyClass, Selector)
   |          `- warning: associated value 'methodNotFound' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
 7 |
 8 |     /// The implementation could not be found. Class must be in a weird state for this to happen.
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:9:10: warning: associated value 'nonExistingImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
 7 |
 8 |     /// The implementation could not be found. Class must be in a weird state for this to happen.
 9 |     case nonExistingImplementation(AnyClass, Selector)
   |          `- warning: associated value 'nonExistingImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
10 |
11 |     /// Someone else changed the implementation; reverting removed this implementation.
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:13:10: warning: associated value 'unexpectedImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
11 |     /// Someone else changed the implementation; reverting removed this implementation.
12 |     /// This is bad, likely someone else also hooked this method. If you are in such a codebase, do not use revert.
13 |     case unexpectedImplementation(AnyClass, Selector, IMP?)
   |          `- warning: associated value 'unexpectedImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
14 |
15 |     /// Unable to register subclass for object-based interposing.
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:13:10: warning: associated value 'unexpectedImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'IMP'; this is an error in the Swift 6 language mode
11 |     /// Someone else changed the implementation; reverting removed this implementation.
12 |     /// This is bad, likely someone else also hooked this method. If you are in such a codebase, do not use revert.
13 |     case unexpectedImplementation(AnyClass, Selector, IMP?)
   |          `- warning: associated value 'unexpectedImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'IMP'; this is an error in the Swift 6 language mode
14 |
15 |     /// Unable to register subclass for object-based interposing.
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:11:15: note: consider making struct 'IMP' conform to the 'Sendable' protocol
 9 | }
10 | /// :nodoc: IMP
11 | public struct IMP: Equatable {}
   |               `- note: consider making struct 'IMP' conform to the 'Sendable' protocol
12 | /// :nodoc: Method
13 | public struct Method {}
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:19:10: warning: associated value 'unableToAddMethod' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
17 |
18 |     /// Unable to add method  for object-based interposing.
19 |     case unableToAddMethod(AnyClass, Selector)
   |          `- warning: associated value 'unableToAddMethod' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
20 |
21 |     /// The replacement block uses a different Objective-C calling convention than the method.
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:22:10: warning: associated value 'incompatibleHookSignature(_:_:methodSignature:hookSignature:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
20 |
21 |     /// The replacement block uses a different Objective-C calling convention than the method.
22 |     case incompatibleHookSignature(
   |          `- warning: associated value 'incompatibleHookSignature(_:_:methodSignature:hookSignature:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
23 |         AnyClass, Selector, methodSignature: String, hookSignature: String?)
24 |
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:28:10: warning: associated value 'keyValueObservationDetected' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
26 |     /// The KVO mechanism also uses subclasses created at runtime but doesn't check for additional overrides.
27 |     /// Adding a hook eventually crashes the KVO management code so we reject hooking altogether in this case.
28 |     case keyValueObservationDetected(AnyObject)
   |          `- warning: associated value 'keyValueObservationDetected' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
29 |
30 |     /// Core Foundation-backed objects do not support isa-swizzling from Swift.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:31:10: warning: associated value 'coreFoundationObjectDetected' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
29 |
30 |     /// Core Foundation-backed objects do not support isa-swizzling from Swift.
31 |     case coreFoundationObjectDetected(AnyObject)
   |          `- warning: associated value 'coreFoundationObjectDetected' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
32 |
33 |     /// Object is lying about it's actual class metadata.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:39:10: warning: associated value 'objectPosingAsDifferentClass(_:actualClass:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
37 |     /// @note Printing classes in Swift uses the class posing mechanism.
38 |     /// Use `NSClassFromString` to get the correct name.
39 |     case objectPosingAsDifferentClass(AnyObject, actualClass: AnyClass)
   |          `- warning: associated value 'objectPosingAsDifferentClass(_:actualClass:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
40 |
41 |     /// Can't revert or apply if already done so.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:42:10: warning: associated value 'invalidState(expectedState:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyHook.State'; this is an error in the Swift 6 language mode
40 |
41 |     /// Can't revert or apply if already done so.
42 |     case invalidState(expectedState: AnyHook.State)
   |          `- warning: associated value 'invalidState(expectedState:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyHook.State'; this is an error in the Swift 6 language mode
43 |
44 |     /// Unable to remove hook.
/host/spi-builder-workspace/Sources/InterposeKit/AnyHook.swift:25:17: note: consider making enum 'State' conform to the 'Sendable' protocol
 23 |
 24 |     /// The possible task states
 25 |     public enum State: Equatable {
    |                 `- note: consider making enum 'State' conform to the 'Sendable' protocol
 26 |         /// The task is prepared to be nterposed.
 27 |         case prepared
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/13] Emitting module InterposeKit
/host/spi-builder-workspace/Sources/InterposeKit/HookFinder.swift:6:20: warning: static property 'hookForBlock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     private struct AssociatedKeys {
 6 |         static var hookForBlock: UInt8 = 0
   |                    |- warning: static property 'hookForBlock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'hookForBlock' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: add '@MainActor' to make static property 'hookForBlock' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |     }
 8 |
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:6:10: warning: associated value 'methodNotFound' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
 4 | public enum InterposeError: LocalizedError {
 5 |     /// The method couldn't be found. Usually happens for when you use stringified selectors that do not exist.
 6 |     case methodNotFound(AnyClass, Selector)
   |          `- warning: associated value 'methodNotFound' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
 7 |
 8 |     /// The implementation could not be found. Class must be in a weird state for this to happen.
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:9:10: warning: associated value 'nonExistingImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
 7 |
 8 |     /// The implementation could not be found. Class must be in a weird state for this to happen.
 9 |     case nonExistingImplementation(AnyClass, Selector)
   |          `- warning: associated value 'nonExistingImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
10 |
11 |     /// Someone else changed the implementation; reverting removed this implementation.
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:13:10: warning: associated value 'unexpectedImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
11 |     /// Someone else changed the implementation; reverting removed this implementation.
12 |     /// This is bad, likely someone else also hooked this method. If you are in such a codebase, do not use revert.
13 |     case unexpectedImplementation(AnyClass, Selector, IMP?)
   |          `- warning: associated value 'unexpectedImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
14 |
15 |     /// Unable to register subclass for object-based interposing.
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:13:10: warning: associated value 'unexpectedImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'IMP'; this is an error in the Swift 6 language mode
11 |     /// Someone else changed the implementation; reverting removed this implementation.
12 |     /// This is bad, likely someone else also hooked this method. If you are in such a codebase, do not use revert.
13 |     case unexpectedImplementation(AnyClass, Selector, IMP?)
   |          `- warning: associated value 'unexpectedImplementation' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'IMP'; this is an error in the Swift 6 language mode
14 |
15 |     /// Unable to register subclass for object-based interposing.
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:11:15: note: consider making struct 'IMP' conform to the 'Sendable' protocol
 9 | }
10 | /// :nodoc: IMP
11 | public struct IMP: Equatable {}
   |               `- note: consider making struct 'IMP' conform to the 'Sendable' protocol
12 | /// :nodoc: Method
13 | public struct Method {}
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:19:10: warning: associated value 'unableToAddMethod' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
17 |
18 |     /// Unable to add method  for object-based interposing.
19 |     case unableToAddMethod(AnyClass, Selector)
   |          `- warning: associated value 'unableToAddMethod' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
20 |
21 |     /// The replacement block uses a different Objective-C calling convention than the method.
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:22:10: warning: associated value 'incompatibleHookSignature(_:_:methodSignature:hookSignature:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
20 |
21 |     /// The replacement block uses a different Objective-C calling convention than the method.
22 |     case incompatibleHookSignature(
   |          `- warning: associated value 'incompatibleHookSignature(_:_:methodSignature:hookSignature:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'Selector'; this is an error in the Swift 6 language mode
23 |         AnyClass, Selector, methodSignature: String, hookSignature: String?)
24 |
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:28:10: warning: associated value 'keyValueObservationDetected' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
26 |     /// The KVO mechanism also uses subclasses created at runtime but doesn't check for additional overrides.
27 |     /// Adding a hook eventually crashes the KVO management code so we reject hooking altogether in this case.
28 |     case keyValueObservationDetected(AnyObject)
   |          `- warning: associated value 'keyValueObservationDetected' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
29 |
30 |     /// Core Foundation-backed objects do not support isa-swizzling from Swift.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:31:10: warning: associated value 'coreFoundationObjectDetected' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
29 |
30 |     /// Core Foundation-backed objects do not support isa-swizzling from Swift.
31 |     case coreFoundationObjectDetected(AnyObject)
   |          `- warning: associated value 'coreFoundationObjectDetected' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
32 |
33 |     /// Object is lying about it's actual class metadata.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:39:10: warning: associated value 'objectPosingAsDifferentClass(_:actualClass:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
37 |     /// @note Printing classes in Swift uses the class posing mechanism.
38 |     /// Use `NSClassFromString` to get the correct name.
39 |     case objectPosingAsDifferentClass(AnyObject, actualClass: AnyClass)
   |          `- warning: associated value 'objectPosingAsDifferentClass(_:actualClass:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyObject'; this is an error in the Swift 6 language mode
40 |
41 |     /// Can't revert or apply if already done so.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:42:10: warning: associated value 'invalidState(expectedState:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyHook.State'; this is an error in the Swift 6 language mode
40 |
41 |     /// Can't revert or apply if already done so.
42 |     case invalidState(expectedState: AnyHook.State)
   |          `- warning: associated value 'invalidState(expectedState:)' of 'Sendable'-conforming enum 'InterposeError' has non-sendable type 'AnyHook.State'; this is an error in the Swift 6 language mode
43 |
44 |     /// Unable to remove hook.
/host/spi-builder-workspace/Sources/InterposeKit/AnyHook.swift:25:17: note: consider making enum 'State' conform to the 'Sendable' protocol
 23 |
 24 |     /// The possible task states
 25 |     public enum State: Equatable {
    |                 `- note: consider making enum 'State' conform to the 'Sendable' protocol
 26 |         /// The task is prepared to be nterposed.
 27 |         case prepared
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:190:23: warning: static property 'isLoggingEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
188 | extension Interpose {
189 |     /// Logging uses print and is minimal.
190 |     public static var isLoggingEnabled = false
    |                       |- warning: static property 'isLoggingEnabled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'isLoggingEnabled' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'isLoggingEnabled' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
191 |
192 |     /// Simple log wrapper for print.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:14:29: warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
 12 |         _ implementation: (TypedHook<MethodSignature, HookSignature>) -> HookSignature?) throws -> AnyHook {
 13 |
 14 |         if let klass = self as? AnyClass {
    |                             `- warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
 15 |             return try Interpose.ClassHook(class: klass, selector: selector, implementation: implementation).apply()
 16 |         } else {
/host/spi-builder-workspace/Sources/InterposeKit/InterposeSubclass.swift:10:20: warning: static property 'getClass' is not concurrency-safe because non-'Sendable' type 'Selector' may have shared mutable state; this is an error in the Swift 6 language mode
  8 |
  9 |     enum ObjCSelector {
 10 |         static let getClass = Selector((("class")))
    |                    |- warning: static property 'getClass' is not concurrency-safe because non-'Sendable' type 'Selector' may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: add '@MainActor' to make static property 'getClass' part of global actor 'MainActor'
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 11 |     }
 12 |
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:6:15: note: consider making struct 'Selector' conform to the 'Sendable' protocol
 4 | #if os(Linux)
 5 | /// :nodoc: Selector
 6 | public struct Selector: Equatable {
   |               `- note: consider making struct 'Selector' conform to the 'Sendable' protocol
 7 |     var name: String?
 8 |     init(_ name: String) { self.name = name }
/host/spi-builder-workspace/Sources/InterposeKit/InterposeSubclass.swift:14:20: warning: static property 'getClass' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<CChar>' (aka 'UnsafePointer<Int8>') may have shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 |     enum ObjCMethodEncoding {
 14 |         static let getClass = extract("#@:")
    |                    |- warning: static property 'getClass' is not concurrency-safe because non-'Sendable' type 'UnsafePointer<CChar>' (aka 'UnsafePointer<Int8>') may have shared mutable state; this is an error in the Swift 6 language mode
    |                    |- note: add '@MainActor' to make static property 'getClass' part of global actor 'MainActor'
    |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |         private static func extract(_ string: StaticString) -> UnsafePointer<CChar> {
Swift.UnsafePointer:1:23: note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafePointer<Pointee> : Copyable where Pointee : ~Copyable {
  |                       `- note: generic struct 'UnsafePointer' does not conform to the 'Sendable' protocol
2 |     public let _rawValue: Builtin.RawPointer
3 |     public init(_ _rawValue: Builtin.RawPointer)
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:17:13: warning: let 'linuxClassNameStub' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') may have shared mutable state; this is an error in the Swift 6 language mode
15 | func class_getInstanceMethod(_ cls: AnyClass?, _ name: Selector) -> Method? { return nil }
16 | func class_getMethodImplementation(_ cls: AnyClass?, _ name: Selector) -> IMP? { return nil }
17 | private let linuxClassNameStub = strdup("")!
   |             |- warning: let 'linuxClassNameStub' is not concurrency-safe because non-'Sendable' type 'UnsafeMutablePointer<CChar>' (aka 'UnsafeMutablePointer<Int8>') may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'linuxClassNameStub' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | func class_getName(_ cls: AnyClass?) -> UnsafePointer<Int8> { return UnsafePointer(linuxClassNameStub) }
19 | func class_replaceMethod(_ cls: AnyClass?, _ name: Selector,
Swift.UnsafeMutablePointer:1:23: note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafeMutablePointer<Pointee> : Copyable where Pointee : ~Copyable {
  |                       `- note: generic struct 'UnsafeMutablePointer' does not conform to the 'Sendable' protocol
2 |     public let _rawValue: Builtin.RawPointer
3 |     public init(_ _rawValue: Builtin.RawPointer)
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:42:2: error: Objective-C interoperability is disabled
40 | func imp_getBlock(_ anImp: IMP) -> Any? { return nil }
41 | @discardableResult func imp_removeBlock(_ anImp: IMP) -> Bool { false }
42 | @objc class NSError: NSObject {}
   |  `- error: Objective-C interoperability is disabled
43 | // AutoreleasingUnsafeMutablePointer is not available on Linux.
44 | typealias NSErrorPointer = UnsafeMutablePointer<NSError?>?
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:47:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
45 | extension NSObject {
46 |     /// :nodoc: value
47 |     open func value(forKey key: String) -> Any? { return nil }
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
48 | }
49 | /// :nodoc: objc_AssociationPolicy
/host/spi-builder-workspace/Sources/InterposeKit/Watcher.swift:72:24: warning: static property 'globalWatchers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 70 | private struct InterposeWatcher {
 71 |     // Global list of waiters; can be multiple per class
 72 |     private static var globalWatchers: [Interpose.Waiter] = {
    |                        |- warning: static property 'globalWatchers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'globalWatchers' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'globalWatchers' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 73 |         // Register after Swift global registers to not deadlock
 74 |         DispatchQueue.main.async { InterposeWatcher.installGlobalImageLoadWatcher() }
[10/13] Compiling InterposeKit AnyHook.swift
[11/13] Compiling InterposeKit ClassHook.swift
[12/13] Compiling InterposeKit HookFinder.swift
/host/spi-builder-workspace/Sources/InterposeKit/HookFinder.swift:6:20: warning: static property 'hookForBlock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     private struct AssociatedKeys {
 6 |         static var hookForBlock: UInt8 = 0
   |                    |- warning: static property 'hookForBlock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: convert 'hookForBlock' to a 'let' constant to make 'Sendable' shared state immutable
   |                    |- note: add '@MainActor' to make static property 'hookForBlock' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |     }
 8 |
[13/13] Compiling InterposeKit Watcher.swift
/host/spi-builder-workspace/Sources/InterposeKit/Watcher.swift:72:24: warning: static property 'globalWatchers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 70 | private struct InterposeWatcher {
 71 |     // Global list of waiters; can be multiple per class
 72 |     private static var globalWatchers: [Interpose.Waiter] = {
    |                        |- warning: static property 'globalWatchers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'globalWatchers' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'globalWatchers' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 73 |         // Register after Swift global registers to not deadlock
 74 |         DispatchQueue.main.async { InterposeWatcher.installGlobalImageLoadWatcher() }
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-0":/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.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from saguaro1/spi-images
Digest: sha256:0f094b998e61bb35b7a666f42e392cfb12929ea8fa9160622b1badd8b73d5c87
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/10] Compiling InterposeKit InterposeError.swift
[3/11] Compiling InterposeKit HookFinder.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/11] Compiling InterposeKit AnyHook.swift
[5/11] Compiling InterposeKit ClassHook.swift
[6/11] Compiling InterposeKit InterposeSubclass.swift
[7/11] Compiling InterposeKit InterposeKit.swift
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:14:29: warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
 12 |         _ implementation: (TypedHook<MethodSignature, HookSignature>) -> HookSignature?) throws -> AnyHook {
 13 |
 14 |         if let klass = self as? AnyClass {
    |                             `- warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
 15 |             return try Interpose.ClassHook(class: klass, selector: selector, implementation: implementation).apply()
 16 |         } else {
[8/11] Compiling InterposeKit ObjectHook.swift
[9/11] Emitting module InterposeKit
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:14:29: warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
 12 |         _ implementation: (TypedHook<MethodSignature, HookSignature>) -> HookSignature?) throws -> AnyHook {
 13 |
 14 |         if let klass = self as? AnyClass {
    |                             `- warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
 15 |             return try Interpose.ClassHook(class: klass, selector: selector, implementation: implementation).apply()
 16 |         } else {
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:42:2: error: Objective-C interoperability is disabled
40 | func imp_getBlock(_ anImp: IMP) -> Any? { return nil }
41 | @discardableResult func imp_removeBlock(_ anImp: IMP) -> Bool { false }
42 | @objc class NSError: NSObject {}
   |  `- error: Objective-C interoperability is disabled
43 | // AutoreleasingUnsafeMutablePointer is not available on Linux.
44 | typealias NSErrorPointer = UnsafeMutablePointer<NSError?>?
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:47:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
45 | extension NSObject {
46 |     /// :nodoc: value
47 |     open func value(forKey key: String) -> Any? { return nil }
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
48 | }
49 | /// :nodoc: objc_AssociationPolicy
[10/11] Compiling InterposeKit LinuxCompileSupport.swift
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:42:2: error: Objective-C interoperability is disabled
40 | func imp_getBlock(_ anImp: IMP) -> Any? { return nil }
41 | @discardableResult func imp_removeBlock(_ anImp: IMP) -> Bool { false }
42 | @objc class NSError: NSObject {}
   |  `- error: Objective-C interoperability is disabled
43 | // AutoreleasingUnsafeMutablePointer is not available on Linux.
44 | typealias NSErrorPointer = UnsafeMutablePointer<NSError?>?
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:47:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
45 | extension NSObject {
46 |     /// :nodoc: value
47 |     open func value(forKey key: String) -> Any? { return nil }
   |     `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
48 | }
49 | /// :nodoc: objc_AssociationPolicy
[11/11] Compiling InterposeKit Watcher.swift
BUILD FAILURE 6.1 linux