The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Tarscape, reference main (ce0261), with Swift 6.1 for Wasm on 28 May 2025 04:40:31 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kayembi/Tarscape.git
Reference: main
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/kayembi/Tarscape
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at ce02616 - Added NaNo word count code and updated hoist header view.
Cloned https://github.com/kayembi/Tarscape.git
Revision (git rev-parse @):
ce026160f8f009275afd1cc8175a199aa3ec0072
SUCCESS checkout https://github.com/kayembi/Tarscape.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/kayembi/Tarscape.git
https://github.com/kayembi/Tarscape.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Tarscape",
  "name" : "Tarscape",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "Tarscape",
      "targets" : [
        "Tarscape"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "TarscapeTests",
      "module_type" : "SwiftTarget",
      "name" : "TarscapeTests",
      "path" : "Tests/TarscapeTests",
      "sources" : [
        "TarscapeTests.swift"
      ],
      "target_dependencies" : [
        "Tarscape"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Tarscape",
      "module_type" : "SwiftTarget",
      "name" : "Tarscape",
      "path" : "Sources/Tarscape",
      "product_memberships" : [
        "Tarscape"
      ],
      "sources" : [
        "Data+Tar.swift",
        "FileManager+Tar.swift",
        "Int+Tar.swift",
        "KBFileAttributes.swift",
        "KBTar.swift",
        "KBTarArchiver.swift",
        "KBTarEntry.swift",
        "KBTarErrors.swift",
        "KBTarUnarchiver.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -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
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/11] Compiling Tarscape KBTarErrors.swift
[4/12] Compiling Tarscape KBTarUnarchiver.swift
/host/spi-builder-workspace/Sources/Tarscape/KBTarUnarchiver.swift:32:27: warning: static property 'restoreFileAttributes' is not concurrency-safe because non-'Sendable' type 'KBTarUnarchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 21 |     // MARK: - Options
 22 |
 23 |     public struct Options: OptionSet {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 24 |         public let rawValue: Int
 25 |
    :
 30 |         /// Setting `.restoreFileAttributes` can significantly increase extraction time, because
 31 |         /// it has to use `FileManager`'s `setAttributes(_ofItemAtPath:)`, which is *slow*.
 32 |         public static let restoreFileAttributes = Options(rawValue: 1 << 0)
    |                           |- warning: static property 'restoreFileAttributes' is not concurrency-safe because non-'Sendable' type 'KBTarUnarchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'restoreFileAttributes' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |
 34 |         /// If set, a method for working out file URLs is used that is faster for paths containing no spaces
/host/spi-builder-workspace/Sources/Tarscape/KBTarUnarchiver.swift:42:27: warning: static property 'mostSubpathsCanBeUnescaped' is not concurrency-safe because non-'Sendable' type 'KBTarUnarchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 21 |     // MARK: - Options
 22 |
 23 |     public struct Options: OptionSet {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 24 |         public let rawValue: Int
 25 |
    :
 40 |         /// in a URL,setting this option will *slow* extraction. Only use this option when you know the Tar
 41 |         /// archive contains only simple file paths.
 42 |         public static let mostSubpathsCanBeUnescaped = Options(rawValue: 1 << 1)
    |                           |- warning: static property 'mostSubpathsCanBeUnescaped' is not concurrency-safe because non-'Sendable' type 'KBTarUnarchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'mostSubpathsCanBeUnescaped' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |
 44 |         public init(rawValue: Int) {
/host/spi-builder-workspace/Sources/Tarscape/KBTarUnarchiver.swift:411:17: error: cannot find 'autoreleasepool' in scope
409 |             progressBody?(Double(location)/Double(size), Int64(location))
410 |
411 |             try autoreleasepool { // Keep memory tidy.
    |                 `- error: cannot find 'autoreleasepool' in scope
412 |                 let type = try type(at: location)
413 |
/host/spi-builder-workspace/Sources/Tarscape/KBTarUnarchiver.swift:686:17: error: cannot find 'autoreleasepool' in scope
684 |             // Use an autorelease pool so that we don't consume memory
685 |             // with large files.
686 |             try autoreleasepool {
    |                 `- error: cannot find 'autoreleasepool' in scope
687 |                 if let contents = try fileHandle.read(upToCount: maxReadingSize) {
688 |                     try destinationHandle.write(contentsOf: contents)
/host/spi-builder-workspace/Sources/Tarscape/KBTarUnarchiver.swift:695:17: error: cannot find 'autoreleasepool' in scope
693 |         // Read what's left.
694 |         if remainingSize > 0 {
695 |             try autoreleasepool {
    |                 `- error: cannot find 'autoreleasepool' in scope
696 |                 if let contents = try fileHandle.read(upToCount: remainingSize) {
697 |                     try destinationHandle.write(contentsOf: contents)
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/12] Compiling Tarscape Int+Tar.swift
[6/12] Emitting module Tarscape
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:10:2: error: Objective-C interoperability is disabled
 8 | import Foundation
 9 |
10 | @objc // Expose this extension to Objective-C.
   |  `- error: Objective-C interoperability is disabled
11 | public extension FileManager {
12 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:14:124: error: cannot find type 'Progress' in scope
12 |
13 |     @nonobjc
14 |     func extractTar(at tarURL: URL, to dirURL: URL, options: KBTarUnarchiver.Options = [.restoreFileAttributes], progress: Progress? = nil) throws {
   |                                                                                                                            `- error: cannot find type 'Progress' in scope
15 |         let unarchiver = try KBTarUnarchiver(tarURL: tarURL, options: options)
16 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:32:102: error: cannot find type 'Progress' in scope
30 |
31 |     @nonobjc
32 |     func createTar(at tarURL: URL, from dirURL: URL, options: KBTarArchiver.Options = [],  progress: Progress? = nil) throws {
   |                                                                                                      `- error: cannot find type 'Progress' in scope
33 |         let archiver = KBTarArchiver(directoryURL: dirURL, options: options)
34 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:59:89: error: cannot find type 'Progress' in scope
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
   |                                                                                         `- error: cannot find type 'Progress' in scope
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
61 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:58:6: error: Objective-C interoperability is disabled
56 |     ///     permissions be ignored. This can significantly speed up the extraction process.
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:70:90: error: cannot find type 'Progress' in scope
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
   |                                                                                          `- error: cannot find type 'Progress' in scope
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
72 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:69:6: error: Objective-C interoperability is disabled
67 |     ///     is set to `true`, archiving will check for alias files and store them as symbolic links. This can take longer.
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:28:27: warning: static property 'convertAliasFiles' is not concurrency-safe because non-'Sendable' type 'KBTarArchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |     // MARK: - Options
 21 |
 22 |     public struct Options: OptionSet {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 23 |         public let rawValue: Int
 24 |
    :
 26 |         /// doesn't support alias files by default, only symbolic links.) Checking for alias files takes extra time
 27 |         /// and so slows the archiving process.
 28 |         public static let convertAliasFiles = Options(rawValue: 1 << 0)
    |                           |- warning: static property 'convertAliasFiles' is not concurrency-safe because non-'Sendable' type 'KBTarArchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'convertAliasFiles' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |
 30 |         public init(rawValue: Int) {
/host/spi-builder-workspace/Sources/Tarscape/KBTarUnarchiver.swift:32:27: warning: static property 'restoreFileAttributes' is not concurrency-safe because non-'Sendable' type 'KBTarUnarchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 21 |     // MARK: - Options
 22 |
 23 |     public struct Options: OptionSet {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 24 |         public let rawValue: Int
 25 |
    :
 30 |         /// Setting `.restoreFileAttributes` can significantly increase extraction time, because
 31 |         /// it has to use `FileManager`'s `setAttributes(_ofItemAtPath:)`, which is *slow*.
 32 |         public static let restoreFileAttributes = Options(rawValue: 1 << 0)
    |                           |- warning: static property 'restoreFileAttributes' is not concurrency-safe because non-'Sendable' type 'KBTarUnarchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'restoreFileAttributes' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |
 34 |         /// If set, a method for working out file URLs is used that is faster for paths containing no spaces
/host/spi-builder-workspace/Sources/Tarscape/KBTarUnarchiver.swift:42:27: warning: static property 'mostSubpathsCanBeUnescaped' is not concurrency-safe because non-'Sendable' type 'KBTarUnarchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 21 |     // MARK: - Options
 22 |
 23 |     public struct Options: OptionSet {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 24 |         public let rawValue: Int
 25 |
    :
 40 |         /// in a URL,setting this option will *slow* extraction. Only use this option when you know the Tar
 41 |         /// archive contains only simple file paths.
 42 |         public static let mostSubpathsCanBeUnescaped = Options(rawValue: 1 << 1)
    |                           |- warning: static property 'mostSubpathsCanBeUnescaped' is not concurrency-safe because non-'Sendable' type 'KBTarUnarchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'mostSubpathsCanBeUnescaped' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 43 |
 44 |         public init(rawValue: Int) {
[7/12] Compiling Tarscape Data+Tar.swift
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:10:2: error: Objective-C interoperability is disabled
 8 | import Foundation
 9 |
10 | @objc // Expose this extension to Objective-C.
   |  `- error: Objective-C interoperability is disabled
11 | public extension FileManager {
12 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:14:124: error: cannot find type 'Progress' in scope
12 |
13 |     @nonobjc
14 |     func extractTar(at tarURL: URL, to dirURL: URL, options: KBTarUnarchiver.Options = [.restoreFileAttributes], progress: Progress? = nil) throws {
   |                                                                                                                            `- error: cannot find type 'Progress' in scope
15 |         let unarchiver = try KBTarUnarchiver(tarURL: tarURL, options: options)
16 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:32:102: error: cannot find type 'Progress' in scope
30 |
31 |     @nonobjc
32 |     func createTar(at tarURL: URL, from dirURL: URL, options: KBTarArchiver.Options = [],  progress: Progress? = nil) throws {
   |                                                                                                      `- error: cannot find type 'Progress' in scope
33 |         let archiver = KBTarArchiver(directoryURL: dirURL, options: options)
34 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:59:89: error: cannot find type 'Progress' in scope
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
   |                                                                                         `- error: cannot find type 'Progress' in scope
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
61 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:58:6: error: Objective-C interoperability is disabled
56 |     ///     permissions be ignored. This can significantly speed up the extraction process.
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:70:90: error: cannot find type 'Progress' in scope
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
   |                                                                                          `- error: cannot find type 'Progress' in scope
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
72 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:69:6: error: Objective-C interoperability is disabled
67 |     ///     is set to `true`, archiving will check for alias files and store them as symbolic links. This can take longer.
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:60:78: error: type '[Any]' has no member 'restoreFileAttributes'
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
   |                                                                              `- error: type '[Any]' has no member 'restoreFileAttributes'
61 |     }
62 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:71:79: error: type '[Any]' has no member 'convertAliasFiles'
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
   |                                                                               `- error: type '[Any]' has no member 'convertAliasFiles'
72 |     }
73 | }
[8/12] Compiling Tarscape FileManager+Tar.swift
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:10:2: error: Objective-C interoperability is disabled
 8 | import Foundation
 9 |
10 | @objc // Expose this extension to Objective-C.
   |  `- error: Objective-C interoperability is disabled
11 | public extension FileManager {
12 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:14:124: error: cannot find type 'Progress' in scope
12 |
13 |     @nonobjc
14 |     func extractTar(at tarURL: URL, to dirURL: URL, options: KBTarUnarchiver.Options = [.restoreFileAttributes], progress: Progress? = nil) throws {
   |                                                                                                                            `- error: cannot find type 'Progress' in scope
15 |         let unarchiver = try KBTarUnarchiver(tarURL: tarURL, options: options)
16 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:32:102: error: cannot find type 'Progress' in scope
30 |
31 |     @nonobjc
32 |     func createTar(at tarURL: URL, from dirURL: URL, options: KBTarArchiver.Options = [],  progress: Progress? = nil) throws {
   |                                                                                                      `- error: cannot find type 'Progress' in scope
33 |         let archiver = KBTarArchiver(directoryURL: dirURL, options: options)
34 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:59:89: error: cannot find type 'Progress' in scope
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
   |                                                                                         `- error: cannot find type 'Progress' in scope
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
61 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:58:6: error: Objective-C interoperability is disabled
56 |     ///     permissions be ignored. This can significantly speed up the extraction process.
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:70:90: error: cannot find type 'Progress' in scope
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
   |                                                                                          `- error: cannot find type 'Progress' in scope
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
72 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:69:6: error: Objective-C interoperability is disabled
67 |     ///     is set to `true`, archiving will check for alias files and store them as symbolic links. This can take longer.
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:60:78: error: type '[Any]' has no member 'restoreFileAttributes'
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
   |                                                                              `- error: type '[Any]' has no member 'restoreFileAttributes'
61 |     }
62 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:71:79: error: type '[Any]' has no member 'convertAliasFiles'
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
   |                                                                               `- error: type '[Any]' has no member 'convertAliasFiles'
72 |     }
73 | }
[9/12] Compiling Tarscape KBTarEntry.swift
[10/12] Compiling Tarscape KBTarArchiver.swift
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:28:27: warning: static property 'convertAliasFiles' is not concurrency-safe because non-'Sendable' type 'KBTarArchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
 20 |     // MARK: - Options
 21 |
 22 |     public struct Options: OptionSet {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
 23 |         public let rawValue: Int
 24 |
    :
 26 |         /// doesn't support alias files by default, only symbolic links.) Checking for alias files takes extra time
 27 |         /// and so slows the archiving process.
 28 |         public static let convertAliasFiles = Options(rawValue: 1 << 0)
    |                           |- warning: static property 'convertAliasFiles' is not concurrency-safe because non-'Sendable' type 'KBTarArchiver.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'convertAliasFiles' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |
 30 |         public init(rawValue: Int) {
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:107:17: error: cannot find 'autoreleasepool' in scope
105 |         // progress.
106 |         func encode(fileURL: URL) throws {
107 |             try autoreleasepool {
    |                 `- error: cannot find 'autoreleasepool' in scope
108 |                 // Work out the subpath.
109 |                 let subpath = String(fileURL.standardizedFileURL.path.dropFirst(basepathLen))
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:40: error: incorrect argument labels in call (have 'resolvingAliasFileAt:options:', expected 'fileURLWithPath:relativeTo:')
214 |                 if options.contains(.convertAliasFiles) && fileAttributes?.fileType == .alias {
215 |                     // Aliases are slighlty different from symbolic links.
216 |                     linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                        `- error: incorrect argument labels in call (have 'resolvingAliasFileAt:options:', expected 'fileURLWithPath:relativeTo:')
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:83: error: reference to member 'withoutUI' cannot be resolved without a contextual type
214 |                 if options.contains(.convertAliasFiles) && fileAttributes?.fileType == .alias {
215 |                     // Aliases are slighlty different from symbolic links.
216 |                     linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                                                                   `- error: reference to member 'withoutUI' cannot be resolved without a contextual type
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:95: error: reference to member 'withoutMounting' cannot be resolved without a contextual type
214 |                 if options.contains(.convertAliasFiles) && fileAttributes?.fileType == .alias {
215 |                     // Aliases are slighlty different from symbolic links.
216 |                     linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                                                                               `- error: reference to member 'withoutMounting' cannot be resolved without a contextual type
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:44: error: incorrect argument labels in call (have 'resolvingAliasFileAt:options:', expected 'fileURLWithPath:relativeTo:')
219 |                     if linkName == nil {
220 |                         // If we couldn't resolve the symbolic link, treat it as an alias.
221 |                         linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                            `- error: incorrect argument labels in call (have 'resolvingAliasFileAt:options:', expected 'fileURLWithPath:relativeTo:')
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:87: error: reference to member 'withoutUI' cannot be resolved without a contextual type
219 |                     if linkName == nil {
220 |                         // If we couldn't resolve the symbolic link, treat it as an alias.
221 |                         linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                                                                       `- error: reference to member 'withoutUI' cannot be resolved without a contextual type
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:99: error: reference to member 'withoutMounting' cannot be resolved without a contextual type
219 |                     if linkName == nil {
220 |                         // If we couldn't resolve the symbolic link, treat it as an alias.
221 |                         linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                                                                                   `- error: reference to member 'withoutMounting' cannot be resolved without a contextual type
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:32: warning: no calls to throwing functions occur within 'try' expression
214 |                 if options.contains(.convertAliasFiles) && fileAttributes?.fileType == .alias {
215 |                     // Aliases are slighlty different from symbolic links.
216 |                     linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                `- warning: no calls to throwing functions occur within 'try' expression
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:36: warning: no calls to throwing functions occur within 'try' expression
219 |                     if linkName == nil {
220 |                         // If we couldn't resolve the symbolic link, treat it as an alias.
221 |                         linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                    `- warning: no calls to throwing functions occur within 'try' expression
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:483:17: error: cannot find 'autoreleasepool' in scope
481 |         var remainingSize = size
482 |         while remainingSize > copyChunkSize {
483 |             try autoreleasepool {
    |                 `- error: cannot find 'autoreleasepool' in scope
484 |                 if let content = try readingHandle.read(upToCount: copyChunkSize) {
485 |                     try fileHandle.write(contentsOf: content)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:492:17: error: cannot find 'autoreleasepool' in scope
490 |         // Copy what's left.
491 |         if remainingSize > 0 {
492 |             try autoreleasepool {
    |                 `- error: cannot find 'autoreleasepool' in scope
493 |                 if let content = try readingHandle.read(upToCount: remainingSize) {
494 |                     try fileHandle.write(contentsOf: content)
[11/12] Compiling Tarscape KBTar.swift
[12/12] Compiling Tarscape KBFileAttributes.swift
/host/spi-builder-workspace/Sources/Tarscape/KBFileAttributes.swift:51:36: error: value of type 'stat' has no member 'st_mtimespec'
 49 |
 50 |         // Modification date.
 51 |         let modTimeSpec = fileStat.st_mtimespec
    |                                    `- error: value of type 'stat' has no member 'st_mtimespec'
 52 |         self.modificationDateTimeSince1970 = TimeInterval(modTimeSpec.tv_sec) + TimeInterval(modTimeSpec.tv_nsec)/1000000000.0
 53 |
/host/spi-builder-workspace/Sources/Tarscape/KBFileAttributes.swift:55:39: error: value of type 'stat' has no member 'st_birthtimespec'
 53 |
 54 |         // Creation date.
 55 |         let createTimeSpec = fileStat.st_birthtimespec
    |                                       `- error: value of type 'stat' has no member 'st_birthtimespec'
 56 |         self.creationDateTimeSince1970 = TimeInterval(createTimeSpec.tv_sec) + TimeInterval(createTimeSpec.tv_sec)/1000000000.0
 57 |
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/10] Emitting module Tarscape
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:10:2: error: Objective-C interoperability is disabled
 8 | import Foundation
 9 |
10 | @objc // Expose this extension to Objective-C.
   |  `- error: Objective-C interoperability is disabled
11 | public extension FileManager {
12 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:14:124: error: cannot find type 'Progress' in scope
12 |
13 |     @nonobjc
14 |     func extractTar(at tarURL: URL, to dirURL: URL, options: KBTarUnarchiver.Options = [.restoreFileAttributes], progress: Progress? = nil) throws {
   |                                                                                                                            `- error: cannot find type 'Progress' in scope
15 |         let unarchiver = try KBTarUnarchiver(tarURL: tarURL, options: options)
16 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:32:102: error: cannot find type 'Progress' in scope
30 |
31 |     @nonobjc
32 |     func createTar(at tarURL: URL, from dirURL: URL, options: KBTarArchiver.Options = [],  progress: Progress? = nil) throws {
   |                                                                                                      `- error: cannot find type 'Progress' in scope
33 |         let archiver = KBTarArchiver(directoryURL: dirURL, options: options)
34 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:59:89: error: cannot find type 'Progress' in scope
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
   |                                                                                         `- error: cannot find type 'Progress' in scope
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
61 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:58:6: error: Objective-C interoperability is disabled
56 |     ///     permissions be ignored. This can significantly speed up the extraction process.
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:70:90: error: cannot find type 'Progress' in scope
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
   |                                                                                          `- error: cannot find type 'Progress' in scope
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
72 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:69:6: error: Objective-C interoperability is disabled
67 |     ///     is set to `true`, archiving will check for alias files and store them as symbolic links. This can take longer.
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
[3/10] Compiling Tarscape Data+Tar.swift
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:10:2: error: Objective-C interoperability is disabled
 8 | import Foundation
 9 |
10 | @objc // Expose this extension to Objective-C.
   |  `- error: Objective-C interoperability is disabled
11 | public extension FileManager {
12 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:14:124: error: cannot find type 'Progress' in scope
12 |
13 |     @nonobjc
14 |     func extractTar(at tarURL: URL, to dirURL: URL, options: KBTarUnarchiver.Options = [.restoreFileAttributes], progress: Progress? = nil) throws {
   |                                                                                                                            `- error: cannot find type 'Progress' in scope
15 |         let unarchiver = try KBTarUnarchiver(tarURL: tarURL, options: options)
16 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:32:102: error: cannot find type 'Progress' in scope
30 |
31 |     @nonobjc
32 |     func createTar(at tarURL: URL, from dirURL: URL, options: KBTarArchiver.Options = [],  progress: Progress? = nil) throws {
   |                                                                                                      `- error: cannot find type 'Progress' in scope
33 |         let archiver = KBTarArchiver(directoryURL: dirURL, options: options)
34 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:59:89: error: cannot find type 'Progress' in scope
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
   |                                                                                         `- error: cannot find type 'Progress' in scope
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
61 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:58:6: error: Objective-C interoperability is disabled
56 |     ///     permissions be ignored. This can significantly speed up the extraction process.
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:70:90: error: cannot find type 'Progress' in scope
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
   |                                                                                          `- error: cannot find type 'Progress' in scope
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
72 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:69:6: error: Objective-C interoperability is disabled
67 |     ///     is set to `true`, archiving will check for alias files and store them as symbolic links. This can take longer.
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:60:78: error: type '[Any]' has no member 'restoreFileAttributes'
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
   |                                                                              `- error: type '[Any]' has no member 'restoreFileAttributes'
61 |     }
62 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:71:79: error: type '[Any]' has no member 'convertAliasFiles'
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
   |                                                                               `- error: type '[Any]' has no member 'convertAliasFiles'
72 |     }
73 | }
[4/10] Compiling Tarscape FileManager+Tar.swift
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:10:2: error: Objective-C interoperability is disabled
 8 | import Foundation
 9 |
10 | @objc // Expose this extension to Objective-C.
   |  `- error: Objective-C interoperability is disabled
11 | public extension FileManager {
12 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:14:124: error: cannot find type 'Progress' in scope
12 |
13 |     @nonobjc
14 |     func extractTar(at tarURL: URL, to dirURL: URL, options: KBTarUnarchiver.Options = [.restoreFileAttributes], progress: Progress? = nil) throws {
   |                                                                                                                            `- error: cannot find type 'Progress' in scope
15 |         let unarchiver = try KBTarUnarchiver(tarURL: tarURL, options: options)
16 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:32:102: error: cannot find type 'Progress' in scope
30 |
31 |     @nonobjc
32 |     func createTar(at tarURL: URL, from dirURL: URL, options: KBTarArchiver.Options = [],  progress: Progress? = nil) throws {
   |                                                                                                      `- error: cannot find type 'Progress' in scope
33 |         let archiver = KBTarArchiver(directoryURL: dirURL, options: options)
34 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:59:89: error: cannot find type 'Progress' in scope
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
   |                                                                                         `- error: cannot find type 'Progress' in scope
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
61 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:58:6: error: Objective-C interoperability is disabled
56 |     ///     permissions be ignored. This can significantly speed up the extraction process.
57 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:70:90: error: cannot find type 'Progress' in scope
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
   |                                                                                          `- error: cannot find type 'Progress' in scope
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
72 |     }
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:69:6: error: Objective-C interoperability is disabled
67 |     ///     is set to `true`, archiving will check for alias files and store them as symbolic links. This can take longer.
68 |     /// - Parameter progressBody: A closure with a `Double` parameter representing the current progress (from 0.0 to 1.0).
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
   |      `- error: Objective-C interoperability is disabled
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:60:78: error: type '[Any]' has no member 'restoreFileAttributes'
58 |     @objc(extractTarAtURL:toDirectoryAtURL:restoreAttributes:progressBlock:error:)
59 |     func extractTar(at tarURL: URL, to dirURL: URL, restoreAttributes: Bool,  progress: Progress? = nil) throws {
60 |         try extractTar(at: tarURL, to: dirURL, options: restoreAttributes ? .restoreFileAttributes : [], progress: progress)
   |                                                                              `- error: type '[Any]' has no member 'restoreFileAttributes'
61 |     }
62 |
/host/spi-builder-workspace/Sources/Tarscape/FileManager+Tar.swift:71:79: error: type '[Any]' has no member 'convertAliasFiles'
69 |     @objc(createTarAtURL:fromDirectoryAtURL:convertAliasFiles:progressBlock:error:)
70 |     func createTar(at tarURL: URL, from dirURL: URL, convertAliasFiles: Bool,  progress: Progress? = nil) throws {
71 |         try createTar(at: tarURL, from: dirURL, options: convertAliasFiles ? .convertAliasFiles : [], progress: progress)
   |                                                                               `- error: type '[Any]' has no member 'convertAliasFiles'
72 |     }
73 | }
[5/11] Compiling Tarscape Int+Tar.swift
[6/11] Compiling Tarscape KBTarErrors.swift
[7/11] Compiling Tarscape KBTar.swift
[8/11] Compiling Tarscape KBTarEntry.swift
[9/11] Compiling Tarscape KBTarArchiver.swift
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:107:17: error: cannot find 'autoreleasepool' in scope
105 |         // progress.
106 |         func encode(fileURL: URL) throws {
107 |             try autoreleasepool {
    |                 `- error: cannot find 'autoreleasepool' in scope
108 |                 // Work out the subpath.
109 |                 let subpath = String(fileURL.standardizedFileURL.path.dropFirst(basepathLen))
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:40: error: incorrect argument labels in call (have 'resolvingAliasFileAt:options:', expected 'fileURLWithPath:relativeTo:')
214 |                 if options.contains(.convertAliasFiles) && fileAttributes?.fileType == .alias {
215 |                     // Aliases are slighlty different from symbolic links.
216 |                     linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                        `- error: incorrect argument labels in call (have 'resolvingAliasFileAt:options:', expected 'fileURLWithPath:relativeTo:')
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:83: error: reference to member 'withoutUI' cannot be resolved without a contextual type
214 |                 if options.contains(.convertAliasFiles) && fileAttributes?.fileType == .alias {
215 |                     // Aliases are slighlty different from symbolic links.
216 |                     linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                                                                   `- error: reference to member 'withoutUI' cannot be resolved without a contextual type
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:95: error: reference to member 'withoutMounting' cannot be resolved without a contextual type
214 |                 if options.contains(.convertAliasFiles) && fileAttributes?.fileType == .alias {
215 |                     // Aliases are slighlty different from symbolic links.
216 |                     linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                                                                               `- error: reference to member 'withoutMounting' cannot be resolved without a contextual type
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:44: error: incorrect argument labels in call (have 'resolvingAliasFileAt:options:', expected 'fileURLWithPath:relativeTo:')
219 |                     if linkName == nil {
220 |                         // If we couldn't resolve the symbolic link, treat it as an alias.
221 |                         linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                            `- error: incorrect argument labels in call (have 'resolvingAliasFileAt:options:', expected 'fileURLWithPath:relativeTo:')
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:87: error: reference to member 'withoutUI' cannot be resolved without a contextual type
219 |                     if linkName == nil {
220 |                         // If we couldn't resolve the symbolic link, treat it as an alias.
221 |                         linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                                                                       `- error: reference to member 'withoutUI' cannot be resolved without a contextual type
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:99: error: reference to member 'withoutMounting' cannot be resolved without a contextual type
219 |                     if linkName == nil {
220 |                         // If we couldn't resolve the symbolic link, treat it as an alias.
221 |                         linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                                                                                   `- error: reference to member 'withoutMounting' cannot be resolved without a contextual type
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:32: warning: no calls to throwing functions occur within 'try' expression
214 |                 if options.contains(.convertAliasFiles) && fileAttributes?.fileType == .alias {
215 |                     // Aliases are slighlty different from symbolic links.
216 |                     linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                `- warning: no calls to throwing functions occur within 'try' expression
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:36: warning: no calls to throwing functions occur within 'try' expression
219 |                     if linkName == nil {
220 |                         // If we couldn't resolve the symbolic link, treat it as an alias.
221 |                         linkName = try? URL(resolvingAliasFileAt: fileURL, options: [.withoutUI, .withoutMounting]).path
    |                                    `- warning: no calls to throwing functions occur within 'try' expression
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:483:17: error: cannot find 'autoreleasepool' in scope
481 |         var remainingSize = size
482 |         while remainingSize > copyChunkSize {
483 |             try autoreleasepool {
    |                 `- error: cannot find 'autoreleasepool' in scope
484 |                 if let content = try readingHandle.read(upToCount: copyChunkSize) {
485 |                     try fileHandle.write(contentsOf: content)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:492:17: error: cannot find 'autoreleasepool' in scope
490 |         // Copy what's left.
491 |         if remainingSize > 0 {
492 |             try autoreleasepool {
    |                 `- error: cannot find 'autoreleasepool' in scope
493 |                 if let content = try readingHandle.read(upToCount: remainingSize) {
494 |                     try fileHandle.write(contentsOf: content)
[10/11] Compiling Tarscape KBFileAttributes.swift
/host/spi-builder-workspace/Sources/Tarscape/KBFileAttributes.swift:51:36: error: value of type 'stat' has no member 'st_mtimespec'
 49 |
 50 |         // Modification date.
 51 |         let modTimeSpec = fileStat.st_mtimespec
    |                                    `- error: value of type 'stat' has no member 'st_mtimespec'
 52 |         self.modificationDateTimeSince1970 = TimeInterval(modTimeSpec.tv_sec) + TimeInterval(modTimeSpec.tv_nsec)/1000000000.0
 53 |
/host/spi-builder-workspace/Sources/Tarscape/KBFileAttributes.swift:55:39: error: value of type 'stat' has no member 'st_birthtimespec'
 53 |
 54 |         // Creation date.
 55 |         let createTimeSpec = fileStat.st_birthtimespec
    |                                       `- error: value of type 'stat' has no member 'st_birthtimespec'
 56 |         self.creationDateTimeSince1970 = TimeInterval(createTimeSpec.tv_sec) + TimeInterval(createTimeSpec.tv_sec)/1000000000.0
 57 |
[11/11] Compiling Tarscape KBTarUnarchiver.swift
/host/spi-builder-workspace/Sources/Tarscape/KBTarUnarchiver.swift:411:17: error: cannot find 'autoreleasepool' in scope
409 |             progressBody?(Double(location)/Double(size), Int64(location))
410 |
411 |             try autoreleasepool { // Keep memory tidy.
    |                 `- error: cannot find 'autoreleasepool' in scope
412 |                 let type = try type(at: location)
413 |
/host/spi-builder-workspace/Sources/Tarscape/KBTarUnarchiver.swift:686:17: error: cannot find 'autoreleasepool' in scope
684 |             // Use an autorelease pool so that we don't consume memory
685 |             // with large files.
686 |             try autoreleasepool {
    |                 `- error: cannot find 'autoreleasepool' in scope
687 |                 if let contents = try fileHandle.read(upToCount: maxReadingSize) {
688 |                     try destinationHandle.write(contentsOf: contents)
/host/spi-builder-workspace/Sources/Tarscape/KBTarUnarchiver.swift:695:17: error: cannot find 'autoreleasepool' in scope
693 |         // Read what's left.
694 |         if remainingSize > 0 {
695 |             try autoreleasepool {
    |                 `- error: cannot find 'autoreleasepool' in scope
696 |                 if let contents = try fileHandle.read(upToCount: remainingSize) {
697 |                     try destinationHandle.write(contentsOf: contents)
BUILD FAILURE 6.1 wasm