The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Terminus, reference 0.1.2 (7c5c57), with Swift 6.1 for Android on 28 May 2025 12:55:02 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jbadger3/Terminus.git
Reference: 0.1.2
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/jbadger3/Terminus
 * tag               0.1.2      -> FETCH_HEAD
HEAD is now at 7c5c573 Merge pull request #4 from jbadger3/issue_3
Cloned https://github.com/jbadger3/Terminus.git
Revision (git rev-parse @):
7c5c57397ef0234b4e39bb6a77122672b385ef8a
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/jbadger3/Terminus.git at 0.1.2
========================================
Build
========================================
Selected platform:         android
Swift version:             6.1
Building package at path:  $PWD
https://github.com/jbadger3/Terminus.git
https://github.com/jbadger3/Terminus.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    }
  ],
  "manifest_display_name" : "Terminus",
  "name" : "Terminus",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "Terminus",
      "targets" : [
        "Terminus"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TerminusTest",
      "targets" : [
        "TerminusTestApp"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TerminusTests",
      "module_type" : "SwiftTarget",
      "name" : "TerminusTests",
      "path" : "Tests/TerminusTests",
      "sources" : [
        "CursorTests.swift",
        "MockTerminalIO.swift",
        "TerminalTests.swift",
        "TermiosTests.swift"
      ],
      "target_dependencies" : [
        "Terminus"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TerminusTestApp",
      "module_type" : "SwiftTarget",
      "name" : "TerminusTestApp",
      "path" : "Sources/TerminusTestApp",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "TerminusTest"
      ],
      "sources" : [
        "TestAssertions.swift",
        "TestCase.swift",
        "TestLogger.swift",
        "Tests/CursorTests.swift",
        "Tests/MenuTests.swift",
        "Tests/TerminalTests.swift",
        "VisualTest.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "Terminus"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Terminus",
      "module_type" : "SwiftTarget",
      "name" : "Terminus",
      "path" : "Sources/Terminus",
      "product_memberships" : [
        "Terminus",
        "TerminusTest"
      ],
      "sources" : [
        "Core/ANSIEscapeCode.swift",
        "Core/Attribute.swift",
        "Core/AttributeScopes+Terminal.swift",
        "Core/Color/Color.swift",
        "Core/Color/ColorPair.swift",
        "Core/Color/ColorPalette.swift",
        "Core/Color/Palettes/BasicColorPalette.swift",
        "Core/Color/Palettes/X11WebPalette.swift",
        "Core/Color/Palettes/XTermPalette.swift",
        "Core/Cursor.swift",
        "Core/Key.swift",
        "Core/KeyTypes.swift",
        "Core/Location.swift",
        "Core/String+strippingCSI.swift",
        "Core/Terminal.swift",
        "Core/Termios.swift",
        "UIControls/LineEditor.swift",
        "UIControls/Menu.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-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
Fetching https://github.com/apple/swift-argument-parser.git
[1/15351] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.93s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.0 (2.39s)
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.5.0
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/12] Write sources
[5/12] Write swift-version-24593BA9C3E375BF.txt
[7/31] Emitting module ArgumentParserToolInfo
[8/31] Compiling ArgumentParserToolInfo ToolInfo.swift
[9/32] Wrapping AST for ArgumentParserToolInfo for debugging
[11/70] Compiling ArgumentParser ArgumentVisibility.swift
[12/70] Compiling ArgumentParser CompletionKind.swift
[13/70] Compiling ArgumentParser Errors.swift
[14/70] Compiling ArgumentParser Flag.swift
[15/70] Compiling ArgumentParser NameSpecification.swift
[16/70] Compiling ArgumentParser Option.swift
[17/75] Compiling ArgumentParser ArgumentDefinition.swift
[18/75] Compiling ArgumentParser ArgumentSet.swift
[19/75] Compiling ArgumentParser CommandParser.swift
[20/75] Compiling ArgumentParser InputKey.swift
[21/75] Compiling ArgumentParser InputOrigin.swift
[22/75] Emitting module ArgumentParser
[23/75] Compiling ArgumentParser BashCompletionsGenerator.swift
[24/75] Compiling ArgumentParser CompletionsGenerator.swift
[25/75] Compiling ArgumentParser FishCompletionsGenerator.swift
[26/75] Compiling ArgumentParser ZshCompletionsGenerator.swift
[27/75] Compiling ArgumentParser Argument.swift
[28/75] Compiling ArgumentParser ArgumentHelp.swift
[29/75] Compiling ArgumentParser OptionGroup.swift
[30/75] Compiling ArgumentParser AsyncParsableCommand.swift
[31/75] Compiling ArgumentParser CommandConfiguration.swift
[32/75] Compiling ArgumentParser CommandGroup.swift
[33/75] Compiling ArgumentParser EnumerableFlag.swift
[34/75] Compiling ArgumentParser ExpressibleByArgument.swift
[35/75] Compiling ArgumentParser ParsableArguments.swift
[36/75] Compiling ArgumentParser ParsableArgumentsValidation.swift
[37/75] Compiling ArgumentParser ParsableCommand.swift
[38/75] Compiling ArgumentParser ArgumentDecoder.swift
[39/75] Compiling ArgumentParser CollectionExtensions.swift
[40/75] Compiling ArgumentParser Platform.swift
[41/75] Compiling ArgumentParser SequenceExtensions.swift
[42/75] Compiling ArgumentParser StringExtensions.swift
[43/75] Compiling ArgumentParser Tree.swift
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
  4 |  The starting point and primary means of interaction for a command line application.
  5 |  */
  6 | public class Terminal {
    |              `- note: class 'Terminal' does not conform to the 'Sendable' protocol
  7 |     ///The shared singleton Terminal object.
  8 |     public static let shared = Terminal()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |     ///The cursor associated with the terminal
 10 |     public let cursor = Cursor()
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:27:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 25 |         let attributeString = attributes.map({$0.csString()}).joined(separator: "")
 26 |         print(attributeString, terminator: "")
 27 |         fflush(stdout)
    |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 28 |     }
 29 |
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:33:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 31 |         let attributeString = attributes.map({$0.resetValue()}).joined(separator: "")
 32 |         print(attributeString, terminator: "")
 33 |         fflush(stdout)
    |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 34 |     }
 35 |
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:104:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
102 |         let resetAttributes = attributes.map{$0.resetValue()}.joined(separator: "")
103 |         print(resetAttributes, terminator: "")
104 |         fflush(stdout)
    |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
105 |
106 |         if let textArea = try? textAreaSize(),
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:124:30: warning: type 'Attribute' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
122 |         for run in attributedString.runs {
123 |             let subString = String(attributedString[run.range].characters)
124 |             let attributes = run.terminalTextAttributes ?? []
    |                              `- warning: type 'Attribute' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 |             write(subString, attributes: attributes)
126 |         }
/host/spi-builder-workspace/Sources/Terminus/Core/Attribute.swift:7:13: note: consider making enum 'Attribute' conform to the 'Sendable' protocol
 5 |
 6 | ///Used to specify the appearance of characters on screen.  Mutliple attributes can be combined for varying effects.
 7 | public enum Attribute: ControlSequenceEmitting {
   |             `- note: consider making enum 'Attribute' conform to the 'Sendable' protocol
 8 |     case resetToDefault //CSI 0m
 9 |     case bold //CSI 1m
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:134:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
132 |     public func executeControlSequence(_ controlSequence: ControlSequenceEmitting) {
133 |         print(controlSequence.csString(), terminator: "")
134 |         fflush(stdout)
    |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
135 |     }
136 |
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:144:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
142 |     public func executeControlSequenceWithResponse(_ controlSequence: ControlSequenceEmitting) throws -> String {
143 |         print(controlSequence.csString(), terminator: "")
144 |         fflush(stdout)
    |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
145 |         do {
146 |             let responseString = try read(nBytes: 64)
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:12:27: error: cannot find 'termios' in scope
10 | struct Termios {
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
   |                           `- error: cannot find 'termios' in scope
13 |     var currentTermios: termios
14 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:13:25: error: cannot find type 'termios' in scope
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
13 |     var currentTermios: termios
   |                         `- error: cannot find type 'termios' in scope
14 |
15 |     init() {
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:16:9: error: cannot find 'tcgetattr' in scope
14 |
15 |     init() {
16 |         tcgetattr(fd, &originalTermios)
   |         `- error: cannot find 'tcgetattr' in scope
17 |         currentTermios = originalTermios
18 |     }
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:31:9: error: cannot find 'tcsetattr' in scope
29 |
30 |         #endif
31 |         tcsetattr(fd, TCSADRAIN, &currentTermios)
   |         `- error: cannot find 'tcsetattr' in scope
32 |     }
33 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:31:23: error: cannot find 'TCSADRAIN' in scope
29 |
30 |         #endif
31 |         tcsetattr(fd, TCSADRAIN, &currentTermios)
   |                       `- error: cannot find 'TCSADRAIN' in scope
32 |     }
33 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:36:9: error: cannot find 'tcsetattr' in scope
34 |     ///Restores termios to its original settings
35 |     mutating func restoreOriginalSettings() {
36 |         tcsetattr(fd, TCSAFLUSH, &originalTermios)
   |         `- error: cannot find 'tcsetattr' in scope
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:36:23: error: cannot find 'TCSAFLUSH' in scope
34 |     ///Restores termios to its original settings
35 |     mutating func restoreOriginalSettings() {
36 |         tcsetattr(fd, TCSAFLUSH, &originalTermios)
   |                       `- error: cannot find 'TCSAFLUSH' in scope
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
  4 |  The starting point and primary means of interaction for a command line application.
  5 |  */
  6 | public class Terminal {
    |              `- note: class 'Terminal' does not conform to the 'Sendable' protocol
  7 |     ///The shared singleton Terminal object.
  8 |     public static let shared = Terminal()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |     ///The cursor associated with the terminal
 10 |     public let cursor = Cursor()
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:27:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 25 |         let attributeString = attributes.map({$0.csString()}).joined(separator: "")
 26 |         print(attributeString, terminator: "")
 27 |         fflush(stdout)
    |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 28 |     }
 29 |
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:33:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 31 |         let attributeString = attributes.map({$0.resetValue()}).joined(separator: "")
 32 |         print(attributeString, terminator: "")
 33 |         fflush(stdout)
    |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 34 |     }
 35 |
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:104:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
102 |         let resetAttributes = attributes.map{$0.resetValue()}.joined(separator: "")
103 |         print(resetAttributes, terminator: "")
104 |         fflush(stdout)
    |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
105 |
106 |         if let textArea = try? textAreaSize(),
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:124:30: warning: type 'Attribute' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
122 |         for run in attributedString.runs {
123 |             let subString = String(attributedString[run.range].characters)
124 |             let attributes = run.terminalTextAttributes ?? []
    |                              `- warning: type 'Attribute' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 |             write(subString, attributes: attributes)
126 |         }
/host/spi-builder-workspace/Sources/Terminus/Core/Attribute.swift:7:13: note: consider making enum 'Attribute' conform to the 'Sendable' protocol
 5 |
 6 | ///Used to specify the appearance of characters on screen.  Mutliple attributes can be combined for varying effects.
 7 | public enum Attribute: ControlSequenceEmitting {
   |             `- note: consider making enum 'Attribute' conform to the 'Sendable' protocol
 8 |     case resetToDefault //CSI 0m
 9 |     case bold //CSI 1m
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:134:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
132 |     public func executeControlSequence(_ controlSequence: ControlSequenceEmitting) {
133 |         print(controlSequence.csString(), terminator: "")
134 |         fflush(stdout)
    |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
135 |     }
136 |
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:144:16: warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
142 |     public func executeControlSequenceWithResponse(_ controlSequence: ControlSequenceEmitting) throws -> String {
143 |         print(controlSequence.csString(), terminator: "")
144 |         fflush(stdout)
    |                `- warning: reference to var 'stdout' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
145 |         do {
146 |             let responseString = try read(nBytes: 64)
/root/.swiftpm/swift-sdks/swift-6.1-RELEASE-android-24-0.1.artifactbundle/swift-6.1-release-android-24-sdk/android-27c-sysroot/usr/include/stdio.h:63:23: note: var declared here
 61 | #if __ANDROID_API__ >= 23
 62 | extern FILE* _Nonnull stdin __INTRODUCED_IN(23);
 63 | extern FILE* _Nonnull stdout __INTRODUCED_IN(23);
    |                       `- note: var declared here
 64 | extern FILE* _Nonnull stderr __INTRODUCED_IN(23);
 65 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:12:27: error: cannot find 'termios' in scope
10 | struct Termios {
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
   |                           `- error: cannot find 'termios' in scope
13 |     var currentTermios: termios
14 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:13:25: error: cannot find type 'termios' in scope
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
13 |     var currentTermios: termios
   |                         `- error: cannot find type 'termios' in scope
14 |
15 |     init() {
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:16:9: error: cannot find 'tcgetattr' in scope
14 |
15 |     init() {
16 |         tcgetattr(fd, &originalTermios)
   |         `- error: cannot find 'tcgetattr' in scope
17 |         currentTermios = originalTermios
18 |     }
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:31:9: error: cannot find 'tcsetattr' in scope
29 |
30 |         #endif
31 |         tcsetattr(fd, TCSADRAIN, &currentTermios)
   |         `- error: cannot find 'tcsetattr' in scope
32 |     }
33 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:31:23: error: cannot find 'TCSADRAIN' in scope
29 |
30 |         #endif
31 |         tcsetattr(fd, TCSADRAIN, &currentTermios)
   |                       `- error: cannot find 'TCSADRAIN' in scope
32 |     }
33 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:36:9: error: cannot find 'tcsetattr' in scope
34 |     ///Restores termios to its original settings
35 |     mutating func restoreOriginalSettings() {
36 |         tcsetattr(fd, TCSAFLUSH, &originalTermios)
   |         `- error: cannot find 'tcsetattr' in scope
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:36:23: error: cannot find 'TCSAFLUSH' in scope
34 |     ///Restores termios to its original settings
35 |     mutating func restoreOriginalSettings() {
36 |         tcsetattr(fd, TCSAFLUSH, &originalTermios)
   |                       `- error: cannot find 'TCSAFLUSH' in scope
37 |     }
38 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[48/77] Emitting module Terminus
/host/spi-builder-workspace/Sources/Terminus/Core/Terminal.swift:8:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
  4 |  The starting point and primary means of interaction for a command line application.
  5 |  */
  6 | public class Terminal {
    |              `- note: class 'Terminal' does not conform to the 'Sendable' protocol
  7 |     ///The shared singleton Terminal object.
  8 |     public static let shared = Terminal()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Terminal' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  9 |     ///The cursor associated with the terminal
 10 |     public let cursor = Cursor()
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:12:27: error: cannot find 'termios' in scope
10 | struct Termios {
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
   |                           `- error: cannot find 'termios' in scope
13 |     var currentTermios: termios
14 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:13:25: error: cannot find type 'termios' in scope
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
13 |     var currentTermios: termios
   |                         `- error: cannot find type 'termios' in scope
14 |
15 |     init() {
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:24:23: warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
 22 |     public let itemAttributes: [Attribute]
 23 |     public let selectionAttributes: [Attribute]
 24 |     public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
    |                       |- warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultItemColorPair' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |     public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
 26 |
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 |  ```
21 |  */
22 | public struct ColorPair: Equatable {
   |               `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 |     public let foreground: Color
24 |     public let background: Color
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:25:23: warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
 23 |     public let selectionAttributes: [Attribute]
 24 |     public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
 25 |     public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
    |                       |- warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultSelectionColorPair' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |
 27 |     var hidden: Bool = true
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 |  ```
21 |  */
22 | public struct ColorPair: Equatable {
   |               `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 |     public let foreground: Color
24 |     public let background: Color
[61/77] Compiling ArgumentParser DumpHelpGenerator.swift
[62/77] Compiling ArgumentParser HelpCommand.swift
[63/77] Compiling ArgumentParser HelpGenerator.swift
[64/77] Compiling ArgumentParser MessageInfo.swift
[65/77] Compiling ArgumentParser UsageGenerator.swift
[66/77] Compiling ArgumentParser Name.swift
[67/77] Compiling ArgumentParser Parsed.swift
[68/77] Compiling ArgumentParser ParsedValues.swift
[69/77] Compiling ArgumentParser ParserError.swift
[70/77] Compiling ArgumentParser SplitArguments.swift
[71/78] Wrapping AST for ArgumentParser for debugging
[73/78] Compiling Terminus LineEditor.swift
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:24:23: warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
 22 |     public let itemAttributes: [Attribute]
 23 |     public let selectionAttributes: [Attribute]
 24 |     public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
    |                       |- warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultItemColorPair' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |     public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
 26 |
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 |  ```
21 |  */
22 | public struct ColorPair: Equatable {
   |               `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 |     public let foreground: Color
24 |     public let background: Color
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:25:23: warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
 23 |     public let selectionAttributes: [Attribute]
 24 |     public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
 25 |     public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
    |                       |- warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultSelectionColorPair' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |
 27 |     var hidden: Bool = true
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 |  ```
21 |  */
22 | public struct ColorPair: Equatable {
   |               `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 |     public let foreground: Color
24 |     public let background: Color
[74/78] Compiling Terminus Menu.swift
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:24:23: warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
 22 |     public let itemAttributes: [Attribute]
 23 |     public let selectionAttributes: [Attribute]
 24 |     public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
    |                       |- warning: static property 'defaultItemColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultItemColorPair' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |     public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
 26 |
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 |  ```
21 |  */
22 | public struct ColorPair: Equatable {
   |               `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 |     public let foreground: Color
24 |     public let background: Color
/host/spi-builder-workspace/Sources/Terminus/UIControls/Menu.swift:25:23: warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
 23 |     public let selectionAttributes: [Attribute]
 24 |     public static let defaultItemColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Silver)
 25 |     public static let defaultSelectionColorPair = ColorPair(foreground: XTermPalette().Black, background: XTermPalette().Grey46)
    |                       |- warning: static property 'defaultSelectionColorPair' is not concurrency-safe because non-'Sendable' type 'ColorPair' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: add '@MainActor' to make static property 'defaultSelectionColorPair' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |
 27 |     var hidden: Bool = true
/host/spi-builder-workspace/Sources/Terminus/Core/Color/ColorPair.swift:22:15: note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
20 |  ```
21 |  */
22 | public struct ColorPair: Equatable {
   |               `- note: consider making struct 'ColorPair' conform to the 'Sendable' protocol
23 |     public let foreground: Color
24 |     public let background: Color
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-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
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/8] Write swift-version-24593BA9C3E375BF.txt
[3/27] Compiling Terminus Location.swift
[4/27] Compiling Terminus String+strippingCSI.swift
[5/29] Compiling Terminus Key.swift
[6/29] Compiling Terminus KeyTypes.swift
[7/29] Compiling Terminus ANSIEscapeCode.swift
[8/29] Compiling Terminus Attribute.swift
[9/29] Compiling Terminus AttributeScopes+Terminal.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[10/29] Emitting module Terminus
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:12:27: error: cannot find 'termios' in scope
10 | struct Termios {
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
   |                           `- error: cannot find 'termios' in scope
13 |     var currentTermios: termios
14 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:13:25: error: cannot find type 'termios' in scope
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
13 |     var currentTermios: termios
   |                         `- error: cannot find type 'termios' in scope
14 |
15 |     init() {
[11/29] Compiling Terminus Terminal.swift
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:12:27: error: cannot find 'termios' in scope
10 | struct Termios {
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
   |                           `- error: cannot find 'termios' in scope
13 |     var currentTermios: termios
14 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:13:25: error: cannot find type 'termios' in scope
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
13 |     var currentTermios: termios
   |                         `- error: cannot find type 'termios' in scope
14 |
15 |     init() {
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:16:9: error: cannot find 'tcgetattr' in scope
14 |
15 |     init() {
16 |         tcgetattr(fd, &originalTermios)
   |         `- error: cannot find 'tcgetattr' in scope
17 |         currentTermios = originalTermios
18 |     }
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:31:9: error: cannot find 'tcsetattr' in scope
29 |
30 |         #endif
31 |         tcsetattr(fd, TCSADRAIN, &currentTermios)
   |         `- error: cannot find 'tcsetattr' in scope
32 |     }
33 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:31:23: error: cannot find 'TCSADRAIN' in scope
29 |
30 |         #endif
31 |         tcsetattr(fd, TCSADRAIN, &currentTermios)
   |                       `- error: cannot find 'TCSADRAIN' in scope
32 |     }
33 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:36:9: error: cannot find 'tcsetattr' in scope
34 |     ///Restores termios to its original settings
35 |     mutating func restoreOriginalSettings() {
36 |         tcsetattr(fd, TCSAFLUSH, &originalTermios)
   |         `- error: cannot find 'tcsetattr' in scope
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:36:23: error: cannot find 'TCSAFLUSH' in scope
34 |     ///Restores termios to its original settings
35 |     mutating func restoreOriginalSettings() {
36 |         tcsetattr(fd, TCSAFLUSH, &originalTermios)
   |                       `- error: cannot find 'TCSAFLUSH' in scope
37 |     }
38 | }
[12/29] Compiling Terminus Termios.swift
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:12:27: error: cannot find 'termios' in scope
10 | struct Termios {
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
   |                           `- error: cannot find 'termios' in scope
13 |     var currentTermios: termios
14 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:13:25: error: cannot find type 'termios' in scope
11 |     let fd = FileHandle.standardInput.fileDescriptor
12 |     var originalTermios = termios()
13 |     var currentTermios: termios
   |                         `- error: cannot find type 'termios' in scope
14 |
15 |     init() {
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:16:9: error: cannot find 'tcgetattr' in scope
14 |
15 |     init() {
16 |         tcgetattr(fd, &originalTermios)
   |         `- error: cannot find 'tcgetattr' in scope
17 |         currentTermios = originalTermios
18 |     }
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:31:9: error: cannot find 'tcsetattr' in scope
29 |
30 |         #endif
31 |         tcsetattr(fd, TCSADRAIN, &currentTermios)
   |         `- error: cannot find 'tcsetattr' in scope
32 |     }
33 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:31:23: error: cannot find 'TCSADRAIN' in scope
29 |
30 |         #endif
31 |         tcsetattr(fd, TCSADRAIN, &currentTermios)
   |                       `- error: cannot find 'TCSADRAIN' in scope
32 |     }
33 |
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:36:9: error: cannot find 'tcsetattr' in scope
34 |     ///Restores termios to its original settings
35 |     mutating func restoreOriginalSettings() {
36 |         tcsetattr(fd, TCSAFLUSH, &originalTermios)
   |         `- error: cannot find 'tcsetattr' in scope
37 |     }
38 | }
/host/spi-builder-workspace/Sources/Terminus/Core/Termios.swift:36:23: error: cannot find 'TCSAFLUSH' in scope
34 |     ///Restores termios to its original settings
35 |     mutating func restoreOriginalSettings() {
36 |         tcsetattr(fd, TCSAFLUSH, &originalTermios)
   |                       `- error: cannot find 'TCSAFLUSH' in scope
37 |     }
38 | }
[13/29] Compiling ArgumentParserToolInfo ToolInfo.swift
[14/29] Emitting module ArgumentParserToolInfo
[16/29] Compiling Terminus Color.swift
[17/29] Compiling Terminus ColorPair.swift
[18/29] Compiling Terminus ColorPalette.swift
[19/29] Compiling Terminus BasicColorPalette.swift
[20/29] Compiling Terminus X11WebPalette.swift
[21/29] Compiling Terminus XTermPalette.swift
[22/29] Compiling Terminus Cursor.swift
[23/67] Compiling ArgumentParser Option.swift
[24/67] Compiling ArgumentParser Name.swift
BUILD FAILURE 6.1 android