The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Tarscape, reference main (ce0261), with Swift 6.3 for Linux on 12 Apr 2026 20:14:59 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
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:         linux
Swift version:             6.3
Building package at path:  $PWD
https://github.com/kayembi/Tarscape.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:5a7d791d2ead8a924b1292cb31bf3288eabcfe8880e0b005b00b45b71a5bc36a
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/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 |
[4/12] Compiling Tarscape KBTarErrors.swift
[5/12] Compiling Tarscape KBTarEntry.swift
[6/12] 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 'template:variables:')
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 'template:variables:')
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:81: error: dictionary of type '[URL.Template.VariableName : URL.Template.Value]' cannot be used with array literal
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: dictionary of type '[URL.Template.VariableName : URL.Template.Value]' cannot be used with array literal
    |                                                                                 `- note: did you mean to use a dictionary literal instead?
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:83: error: type 'URL.Template.VariableName' has no member 'withoutUI'
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: type 'URL.Template.VariableName' has no member 'withoutUI'
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:95: error: type 'URL.Template.VariableName' has no member 'withoutMounting'
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: type 'URL.Template.VariableName' has no member 'withoutMounting'
217 |                 } else {
218 |                     linkName = try? FileManager.default.destinationOfSymbolicLink(atPath: fileURL.path)
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:216:111: error: value of optional type 'URL?' must be unwrapped to refer to member 'path' of wrapped base type 'URL'
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: value of optional type 'URL?' must be unwrapped to refer to member 'path' of wrapped base type 'URL'
    |                                                                                                               `- note: chain the optional using '?' to access member 'path' only for non-'nil' base values
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 'template:variables:')
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 'template:variables:')
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:85: error: dictionary of type '[URL.Template.VariableName : URL.Template.Value]' cannot be used with array literal
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: dictionary of type '[URL.Template.VariableName : URL.Template.Value]' cannot be used with array literal
    |                                                                                     `- note: did you mean to use a dictionary literal instead?
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:87: error: type 'URL.Template.VariableName' has no member 'withoutUI'
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: type 'URL.Template.VariableName' has no member 'withoutUI'
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:99: error: type 'URL.Template.VariableName' has no member 'withoutMounting'
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: type 'URL.Template.VariableName' has no member 'withoutMounting'
222 |                     }
223 |                 }
/host/spi-builder-workspace/Sources/Tarscape/KBTarArchiver.swift:221:115: error: value of optional type 'URL?' must be unwrapped to refer to member 'path' of wrapped base type 'URL'
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: value of optional type 'URL?' must be unwrapped to refer to member 'path' of wrapped base type 'URL'
    |                                                                                                                   `- note: chain the optional using '?' to access member 'path' only for non-'nil' base values
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)
[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: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: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)
[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: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: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)
[9/12] 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)
[10/12] Compiling Tarscape Int+Tar.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[11/12] Compiling Tarscape KBTar.swift
[12/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: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: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)
BUILD FAILURE 6.3 linux