The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build Octoid, reference v1.0.6 (764076), with Swift 6.2 (beta) for Android on 19 Jun 2025 20:50:24 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/elegantchaos/Octoid.git
Reference: v1.0.6
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/elegantchaos/Octoid
 * tag               v1.0.6     -> FETCH_HEAD
HEAD is now at 7640765 Added isEmpty
Cloned https://github.com/elegantchaos/Octoid.git
Revision (git rev-parse @):
7640765e7587b8654c4df78f2ce5e37f45380f96
SUCCESS checkout https://github.com/elegantchaos/Octoid.git at v1.0.6
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/elegantchaos/Octoid.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Fetching https://github.com/elegantchaos/XCTestExtensions.git
Fetching https://github.com/elegantchaos/JSONSession.git
Fetching https://github.com/elegantchaos/Logger.git
[1/571] Fetching xctestextensions
[373/878] Fetching xctestextensions, jsonsession
[555/2978] Fetching xctestextensions, jsonsession, logger
Fetching https://github.com/elegantchaos/CollectionExtensions.git
Fetched https://github.com/elegantchaos/JSONSession.git from cache (0.51s)
Fetched https://github.com/elegantchaos/Logger.git from cache (0.50s)
Fetched https://github.com/elegantchaos/XCTestExtensions.git from cache (0.51s)
[1/400] Fetching collectionextensions
Fetched https://github.com/elegantchaos/CollectionExtensions.git from cache (0.35s)
Computing version for https://github.com/elegantchaos/JSONSession.git
Computed https://github.com/elegantchaos/JSONSession.git at 1.1.1 (1.56s)
Fetching https://github.com/elegantchaos/Coercion.git
Fetching https://github.com/elegantchaos/DataFetcher.git
[1/274] Fetching coercion
[275/446] Fetching coercion, datafetcher
Fetched https://github.com/elegantchaos/Coercion.git from cache (0.36s)
Fetched https://github.com/elegantchaos/DataFetcher.git from cache (0.36s)
Computing version for https://github.com/elegantchaos/DataFetcher.git
Computed https://github.com/elegantchaos/DataFetcher.git at 1.0.2 (1.10s)
Computing version for https://github.com/elegantchaos/Coercion.git
Computed https://github.com/elegantchaos/Coercion.git at 1.1.3 (0.67s)
Computing version for https://github.com/elegantchaos/Logger.git
Computed https://github.com/elegantchaos/Logger.git at 1.8.2 (0.52s)
Computing version for https://github.com/elegantchaos/CollectionExtensions.git
Computed https://github.com/elegantchaos/CollectionExtensions.git at 1.1.10 (0.53s)
Computing version for https://github.com/elegantchaos/XCTestExtensions.git
Computed https://github.com/elegantchaos/XCTestExtensions.git at 1.5.1 (0.39s)
Fetching https://github.com/elegantchaos/Matchable.git
[1/113] Fetching matchable
Fetched https://github.com/elegantchaos/Matchable.git from cache (0.17s)
Computing version for https://github.com/elegantchaos/Matchable.git
Computed https://github.com/elegantchaos/Matchable.git at 1.0.7 (0.61s)
Creating working copy for https://github.com/elegantchaos/JSONSession.git
Working copy of https://github.com/elegantchaos/JSONSession.git resolved at 1.1.1
Creating working copy for https://github.com/elegantchaos/CollectionExtensions.git
Working copy of https://github.com/elegantchaos/CollectionExtensions.git resolved at 1.1.10
Creating working copy for https://github.com/elegantchaos/Logger.git
Working copy of https://github.com/elegantchaos/Logger.git resolved at 1.8.2
Creating working copy for https://github.com/elegantchaos/XCTestExtensions.git
Working copy of https://github.com/elegantchaos/XCTestExtensions.git resolved at 1.5.1
Creating working copy for https://github.com/elegantchaos/Coercion.git
Working copy of https://github.com/elegantchaos/Coercion.git resolved at 1.1.3
Creating working copy for https://github.com/elegantchaos/Matchable.git
Working copy of https://github.com/elegantchaos/Matchable.git resolved at 1.0.7
Creating working copy for https://github.com/elegantchaos/DataFetcher.git
Working copy of https://github.com/elegantchaos/DataFetcher.git resolved at 1.0.2
Building for debugging...
[0/7] Write sources
[6/7] Write swift-version-8C5A4AE7A8CE2BA.txt
[8/40] Compiling Logger PrintHandler.swift
[9/41] Compiling Logger NSLogHandler.swift
[10/41] Compiling Logger OSLogHandler.swift
[11/41] Compiling Logger Handler.swift
[12/41] Compiling Coercion IntConvertible.swift
[13/41] Compiling Coercion StandardConvertible.swift
[14/41] Compiling Coercion StringConvertible.swift
[15/41] Compiling Coercion UIntConvertible.swift
[16/42] Compiling Coercion String+Coercion.swift
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/String+Coercion.swift:46:11: error: cannot find type 'CFBoolean' in scope
44 |
45 | #if !os(Linux)
46 | extension CFBoolean: StringConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
47 |     public var asString: String? { self == kCFBooleanTrue ? "true" : "false" }
48 | }
[17/42] Compiling CollectionExtensions Array+Helpers.swift
[18/42] Compiling CollectionExtensions Collection+Helpers.swift
[19/42] Emitting module Logger
[20/42] Compiling Coercion DateConvertible.swift
[21/42] Compiling Coercion DoubleConvertible.swift
[22/42] Compiling Coercion BoolConvertible.swift
[23/42] Compiling Coercion DataConvertible.swift
[24/42] Compiling Logger ManagerSettings.swift
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/BinaryInteger+Coercion.swift:39:11: error: cannot find type 'CFBoolean' in scope
37 |
38 | #if !os(Linux)
39 | extension CFBoolean: IntConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
40 |     public var asInt: Int? { self == kCFBooleanTrue ? 1 : 0 }
41 | }
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/BinaryInteger+Coercion.swift:43:11: error: cannot find type 'CFBoolean' in scope
41 | }
42 |
43 | extension CFBoolean: UIntConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
44 |     public var asUInt: UInt? { self == kCFBooleanTrue ? 1 : 0 }
45 | }
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/Bool+Coercion.swift:33:11: error: cannot find type 'CFBoolean' in scope
31 |
32 | #if !os(Linux)
33 | extension CFBoolean: BoolConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
34 |     public var asBool: Bool? { self == kCFBooleanTrue }
35 | }
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/BinaryInteger+Coercion.swift:39:11: error: cannot find type 'CFBoolean' in scope
37 |
38 | #if !os(Linux)
39 | extension CFBoolean: IntConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
40 |     public var asInt: Int? { self == kCFBooleanTrue ? 1 : 0 }
41 | }
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/BinaryInteger+Coercion.swift:43:11: error: cannot find type 'CFBoolean' in scope
41 | }
42 |
43 | extension CFBoolean: UIntConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
44 |     public var asUInt: UInt? { self == kCFBooleanTrue ? 1 : 0 }
45 | }
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/Bool+Coercion.swift:33:11: error: cannot find type 'CFBoolean' in scope
31 |
32 | #if !os(Linux)
33 | extension CFBoolean: BoolConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
34 |     public var asBool: Bool? { self == kCFBooleanTrue }
35 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[27/42] Emitting module Coercion
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/BinaryInteger+Coercion.swift:39:11: error: cannot find type 'CFBoolean' in scope
37 |
38 | #if !os(Linux)
39 | extension CFBoolean: IntConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
40 |     public var asInt: Int? { self == kCFBooleanTrue ? 1 : 0 }
41 | }
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/BinaryInteger+Coercion.swift:43:11: error: cannot find type 'CFBoolean' in scope
41 | }
42 |
43 | extension CFBoolean: UIntConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
44 |     public var asUInt: UInt? { self == kCFBooleanTrue ? 1 : 0 }
45 | }
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/Bool+Coercion.swift:33:11: error: cannot find type 'CFBoolean' in scope
31 |
32 | #if !os(Linux)
33 | extension CFBoolean: BoolConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
34 |     public var asBool: Bool? { self == kCFBooleanTrue }
35 | }
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/Double+Coercion.swift:35:11: error: cannot find type 'CFBoolean' in scope
33 |
34 | #if !os(Linux)
35 | extension CFBoolean: DoubleConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
36 |     public var asDouble: Double? { self == kCFBooleanTrue ? 1.0 : 0.0 }
37 | }
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/String+Coercion.swift:46:11: error: cannot find type 'CFBoolean' in scope
44 |
45 | #if !os(Linux)
46 | extension CFBoolean: StringConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
47 |     public var asString: String? { self == kCFBooleanTrue ? "true" : "false" }
48 | }
[28/42] Compiling Coercion Dictionary+Coercion.swift
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/Double+Coercion.swift:35:11: error: cannot find type 'CFBoolean' in scope
33 |
34 | #if !os(Linux)
35 | extension CFBoolean: DoubleConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
36 |     public var asDouble: Double? { self == kCFBooleanTrue ? 1.0 : 0.0 }
37 | }
[29/42] Compiling Coercion Double+Coercion.swift
/host/spi-builder-workspace/.build/checkouts/Coercion/Sources/Coercion/Double+Coercion.swift:35:11: error: cannot find type 'CFBoolean' in scope
33 |
34 | #if !os(Linux)
35 | extension CFBoolean: DoubleConvertible {
   |           `- error: cannot find type 'CFBoolean' in scope
36 |     public var asDouble: Double? { self == kCFBooleanTrue ? 1.0 : 0.0 }
37 | }
[30/42] Compiling CollectionExtensions Sequence+Sum.swift
[31/42] Compiling CollectionExtensions Sequence+Sorting.swift
[32/43] Compiling Logger Manager.swift
/host/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Manager.swift:66:38: error: value of type '(Thread) -> () -> ()' has no member 'threadDictionary'
 64 |         /// We really do want there to only be a single instance of this, even if the logger library has mistakenly been
 65 |         /// linked multiple times, so we store it in the thread dictionary for the main thread, and retrieve it from there if necessary
 66 |         if let manager = Thread.main.threadDictionary["Logger.Manager"] {
    |                                      `- error: value of type '(Thread) -> () -> ()' has no member 'threadDictionary'
 67 |             return unsafeBitCast(manager as AnyObject, to: Self.self) // a normal cast might fail here if the code has been linked multiple times, since the class could be different (but identical)
 68 |         }
/host/spi-builder-workspace/.build/checkouts/Logger/Sources/Logger/Manager.swift:74:25: error: value of type '(Thread) -> () -> ()' has no member 'threadDictionary'
 72 |
 73 |         #if !os(Linux)
 74 |             Thread.main.threadDictionary["Logger.Manager"] = manager
    |                         `- error: value of type '(Thread) -> () -> ()' has no member 'threadDictionary'
 75 |         #endif
 76 |
[33/43] Compiling Coercion Converter.swift
[34/43] Compiling Coercion Date+Coercion.swift
[35/43] Compiling Logger UserDefaultsManagerSettings.swift
[36/43] Compiling CollectionExtensions Dictionary+Merging.swift
[37/43] Compiling CollectionExtensions RandomAccessCollection+Wrapping.swift
[38/43] Compiling CollectionExtensions Dictionary+Appending.swift
[41/43] Emitting module CollectionExtensions
[42/43] Compiling CollectionExtensions Dictionary+Helpers.swift
BUILD FAILURE 6.2 android