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 Locks, reference main (e5c133), with Swift 6.2 for Android on 19 Jun 2025 21:41:40 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/adamwulf/Locks.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/adamwulf/Locks
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at e5c1338 Add method to atomically toggle a boolean
Cloned https://github.com/adamwulf/Locks.git
Revision (git rev-parse @):
e5c133845f3ad1a890a8823374c2694f969884e2
SUCCESS checkout https://github.com/adamwulf/Locks.git at main
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/adamwulf/Locks.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/themomax/swift-docc-plugin
[1/647] Fetching swift-docc-plugin
Fetched https://github.com/themomax/swift-docc-plugin from cache (0.35s)
Fetching https://github.com/apple/swift-docc-symbolkit
[1/3413] Fetching swift-docc-symbolkit
Fetched https://github.com/apple/swift-docc-symbolkit from cache (0.42s)
Computing version for https://github.com/apple/swift-docc-symbolkit
Computed https://github.com/apple/swift-docc-symbolkit at 1.0.0 (0.90s)
Creating working copy for https://github.com/apple/swift-docc-symbolkit
Working copy of https://github.com/apple/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/themomax/swift-docc-plugin
Working copy of https://github.com/themomax/swift-docc-plugin resolved at add-extended-types-flag (c234e51)
/host/spi-builder-workspace/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Preview/Symbolic Links/SharedPackagePluginExtensions/PackageExtensions.swift:31:17: warning: switch covers known cases, but 'TargetDependency' may have additional unknown values; this is an error in the Swift 6 language mode
 29 |         func addTargetDependencies(_ target: Target) {
 30 |             for dependency in target.dependencies {
 31 |                 switch dependency {
    |                 |- warning: switch covers known cases, but 'TargetDependency' may have additional unknown values; this is an error in the Swift 6 language mode
    |                 `- note: handle unknown values using "@unknown default"
 32 |                 case .product(let product):
 33 |                     addTargets(product.targets)
[1/1] Compiling plugin Swift-DocC Preview
/host/spi-builder-workspace/.build/checkouts/swift-docc-plugin/Plugins/Swift-DocC Convert/Symbolic Links/SharedPackagePluginExtensions/PackageExtensions.swift:31:17: warning: switch covers known cases, but 'TargetDependency' may have additional unknown values; this is an error in the Swift 6 language mode
 29 |         func addTargetDependencies(_ target: Target) {
 30 |             for dependency in target.dependencies {
 31 |                 switch dependency {
    |                 |- warning: switch covers known cases, but 'TargetDependency' may have additional unknown values; this is an error in the Swift 6 language mode
    |                 `- note: handle unknown values using "@unknown default"
 32 |                 case .product(let product):
 33 |                     addTargets(product.targets)
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version-8C5A4AE7A8CE2BA.txt
[5/14] Compiling Locks NSLocking+Extensions.swift
[6/14] Compiling Locks ReadWriteLock.swift
[7/14] Compiling Locks RecursiveMutex.swift
/host/spi-builder-workspace/Sources/Locks/RecursiveMutex.swift:38:45: error: cannot convert value of type 'Int' to expected argument type 'Int32'
 36 |         withUnsafeMutablePointer(to: &attr) { attr in
 37 |             pthread_mutexattr_init(attr)
 38 |             pthread_mutexattr_settype(attr, PTHREAD_MUTEX_RECURSIVE)
    |                                             `- error: cannot convert value of type 'Int' to expected argument type 'Int32'
 39 |             let err = pthread_mutex_init(mutex, attr)
 40 |             pthread_mutexattr_destroy(attr)
[8/15] Compiling Locks ThreadLocal.swift
/host/spi-builder-workspace/Sources/Locks/ThreadLocal.swift:48:13: error: setter for property 'threadDictionary' is private and cannot be referenced from an '@inlinable' function
46 |                 return v
47 |             }
48 |             Thread.current.threadDictionary[key] = initialValue
   |             `- error: setter for property 'threadDictionary' is private and cannot be referenced from an '@inlinable' function
49 |             return initialValue
50 |         }
Foundation.Thread._:2:1: note: setter for property 'threadDictionary' is not '@usableFromInline' or public
1 | class Thread {
2 | set(value)}
  | `- note: setter for property 'threadDictionary' is not '@usableFromInline' or public
3 |
/host/spi-builder-workspace/Sources/Locks/ThreadLocal.swift:52:13: error: setter for property 'threadDictionary' is private and cannot be referenced from an '@inlinable' function
50 |         }
51 |         set {
52 |             Thread.current.threadDictionary[key] = newValue
   |             `- error: setter for property 'threadDictionary' is private and cannot be referenced from an '@inlinable' function
53 |         }
54 |     }
Foundation.Thread._:2:1: note: setter for property 'threadDictionary' is not '@usableFromInline' or public
1 | class Thread {
2 | set(value)}
  | `- note: setter for property 'threadDictionary' is not '@usableFromInline' or public
3 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/15] Compiling Locks AtomicDictionary.swift
[10/15] Compiling Locks AtomicSet.swift
[11/15] Emitting module Locks
/host/spi-builder-workspace/Sources/Locks/ThreadLocal.swift:48:13: error: setter for property 'threadDictionary' is private and cannot be referenced from an '@inlinable' function
46 |                 return v
47 |             }
48 |             Thread.current.threadDictionary[key] = initialValue
   |             `- error: setter for property 'threadDictionary' is private and cannot be referenced from an '@inlinable' function
49 |             return initialValue
50 |         }
Foundation.Thread._:2:1: note: setter for property 'threadDictionary' is not '@usableFromInline' or public
1 | class Thread {
2 | set(value)}
  | `- note: setter for property 'threadDictionary' is not '@usableFromInline' or public
3 |
/host/spi-builder-workspace/Sources/Locks/ThreadLocal.swift:52:13: error: setter for property 'threadDictionary' is private and cannot be referenced from an '@inlinable' function
50 |         }
51 |         set {
52 |             Thread.current.threadDictionary[key] = newValue
   |             `- error: setter for property 'threadDictionary' is private and cannot be referenced from an '@inlinable' function
53 |         }
54 |     }
Foundation.Thread._:2:1: note: setter for property 'threadDictionary' is not '@usableFromInline' or public
1 | class Thread {
2 | set(value)}
  | `- note: setter for property 'threadDictionary' is not '@usableFromInline' or public
3 |
/host/spi-builder-workspace/Sources/Locks/UnfairLock.swift:14:29: error: cannot find type 'os_unfair_lock_t' in scope
12 | public class UnfairLock: NSLocking {
13 |     /// The underlying os_unfair_lock_t used to provide the lock.
14 |     private let unfairLock: os_unfair_lock_t
   |                             `- error: cannot find type 'os_unfair_lock_t' in scope
15 |     /// A flag to indicate if the lock is currently locked.
16 |     private var locked = false
[12/15] Compiling Locks AtomicWrapper+Extensions.swift
[13/15] Compiling Locks AtomicWrapper.swift
[14/15] Compiling Locks Mutex.swift
[15/15] Compiling Locks UnfairLock.swift
/host/spi-builder-workspace/Sources/Locks/UnfairLock.swift:14:29: error: cannot find type 'os_unfair_lock_t' in scope
12 | public class UnfairLock: NSLocking {
13 |     /// The underlying os_unfair_lock_t used to provide the lock.
14 |     private let unfairLock: os_unfair_lock_t
   |                             `- error: cannot find type 'os_unfair_lock_t' in scope
15 |     /// A flag to indicate if the lock is currently locked.
16 |     private var locked = false
/host/spi-builder-workspace/Sources/Locks/UnfairLock.swift:20:12: error: cannot find 'os_unfair_lock_trylock' in scope
18 |     /// Returns true if the lock is locked, false otherwise.
19 |     public var isLocked: Bool {
20 |         if os_unfair_lock_trylock(unfairLock) {
   |            `- error: cannot find 'os_unfair_lock_trylock' in scope
21 |             os_unfair_lock_unlock(unfairLock)
22 |             // if we were able to lock with the try(), then it wasn't locked when this method was called
/host/spi-builder-workspace/Sources/Locks/UnfairLock.swift:21:13: error: cannot find 'os_unfair_lock_unlock' in scope
19 |     public var isLocked: Bool {
20 |         if os_unfair_lock_trylock(unfairLock) {
21 |             os_unfair_lock_unlock(unfairLock)
   |             `- error: cannot find 'os_unfair_lock_unlock' in scope
22 |             // if we were able to lock with the try(), then it wasn't locked when this method was called
23 |             return false
/host/spi-builder-workspace/Sources/Locks/UnfairLock.swift:31:23: error: cannot infer contextual base in reference to member 'allocate'
29 |     /// Initializes the UnfairLock.
30 |     public init() {
31 |         unfairLock = .allocate(capacity: 1)
   |                       `- error: cannot infer contextual base in reference to member 'allocate'
32 |         unfairLock.initialize(to: os_unfair_lock())
33 |     }
/host/spi-builder-workspace/Sources/Locks/UnfairLock.swift:32:35: error: cannot find 'os_unfair_lock' in scope
30 |     public init() {
31 |         unfairLock = .allocate(capacity: 1)
32 |         unfairLock.initialize(to: os_unfair_lock())
   |                                   `- error: cannot find 'os_unfair_lock' in scope
33 |     }
34 |
/host/spi-builder-workspace/Sources/Locks/UnfairLock.swift:37:9: error: cannot find 'os_unfair_lock_lock' in scope
35 |     /// Locks the UnfairLock.
36 |     public func lock() {
37 |         os_unfair_lock_lock(unfairLock)
   |         `- error: cannot find 'os_unfair_lock_lock' in scope
38 |         locked = true
39 |     }
/host/spi-builder-workspace/Sources/Locks/UnfairLock.swift:44:9: error: cannot find 'os_unfair_lock_unlock' in scope
42 |     public func unlock() {
43 |         locked = false
44 |         os_unfair_lock_unlock(unfairLock)
   |         `- error: cannot find 'os_unfair_lock_unlock' in scope
45 |     }
46 |
BUILD FAILURE 6.2 android