The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build skip, reference 1.6.30 (3f5d9a), with Swift 6.1 for Linux on 25 Nov 2025 08:01:58 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" 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.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/skiptools/skip.git
Reference: 1.6.30
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/skiptools/skip
 * tag               1.6.30     -> FETCH_HEAD
HEAD is now at 3f5d9a5 Release 1.6.30
Cloned https://github.com/skiptools/skip.git
Revision (git rev-parse @):
3f5d9a5b670e3411a302dcbfcb39de7fa51cc781
SUCCESS checkout https://github.com/skiptools/skip.git at 1.6.30
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/skiptools/skip.git
https://github.com/skiptools/skip.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "default_localization" : "en",
  "dependencies" : [
  ],
  "manifest_display_name" : "skip",
  "name" : "skip",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "skipstone",
      "targets" : [
        "skipstone"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "skiplink",
      "targets" : [
        "Create SkipLink"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "SkipDrive",
      "targets" : [
        "SkipDrive"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SkipTest",
      "targets" : [
        "SkipTest"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "skipstone",
      "module_type" : "PluginTarget",
      "name" : "skipstone",
      "path" : "Plugins/SkipPlugin",
      "plugin_capability" : {
        "type" : "buildTool"
      },
      "product_memberships" : [
        "skipstone",
        "SkipDrive",
        "SkipTest"
      ],
      "sources" : [
        "SkipPlugin.swift"
      ],
      "target_dependencies" : [
        "skip"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "skip",
      "module_type" : "BinaryTarget",
      "name" : "skip",
      "path" : "remote/archive/skip-linux.zip",
      "product_memberships" : [
        "skipstone",
        "skiplink",
        "SkipDrive",
        "SkipTest"
      ],
      "sources" : [
      ],
      "type" : "binary"
    },
    {
      "c99name" : "SkipTestTests",
      "module_type" : "SwiftTarget",
      "name" : "SkipTestTests",
      "path" : "Tests/SkipTestTests",
      "sources" : [
        "GradleDriverTests.swift"
      ],
      "target_dependencies" : [
        "SkipTest"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SkipTest",
      "module_type" : "SwiftTarget",
      "name" : "SkipTest",
      "path" : "Sources/SkipTest",
      "product_memberships" : [
        "SkipTest"
      ],
      "sources" : [
        "XCGradleHarness.swift"
      ],
      "target_dependencies" : [
        "SkipDrive"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SkipDriveTests",
      "module_type" : "SwiftTarget",
      "name" : "SkipDriveTests",
      "path" : "Tests/SkipDriveTests",
      "sources" : [
        "SkipDriveTests.swift"
      ],
      "target_dependencies" : [
        "SkipDrive"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SkipDrive",
      "module_type" : "SwiftTarget",
      "name" : "SkipDrive",
      "path" : "Sources/SkipDrive",
      "product_memberships" : [
        "SkipDrive",
        "SkipTest"
      ],
      "sources" : [
        "GradleDriver.swift",
        "GradleHarness.swift",
        "SourceMap.swift",
        "ToolSupport.swift",
        "Version.swift"
      ],
      "target_dependencies" : [
        "skipstone",
        "skip"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Create_SkipLink",
      "module_type" : "PluginTarget",
      "name" : "Create SkipLink",
      "path" : "Plugins/SkipLink",
      "plugin_capability" : {
        "intent" : {
          "description" : "Create local links to transpiled output",
          "type" : "custom",
          "verb" : "SkipLink"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "This command will create local links to the skipstone output for the specified package(s), enabling access to the transpiled Kotlin",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "skiplink"
      ],
      "sources" : [
        "SkipLinkPlugin.swift"
      ],
      "target_dependencies" : [
        "skip"
      ],
      "type" : "plugin"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" 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:4d72617259f6eef9908440c49a67b79bc4f973ae19f78187418ddfb5b178d4ec
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Downloading binary artifact https://source.skip.tools/skip/releases/download/1.6.30/skip-linux.zip
[1397/168635381] Downloading https://source.skip.tools/skip/releases/download/1.6.30/skip-linux.zip
Downloaded https://source.skip.tools/skip/releases/download/1.6.30/skip-linux.zip (17.00s)
[1/1] Compiling plugin Create SkipLink
[2/2] Compiling plugin skipstone
Building for debugging...
[2/5] Write sources
[4/5] Write swift-version-24593BA9C3E375BF.txt
[6/11] Compiling SkipDrive Version.swift
[7/11] Compiling SkipDrive SourceMap.swift
[8/11] Compiling SkipDrive ToolSupport.swift
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:535:27: warning: static property 'collect' is not concurrency-safe because non-'Sendable' type 'Process.OutputRedirection' may have shared mutable state; this is an error in the Swift 6 language mode
 522 |     }
 523 |
 524 |     public enum OutputRedirection {
     |                 `- note: consider making enum 'OutputRedirection' conform to the 'Sendable' protocol
 525 |         /// Do not redirect the output
 526 |         case none
     :
 533 |
 534 |         /// Default collect OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
 535 |         public static let collect: OutputRedirection = .collect(redirectStderr: false)
     |                           |- warning: static property 'collect' is not concurrency-safe because non-'Sendable' type 'Process.OutputRedirection' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: add '@MainActor' to make static property 'collect' part of global actor 'MainActor'
     |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 536 |
 537 |         /// Default stream OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:594:24: warning: static property '_loggingHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 592 |     public typealias LoggingHandler = (String) -> Void
 593 |
 594 |     private static var _loggingHandler: LoggingHandler?
     |                        |- warning: static property '_loggingHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                        |- note: convert '_loggingHandler' to a 'let' constant to make 'Sendable' shared state immutable
     |                        |- note: add '@MainActor' to make static property '_loggingHandler' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 595 |     private static let loggingHandlerLock = NSLock()
 596 |
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:710:24: warning: static property 'validatedExecutablesMap' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 708 |     /// Key: Executable name or path.
 709 |     /// Value: Path to the executable, if found.
 710 |     private static var validatedExecutablesMap = [String: URL?]()
     |                        |- warning: static property 'validatedExecutablesMap' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                        |- note: convert 'validatedExecutablesMap' to a 'let' constant to make 'Sendable' shared state immutable
     |                        |- note: add '@MainActor' to make static property 'validatedExecutablesMap' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 711 |     private static let validatedExecutablesMapLock = NSLock()
 712 |
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2754:12: warning: var 'stdoutStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2752 |
2753 | /// Public stdout stream instance.
2754 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
     |            |- warning: var 'stdoutStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |            |- note: convert 'stdoutStream' to a 'let' constant to make 'Sendable' shared state immutable
     |            |- note: add '@MainActor' to make var 'stdoutStream' part of global actor 'MainActor'
     |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2755 |     filePointer: stdout,
2756 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2755:18: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2753 | /// Public stdout stream instance.
2754 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
2755 |     filePointer: stdout,
     |                  `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2756 |     closeOnDeinit: false))
2757 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2759:12: warning: var 'stderrStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2757 |
2758 | /// Public stderr stream instance.
2759 | public var stderrStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
     |            |- warning: var 'stderrStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |            |- note: convert 'stderrStream' to a 'let' constant to make 'Sendable' shared state immutable
     |            |- note: add '@MainActor' to make var 'stderrStream' part of global actor 'MainActor'
     |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2760 |     filePointer: stderr,
2761 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2760:18: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2758 | /// Public stderr stream instance.
2759 | public var stderrStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
2760 |     filePointer: stderr,
     |                  `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2761 |     closeOnDeinit: false))
2762 |
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
    |              `- note: var declared here
146 | /* C89/C99 say they're macros.  Make them happy.  */
147 | #define stdin stdin
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:977:13: error: cannot find 'posix_spawn_file_actions_addchdir_np' in scope
 975 |
 976 |         if let workingDirectory = workingDirectory?.path {
 977 |             posix_spawn_file_actions_addchdir_np(&fileActions, workingDirectory)
     |             `- error: cannot find 'posix_spawn_file_actions_addchdir_np' in scope
 978 |         }
 979 |
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1055:90: warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
1053 |             group.enter()
1054 |             let stdoutThread = Thread { [weak self] in
1055 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
     |                                                                                          |- warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                                                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1056 |                     pendingLock.withLock {
1057 |                         if let stderrResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1055:90: warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
1053 |             group.enter()
1054 |             let stdoutThread = Thread { [weak self] in
1055 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
     |                                                                                          |- warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                                                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1056 |                     pendingLock.withLock {
1057 |                         if let stderrResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1055:60: warning: reference to captured var 'outputPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1053 |             group.enter()
1054 |             let stdoutThread = Thread { [weak self] in
1055 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
     |                                                            `- warning: reference to captured var 'outputPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1056 |                     pendingLock.withLock {
1057 |                         if let stderrResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1057:47: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1055 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
1056 |                     pendingLock.withLock {
1057 |                         if let stderrResult = pending {
     |                                               `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1058 |                             self?.stateLock.withLock {
1059 |                                 self?.state = .outputReady(stdout: readResult, stderr: stderrResult)
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1062:29: warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1060 |                             }
1061 |                         } else  {
1062 |                             pending = readResult
     |                             `- warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1063 |                         }
1064 |                     }
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1066:70: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1064 |                     }
1065 |                     group.leave()
1066 |                 } else if let stderrResult = (pendingLock.withLock { pending }) {
     |                                                                      `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1067 |                     // TODO: this is more of an error
1068 |                     self?.stateLock.withLock {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1084:94: warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
1082 |                 group.enter()
1083 |                 stderrThread = Thread { [weak self] in
1084 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
     |                                                                                              |- warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                                                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1085 |                         pendingLock.withLock {
1086 |                             if let stdoutResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1084:94: warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
1082 |                 group.enter()
1083 |                 stderrThread = Thread { [weak self] in
1084 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
     |                                                                                              |- warning: capture of 'outputClosures' with non-sendable type '(stdoutClosure: Process.OutputClosure, stderrClosure: Process.OutputClosure)?' (aka 'Optional<(stdoutClosure: (Array<UInt8>) -> (), stderrClosure: (Array<UInt8>) -> ())>') in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                                                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1085 |                         pendingLock.withLock {
1086 |                             if let stdoutResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1084:64: warning: reference to captured var 'stderrPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1082 |                 group.enter()
1083 |                 stderrThread = Thread { [weak self] in
1084 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
     |                                                                `- warning: reference to captured var 'stderrPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1085 |                         pendingLock.withLock {
1086 |                             if let stdoutResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1086:51: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1084 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
1085 |                         pendingLock.withLock {
1086 |                             if let stdoutResult = pending {
     |                                                   `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1087 |                                 self?.stateLock.withLock {
1088 |                                     self?.state = .outputReady(stdout: stdoutResult, stderr: readResult)
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1091:33: warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1089 |                                 }
1090 |                             } else {
1091 |                                 pending = readResult
     |                                 `- warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1092 |                             }
1093 |                         }
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1095:74: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1093 |                         }
1094 |                         group.leave()
1095 |                     } else if let stdoutResult = (pendingLock.withLock { pending }) {
     |                                                                          `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1096 |                         // TODO: this is more of an error
1097 |                         self?.stateLock.withLock {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1210:36: warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1208 |             self.state = .complete(executionResult)
1209 |             self.completionQueue.async {
1210 |                 self.waitUntilExit(completion)
     |                                    |- warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1211 |             }
1212 |         }
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1393:17: warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
1391 |         } catch {
1392 |             completionQueue.async {
1393 |                 completion(.failure(error))
     |                 |- warning: capture of 'completion' with non-sendable type '(Result<ProcessResult, any Error>) -> Void' in a '@Sendable' closure; this is an error in the Swift 6 language mode
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
1394 |             }
1395 |         }
[9/11] Compiling SkipDrive GradleHarness.swift
[10/11] Emitting module SkipDrive
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:535:27: warning: static property 'collect' is not concurrency-safe because non-'Sendable' type 'Process.OutputRedirection' may have shared mutable state; this is an error in the Swift 6 language mode
 522 |     }
 523 |
 524 |     public enum OutputRedirection {
     |                 `- note: consider making enum 'OutputRedirection' conform to the 'Sendable' protocol
 525 |         /// Do not redirect the output
 526 |         case none
     :
 533 |
 534 |         /// Default collect OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
 535 |         public static let collect: OutputRedirection = .collect(redirectStderr: false)
     |                           |- warning: static property 'collect' is not concurrency-safe because non-'Sendable' type 'Process.OutputRedirection' may have shared mutable state; this is an error in the Swift 6 language mode
     |                           |- note: add '@MainActor' to make static property 'collect' part of global actor 'MainActor'
     |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 536 |
 537 |         /// Default stream OutputRedirection that defaults to not redirect stderr. Provided for API compatibility.
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:594:24: warning: static property '_loggingHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 592 |     public typealias LoggingHandler = (String) -> Void
 593 |
 594 |     private static var _loggingHandler: LoggingHandler?
     |                        |- warning: static property '_loggingHandler' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                        |- note: convert '_loggingHandler' to a 'let' constant to make 'Sendable' shared state immutable
     |                        |- note: add '@MainActor' to make static property '_loggingHandler' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 595 |     private static let loggingHandlerLock = NSLock()
 596 |
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:710:24: warning: static property 'validatedExecutablesMap' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 708 |     /// Key: Executable name or path.
 709 |     /// Value: Path to the executable, if found.
 710 |     private static var validatedExecutablesMap = [String: URL?]()
     |                        |- warning: static property 'validatedExecutablesMap' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                        |- note: convert 'validatedExecutablesMap' to a 'let' constant to make 'Sendable' shared state immutable
     |                        |- note: add '@MainActor' to make static property 'validatedExecutablesMap' part of global actor 'MainActor'
     |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 711 |     private static let validatedExecutablesMapLock = NSLock()
 712 |
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2754:12: warning: var 'stdoutStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2752 |
2753 | /// Public stdout stream instance.
2754 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
     |            |- warning: var 'stdoutStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |            |- note: convert 'stdoutStream' to a 'let' constant to make 'Sendable' shared state immutable
     |            |- note: add '@MainActor' to make var 'stdoutStream' part of global actor 'MainActor'
     |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2755 |     filePointer: stdout,
2756 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2755:18: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2753 | /// Public stdout stream instance.
2754 | public var stdoutStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
2755 |     filePointer: stdout,
     |                  `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2756 |     closeOnDeinit: false))
2757 |
/usr/include/stdio.h:144:14: note: var declared here
142 | /* Standard streams.  */
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
    |              `- note: var declared here
145 | extern FILE *stderr;		/* Standard error output stream.  */
146 | /* C89/C99 say they're macros.  Make them happy.  */
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2759:12: warning: var 'stderrStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2757 |
2758 | /// Public stderr stream instance.
2759 | public var stderrStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
     |            |- warning: var 'stderrStream' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |            |- note: convert 'stderrStream' to a 'let' constant to make 'Sendable' shared state immutable
     |            |- note: add '@MainActor' to make var 'stderrStream' part of global actor 'MainActor'
     |            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2760 |     filePointer: stderr,
2761 |     closeOnDeinit: false))
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:2760:18: warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2758 | /// Public stderr stream instance.
2759 | public var stderrStream: ThreadSafeOutputByteStream = try! ThreadSafeOutputByteStream(LocalFileOutputByteStream(
2760 |     filePointer: stderr,
     |                  `- warning: reference to var 'stderr' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
2761 |     closeOnDeinit: false))
2762 |
/usr/include/stdio.h:145:14: note: var declared here
143 | extern FILE *stdin;		/* Standard input stream.  */
144 | extern FILE *stdout;		/* Standard output stream.  */
145 | extern FILE *stderr;		/* Standard error output stream.  */
    |              `- note: var declared here
146 | /* C89/C99 say they're macros.  Make them happy.  */
147 | #define stdin stdin
[11/11] Compiling SkipDrive GradleDriver.swift
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" 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:4d72617259f6eef9908440c49a67b79bc4f973ae19f78187418ddfb5b178d4ec
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
[0/1] Planning build
[1/1] Compiling plugin Create SkipLink
[2/2] Compiling plugin skipstone
Building for debugging...
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/9] Compiling SkipDrive Version.swift
[5/9] Compiling SkipDrive GradleHarness.swift
[6/9] Compiling SkipDrive SourceMap.swift
[7/9] Compiling SkipDrive ToolSupport.swift
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:977:13: error: cannot find 'posix_spawn_file_actions_addchdir_np' in scope
 975 |
 976 |         if let workingDirectory = workingDirectory?.path {
 977 |             posix_spawn_file_actions_addchdir_np(&fileActions, workingDirectory)
     |             `- error: cannot find 'posix_spawn_file_actions_addchdir_np' in scope
 978 |         }
 979 |
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1055:60: warning: reference to captured var 'outputPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1053 |             group.enter()
1054 |             let stdoutThread = Thread { [weak self] in
1055 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
     |                                                            `- warning: reference to captured var 'outputPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1056 |                     pendingLock.withLock {
1057 |                         if let stderrResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1057:47: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1055 |                 if let readResult = self?.readOutput(onFD: outputPipe[0], outputClosure: outputClosures?.stdoutClosure) {
1056 |                     pendingLock.withLock {
1057 |                         if let stderrResult = pending {
     |                                               `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1058 |                             self?.stateLock.withLock {
1059 |                                 self?.state = .outputReady(stdout: readResult, stderr: stderrResult)
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1062:29: warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1060 |                             }
1061 |                         } else  {
1062 |                             pending = readResult
     |                             `- warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1063 |                         }
1064 |                     }
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1066:70: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1064 |                     }
1065 |                     group.leave()
1066 |                 } else if let stderrResult = (pendingLock.withLock { pending }) {
     |                                                                      `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1067 |                     // TODO: this is more of an error
1068 |                     self?.stateLock.withLock {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1084:64: warning: reference to captured var 'stderrPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1082 |                 group.enter()
1083 |                 stderrThread = Thread { [weak self] in
1084 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
     |                                                                `- warning: reference to captured var 'stderrPipe' in concurrently-executing code; this is an error in the Swift 6 language mode
1085 |                         pendingLock.withLock {
1086 |                             if let stdoutResult = pending {
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1086:51: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1084 |                     if let readResult = self?.readOutput(onFD: stderrPipe[0], outputClosure: outputClosures?.stderrClosure) {
1085 |                         pendingLock.withLock {
1086 |                             if let stdoutResult = pending {
     |                                                   `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1087 |                                 self?.stateLock.withLock {
1088 |                                     self?.state = .outputReady(stdout: stdoutResult, stderr: readResult)
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1091:33: warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1089 |                                 }
1090 |                             } else {
1091 |                                 pending = readResult
     |                                 `- warning: mutation of captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1092 |                             }
1093 |                         }
/host/spi-builder-workspace/Sources/SkipDrive/ToolSupport.swift:1095:74: warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1093 |                         }
1094 |                         group.leave()
1095 |                     } else if let stdoutResult = (pendingLock.withLock { pending }) {
     |                                                                          `- warning: reference to captured var 'pending' in concurrently-executing code; this is an error in the Swift 6 language mode
1096 |                         // TODO: this is more of an error
1097 |                         self?.stateLock.withLock {
[8/9] Emitting module SkipDrive
[9/9] Compiling SkipDrive GradleDriver.swift
BUILD FAILURE 6.1 linux