Build Information
Successful build of sstv, reference v0.6.0 (2b95e6), with Swift 6.1 for Android on 8 Feb 2026 07:45:17 UTC.
Swift 6 data race errors: 1
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" 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>&1Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kevinnz/SSTV-MEL.git
Reference: v0.6.0
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/kevinnz/SSTV-MEL
* tag v0.6.0 -> FETCH_HEAD
HEAD is now at 2b95e6d chore: prepare v0.6.0 release
Cloned https://github.com/kevinnz/SSTV-MEL.git
Revision (git rev-parse @):
2b95e6dda92840666390db10a9c1511d15759861
SUCCESS checkout https://github.com/kevinnz/SSTV-MEL.git at v0.6.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.1
Building package at path: $PWD
https://github.com/kevinnz/SSTV-MEL.git
https://github.com/kevinnz/SSTV-MEL.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
"dependencies" : [
],
"manifest_display_name" : "sstv",
"name" : "sstv",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "SSTVCore",
"targets" : [
"SSTVCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "sstv",
"targets" : [
"sstv"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "sstvTests",
"module_type" : "SwiftTarget",
"name" : "sstvTests",
"path" : "Tests/sstvTests",
"sources" : [
"DecoderStateTests.swift",
"GoldenFileTests.swift",
"PD120ModeTests.swift",
"PD180ModeTests.swift",
"Robot36ModeTests.swift"
],
"target_dependencies" : [
"SSTVCore"
],
"type" : "test"
},
{
"c99name" : "sstv",
"module_type" : "SwiftTarget",
"name" : "sstv",
"path" : "Sources/sstv",
"product_memberships" : [
"sstv"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"SSTVCore"
],
"type" : "executable"
},
{
"c99name" : "SSTVCore",
"module_type" : "SwiftTarget",
"name" : "SSTVCore",
"path" : "Sources/SSTVCore",
"product_memberships" : [
"SSTVCore",
"sstv"
],
"sources" : [
"Audio/WAVReader.swift",
"DSP/FMDemodulator.swift",
"DSP/Goertzel.swift",
"Image/ImageBuffer.swift",
"Image/ImageWriter.swift",
"Modes/ModeParameters.swift",
"Modes/PD120Mode.swift",
"Modes/PD180Mode.swift",
"Modes/Robot36Mode.swift",
"SSTV/DecoderDelegate.swift",
"SSTV/DecodingOptions.swift",
"SSTV/DecodingProgress.swift",
"SSTV/SSTVDecoder.swift",
"SSTV/SSTVDecoderCore.swift",
"SSTV/SSTVMode.swift",
"SSTV/VISDetector.swift",
"Util/ImageComparison.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" 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:08fa5f1bd27c53c71ebe7c2842e29d52715d90da2c5b8f52513c9039c232613d
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Building for debugging...
[0/7] Write sources
[2/7] Write swift-version-24593BA9C3E375BF.txt
[4/23] Emitting module SSTVCore
/host/spi-builder-workspace/Sources/SSTVCore/SSTV/DecodingOptions.swift:149:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DecodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
40 | /// let buffer = try decoder.decode(audio: audio, options: options)
41 | /// ```
42 | public struct DecodingOptions {
| `- note: consider making struct 'DecodingOptions' conform to the 'Sendable' protocol
43 |
44 | // MARK: - Limits
:
147 |
148 | /// Default options with no adjustments
149 | public static let `default` = DecodingOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DecodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
150 |
151 | // MARK: - Computed Properties
[5/25] Compiling SSTVCore DecodingProgress.swift
[6/25] Compiling SSTVCore SSTVDecoder.swift
[7/25] Compiling SSTVCore ImageBuffer.swift
[8/25] Compiling SSTVCore ImageWriter.swift
[9/25] Compiling SSTVCore VISDetector.swift
[10/25] Compiling SSTVCore ImageComparison.swift
[11/25] Compiling SSTVCore DecoderDelegate.swift
/host/spi-builder-workspace/Sources/SSTVCore/SSTV/DecodingOptions.swift:149:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DecodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
40 | /// let buffer = try decoder.decode(audio: audio, options: options)
41 | /// ```
42 | public struct DecodingOptions {
| `- note: consider making struct 'DecodingOptions' conform to the 'Sendable' protocol
43 |
44 | // MARK: - Limits
:
147 |
148 | /// Default options with no adjustments
149 | public static let `default` = DecodingOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DecodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
150 |
151 | // MARK: - Computed Properties
[12/25] Compiling SSTVCore DecodingOptions.swift
/host/spi-builder-workspace/Sources/SSTVCore/SSTV/DecodingOptions.swift:149:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DecodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
40 | /// let buffer = try decoder.decode(audio: audio, options: options)
41 | /// ```
42 | public struct DecodingOptions {
| `- note: consider making struct 'DecodingOptions' conform to the 'Sendable' protocol
43 |
44 | // MARK: - Limits
:
147 |
148 | /// Default options with no adjustments
149 | public static let `default` = DecodingOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'DecodingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
150 |
151 | // MARK: - Computed Properties
[13/25] Compiling SSTVCore PD180Mode.swift
[14/25] Compiling SSTVCore Robot36Mode.swift
[15/25] Compiling SSTVCore ModeParameters.swift
[16/25] Compiling SSTVCore PD120Mode.swift
[17/25] Compiling SSTVCore WAVReader.swift
[18/25] Compiling SSTVCore FMDemodulator.swift
[19/25] Compiling SSTVCore Goertzel.swift
[20/25] Compiling SSTVCore SSTVDecoderCore.swift
[21/25] Compiling SSTVCore SSTVMode.swift
[22/26] Wrapping AST for SSTVCore for debugging
[24/28] Emitting module sstv
[25/28] Compiling sstv main.swift
/host/spi-builder-workspace/Sources/sstv/main.swift:82: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
80 |
81 | print(status, terminator: "")
82 | 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
83 | }
84 | }
/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 |
[26/29] Wrapping AST for sstv for debugging
[27/29] Write Objects.LinkFileList
[28/29] Linking sstv
Build complete! (23.09s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "sstv",
"name" : "sstv",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "ios",
"version" : "16.0"
}
],
"products" : [
{
"name" : "SSTVCore",
"targets" : [
"SSTVCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "sstv",
"targets" : [
"sstv"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "sstvTests",
"module_type" : "SwiftTarget",
"name" : "sstvTests",
"path" : "Tests/sstvTests",
"sources" : [
"DecoderStateTests.swift",
"GoldenFileTests.swift",
"PD120ModeTests.swift",
"PD180ModeTests.swift",
"Robot36ModeTests.swift"
],
"target_dependencies" : [
"SSTVCore"
],
"type" : "test"
},
{
"c99name" : "sstv",
"module_type" : "SwiftTarget",
"name" : "sstv",
"path" : "Sources/sstv",
"product_memberships" : [
"sstv"
],
"sources" : [
"main.swift"
],
"target_dependencies" : [
"SSTVCore"
],
"type" : "executable"
},
{
"c99name" : "SSTVCore",
"module_type" : "SwiftTarget",
"name" : "SSTVCore",
"path" : "Sources/SSTVCore",
"product_memberships" : [
"SSTVCore",
"sstv"
],
"sources" : [
"Audio/WAVReader.swift",
"DSP/FMDemodulator.swift",
"DSP/Goertzel.swift",
"Image/ImageBuffer.swift",
"Image/ImageWriter.swift",
"Modes/ModeParameters.swift",
"Modes/PD120Mode.swift",
"Modes/PD180Mode.swift",
"Modes/Robot36Mode.swift",
"SSTV/DecoderDelegate.swift",
"SSTV/DecodingOptions.swift",
"SSTV/DecodingProgress.swift",
"SSTV/SSTVDecoder.swift",
"SSTV/SSTVDecoderCore.swift",
"SSTV/SSTVMode.swift",
"SSTV/VISDetector.swift",
"Util/ImageComparison.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:08fa5f1bd27c53c71ebe7c2842e29d52715d90da2c5b8f52513c9039c232613d
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
Done.