The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Tarscape, reference main (ce0261), with Swift 6.2 for Android on 19 Jun 2025 08:47:11 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.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:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/kayembi/Tarscape.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-8C5A4AE7A8CE2BA.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/11] 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)
[4/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 '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)
[5/12] Compiling Tarscape KBTarErrors.swift
[6/12] Compiling Tarscape KBTarEntry.swift
[7/12] Compiling Tarscape Int+Tar.swift
[8/12] Compiling Tarscape KBTar.swift
[9/12] Compiling Tarscape KBFileAttributes.swift
/host/spi-builder-workspace/Sources/Tarscape/KBFileAttributes.swift:33:24: error: cannot find 'stat' in scope
 31 |
 32 |         let fileSystemRep = FileManager.default.fileSystemRepresentation(withPath: fileURL.path)
 33 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
 34 |         lstat(fileSystemRep, &fileStat)
 35 |
/host/spi-builder-workspace/Sources/Tarscape/KBFileAttributes.swift:34:9: error: cannot find 'lstat' in scope
 32 |         let fileSystemRep = FileManager.default.fileSystemRepresentation(withPath: fileURL.path)
 33 |         var fileStat = stat()
 34 |         lstat(fileSystemRep, &fileStat)
    |         `- error: cannot find 'lstat' in scope
 35 |
 36 |         // Alias files are different from symbolic links, and C's stat() mode cannot
/host/spi-builder-workspace/Sources/Tarscape/KBFileAttributes.swift:88:24: error: cannot find 'S_IFMT' in scope
 86 |         // https://github.com/RubyNative/SwiftRuby/blob/master/Stat.swift
 87 |         fileprivate init(mode: mode_t) {
 88 |             if (mode & S_IFMT) == S_IFDIR {
    |                        `- error: cannot find 'S_IFMT' in scope
 89 |                 self = .directory
 90 |             }
/host/spi-builder-workspace/Sources/Tarscape/KBFileAttributes.swift:88:35: error: cannot find 'S_IFDIR' in scope
 86 |         // https://github.com/RubyNative/SwiftRuby/blob/master/Stat.swift
 87 |         fileprivate init(mode: mode_t) {
 88 |             if (mode & S_IFMT) == S_IFDIR {
    |                                   `- error: cannot find 'S_IFDIR' in scope
 89 |                 self = .directory
 90 |             }
/host/spi-builder-workspace/Sources/Tarscape/KBFileAttributes.swift:91:29: error: cannot find 'S_IFMT' in scope
 89 |                 self = .directory
 90 |             }
 91 |             else if (mode & S_IFMT) == S_IFLNK {
    |                             `- error: cannot find 'S_IFMT' in scope
 92 |                 self = .symbolicLink
 93 |             } else {
/host/spi-builder-workspace/Sources/Tarscape/KBFileAttributes.swift:91:40: error: cannot find 'S_IFLNK' in scope
 89 |                 self = .directory
 90 |             }
 91 |             else if (mode & S_IFMT) == S_IFLNK {
    |                                        `- error: cannot find 'S_IFLNK' in scope
 92 |                 self = .symbolicLink
 93 |             } else {
[10/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)
[11/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)
[12/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)
BUILD FAILURE 6.2 android