Build Information
Failed to build Tarscape, reference main (ce0261), with Swift 6.1 for Android on 28 May 2025 04:41:07 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.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1Build 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: android
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-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 -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
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-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 KBTar.swift
[5/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 {
[6/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)
[7/12] Compiling Tarscape KBTarEntry.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/12] Compiling Tarscape Int+Tar.swift
[9/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)
[10/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)
[11/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)
/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) {
[12/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)
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/10] Compiling Tarscape KBTarEntry.swift
[3/11] Compiling Tarscape KBTarErrors.swift
[4/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)
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/11] Compiling Tarscape Int+Tar.swift
[6/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)
[7/11] 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/11] 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/11] Compiling Tarscape KBTar.swift
[10/11] 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 {
[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 android