Build Information
Failed to build InterposeKit, reference master (2d4822
), with Swift 6.1 for Linux on 25 Apr 2025 14:12:27 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
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 2d48227 Update pod spec to latest tag (#24)
Cloned https://github.com/steipete/InterposeKit.git
Revision (git rev-parse @):
2d48227c359b71be057fe9fd403ff791e5322b32
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
{
"dependencies" : [
],
"manifest_display_name" : "InterposeKit",
"name" : "InterposeKit",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "macos",
"version" : "10.13"
},
{
"name" : "tvos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "5.0"
}
],
"products" : [
{
"name" : "InterposeKit",
"targets" : [
"InterposeKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SuperBuilder",
"module_type" : "ClangTarget",
"name" : "SuperBuilder",
"path" : "Sources/SuperBuilder",
"product_memberships" : [
"InterposeKit"
],
"sources" : [
"src/ITKSuperBuilder.m"
],
"type" : "library"
},
{
"c99name" : "InterposeKitTests",
"module_type" : "SwiftTarget",
"name" : "InterposeKitTests",
"path" : "Tests/InterposeKitTests",
"sources" : [
"InterposeKitTestCase.swift",
"InterposeKitTests.swift",
"KVOTests.swift",
"MultipleInterposing.swift",
"ObjectInterposeTests.swift",
"TestClass.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"InterposeKit"
],
"type" : "test"
},
{
"c99name" : "InterposeKit",
"module_type" : "SwiftTarget",
"name" : "InterposeKit",
"path" : "Sources/InterposeKit",
"product_memberships" : [
"InterposeKit"
],
"sources" : [
"AnyHook.swift",
"ClassHook.swift",
"HookFinder.swift",
"InterposeError.swift",
"InterposeKit.swift",
"InterposeSubclass.swift",
"LinuxCompileSupport.swift",
"ObjectHook.swift",
"Watcher.swift"
],
"target_dependencies" : [
"SuperBuilder"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/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 finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/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
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/12] Compiling InterposeKit AnyHook.swift
[6/12] Compiling InterposeKit ClassHook.swift
[7/12] 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 | /// Object-based hooking does not work if an object is using KVO.
/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:24: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
22 | /// The KVO mechanism also uses subclasses created at runtime but doesn't check for additional overrides.
23 | /// Adding a hook eventually crashes the KVO management code so we reject hooking altogether in this case.
24 | 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
25 |
26 | /// Object is lying about it's actual class metadata.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:32: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
30 | /// @note Printing classes in Swift uses the class posing mechanism.
31 | /// Use `NSClassFromString` to get the correct name.
32 | 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
33 |
34 | /// Can't revert or apply if already done so.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:35: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
33 |
34 | /// Can't revert or apply if already done so.
35 | 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
36 |
37 | /// Unable to remove hook.
/host/spi-builder-workspace/Sources/InterposeKit/AnyHook.swift:21:17: note: consider making enum 'State' conform to the 'Sendable' protocol
19 |
20 | /// The possible task states
21 | public enum State: Equatable {
| `- note: consider making enum 'State' conform to the 'Sendable' protocol
22 | /// The task is prepared to be nterposed.
23 | case prepared
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:168: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
166 | extension Interpose {
167 | /// Logging uses print and is minimal.
168 | 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
169 |
170 | /// Simple log wrapper for print.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:11:29: warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
9 | _ implementation: (TypedHook<MethodSignature, HookSignature>) -> HookSignature?) throws -> AnyHook {
10 |
11 | if let klass = self as? AnyClass {
| `- warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
12 | return try Interpose.ClassHook(class: klass, selector: selector, implementation: implementation).apply()
13 | } 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:40:2: error: Objective-C interoperability is disabled
38 | func imp_getBlock(_ anImp: IMP) -> Any? { return nil }
39 | @discardableResult func imp_removeBlock(_ anImp: IMP) -> Bool { false }
40 | @objc class NSError: NSObject {}
| `- error: Objective-C interoperability is disabled
41 | // AutoreleasingUnsafeMutablePointer is not available on Linux.
42 | typealias NSErrorPointer = UnsafeMutablePointer<NSError?>?
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:45:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
43 | extension NSObject {
44 | /// :nodoc: value
45 | open func value(forKey key: String) -> Any? { return nil }
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
46 | }
47 | /// :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() }
[8/13] Compiling InterposeKit LinuxCompileSupport.swift
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:40:2: error: Objective-C interoperability is disabled
38 | func imp_getBlock(_ anImp: IMP) -> Any? { return nil }
39 | @discardableResult func imp_removeBlock(_ anImp: IMP) -> Bool { false }
40 | @objc class NSError: NSObject {}
| `- error: Objective-C interoperability is disabled
41 | // AutoreleasingUnsafeMutablePointer is not available on Linux.
42 | typealias NSErrorPointer = UnsafeMutablePointer<NSError?>?
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:45:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
43 | extension NSObject {
44 | /// :nodoc: value
45 | open func value(forKey key: String) -> Any? { return nil }
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
46 | }
47 | /// :nodoc: objc_AssociationPolicy
[9/13] Compiling InterposeKit InterposeKit.swift
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:168: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
166 | extension Interpose {
167 | /// Logging uses print and is minimal.
168 | 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
169 |
170 | /// Simple log wrapper for print.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:11:29: warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
9 | _ implementation: (TypedHook<MethodSignature, HookSignature>) -> HookSignature?) throws -> AnyHook {
10 |
11 | if let klass = self as? AnyClass {
| `- warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
12 | return try Interpose.ClassHook(class: klass, selector: selector, implementation: implementation).apply()
13 | } else {
[10/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)
[11/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 |
[12/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 | /// Object-based hooking does not work if an object is using KVO.
/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:24: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
22 | /// The KVO mechanism also uses subclasses created at runtime but doesn't check for additional overrides.
23 | /// Adding a hook eventually crashes the KVO management code so we reject hooking altogether in this case.
24 | 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
25 |
26 | /// Object is lying about it's actual class metadata.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:32: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
30 | /// @note Printing classes in Swift uses the class posing mechanism.
31 | /// Use `NSClassFromString` to get the correct name.
32 | 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
33 |
34 | /// Can't revert or apply if already done so.
/host/spi-builder-workspace/Sources/InterposeKit/InterposeError.swift:35: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
33 |
34 | /// Can't revert or apply if already done so.
35 | 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
36 |
37 | /// Unable to remove hook.
/host/spi-builder-workspace/Sources/InterposeKit/AnyHook.swift:21:17: note: consider making enum 'State' conform to the 'Sendable' protocol
19 |
20 | /// The possible task states
21 | public enum State: Equatable {
| `- note: consider making enum 'State' conform to the 'Sendable' protocol
22 | /// The task is prepared to be nterposed.
23 | case prepared
[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-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/10] Compiling InterposeKit LinuxCompileSupport.swift
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:40:2: error: Objective-C interoperability is disabled
38 | func imp_getBlock(_ anImp: IMP) -> Any? { return nil }
39 | @discardableResult func imp_removeBlock(_ anImp: IMP) -> Bool { false }
40 | @objc class NSError: NSObject {}
| `- error: Objective-C interoperability is disabled
41 | // AutoreleasingUnsafeMutablePointer is not available on Linux.
42 | typealias NSErrorPointer = UnsafeMutablePointer<NSError?>?
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:45:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
43 | extension NSObject {
44 | /// :nodoc: value
45 | open func value(forKey key: String) -> Any? { return nil }
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
46 | }
47 | /// :nodoc: objc_AssociationPolicy
[3/11] Compiling InterposeKit InterposeKit.swift
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:11:29: warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
9 | _ implementation: (TypedHook<MethodSignature, HookSignature>) -> HookSignature?) throws -> AnyHook {
10 |
11 | if let klass = self as? AnyClass {
| `- warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
12 | return try Interpose.ClassHook(class: klass, selector: selector, implementation: implementation).apply()
13 | } else {
[4/11] Compiling InterposeKit InterposeError.swift
[5/11] Compiling InterposeKit InterposeSubclass.swift
[6/11] Compiling InterposeKit ObjectHook.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/11] Compiling InterposeKit AnyHook.swift
[8/11] Compiling InterposeKit ClassHook.swift
[9/11] Compiling InterposeKit HookFinder.swift
[10/11] Emitting module InterposeKit
/host/spi-builder-workspace/Sources/InterposeKit/InterposeKit.swift:11:29: warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
9 | _ implementation: (TypedHook<MethodSignature, HookSignature>) -> HookSignature?) throws -> AnyHook {
10 |
11 | if let klass = self as? AnyClass {
| `- warning: cast from 'NSObject' to unrelated type 'AnyClass' (aka 'any AnyObject.Type') always fails
12 | return try Interpose.ClassHook(class: klass, selector: selector, implementation: implementation).apply()
13 | } else {
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:40:2: error: Objective-C interoperability is disabled
38 | func imp_getBlock(_ anImp: IMP) -> Any? { return nil }
39 | @discardableResult func imp_removeBlock(_ anImp: IMP) -> Bool { false }
40 | @objc class NSError: NSObject {}
| `- error: Objective-C interoperability is disabled
41 | // AutoreleasingUnsafeMutablePointer is not available on Linux.
42 | typealias NSErrorPointer = UnsafeMutablePointer<NSError?>?
/host/spi-builder-workspace/Sources/InterposeKit/LinuxCompileSupport.swift:45:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
43 | extension NSObject {
44 | /// :nodoc: value
45 | open func value(forKey key: String) -> Any? { return nil }
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
46 | }
47 | /// :nodoc: objc_AssociationPolicy
[11/11] Compiling InterposeKit Watcher.swift
BUILD FAILURE 6.1 linux