The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build PerfectCURL, reference master (059384), with Swift 6.0 for macOS (SPM) on 31 Oct 2024 11:58:09 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-curl.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/perfectlysoft/perfect-curl
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 0593841 Updated swift tools version. Updated PerfectLib version
Cloned https://github.com/perfectlysoft/perfect-curl.git
Revision (git rev-parse @):
0593841a172433e5c9841791a87f9fe56d8c0ce4
SUCCESS checkout https://github.com/perfectlysoft/perfect-curl.git at master
Fetching https://github.com/PerfectlySoft/Perfect-libcurl.git
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
Fetching https://github.com/PerfectlySoft/PerfectLib.git
[1/77] Fetching perfect-libcurl
[85/456] Fetching perfect-libcurl, perfect-thread
[238/11240] Fetching perfect-libcurl, perfect-thread, perfectlib
Fetched https://github.com/PerfectlySoft/PerfectLib.git from cache (2.97s)
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git from cache (2.97s)
Fetched https://github.com/PerfectlySoft/Perfect-libcurl.git from cache (2.97s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 4.0.1 (0.65s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (2.63s)
Computing version for https://github.com/PerfectlySoft/Perfect-libcurl.git
Computed https://github.com/PerfectlySoft/Perfect-libcurl.git at 2.1.0 (0.63s)
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 4.0.1
Creating working copy for https://github.com/PerfectlySoft/Perfect-Thread.git
Working copy of https://github.com/PerfectlySoft/Perfect-Thread.git resolved at 3.0.7
Creating working copy for https://github.com/PerfectlySoft/Perfect-libcurl.git
Working copy of https://github.com/PerfectlySoft/Perfect-libcurl.git resolved at 2.1.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "perfect-curl",
      "name": "PerfectCURL",
      "url": "https://github.com/perfectlysoft/perfect-curl.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/perfect-curl",
      "dependencies": [
        {
          "identity": "perfect-libcurl",
          "name": "cURL",
          "url": "https://github.com/PerfectlySoft/Perfect-libcurl.git",
          "version": "2.1.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-libcurl",
          "dependencies": [
          ]
        },
        {
          "identity": "perfectlib",
          "name": "PerfectLib",
          "url": "https://github.com/PerfectlySoft/PerfectLib.git",
          "version": "4.0.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PerfectLib",
          "dependencies": [
          ]
        },
        {
          "identity": "perfect-thread",
          "name": "PerfectThread",
          "url": "https://github.com/PerfectlySoft/Perfect-Thread.git",
          "version": "3.0.7",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-Thread",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/perfectlysoft/perfect-curl.git
[1/504] Fetching perfect-curl
Fetched https://github.com/perfectlysoft/perfect-curl.git from cache (0.80s)
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git from cache
Fetching https://github.com/PerfectlySoft/PerfectLib.git from cache
Fetching https://github.com/PerfectlySoft/Perfect-libcurl.git from cache
Fetched https://github.com/PerfectlySoft/Perfect-libcurl.git from cache (0.51s)
Fetched https://github.com/PerfectlySoft/PerfectLib.git from cache (0.52s)
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git from cache (0.52s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 4.0.1 (0.03s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.02s)
Computing version for https://github.com/PerfectlySoft/Perfect-libcurl.git
Computed https://github.com/PerfectlySoft/Perfect-libcurl.git at 2.1.0 (0.02s)
Creating working copy for https://github.com/PerfectlySoft/Perfect-Thread.git
Working copy of https://github.com/PerfectlySoft/Perfect-Thread.git resolved at 3.0.7
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 4.0.1
Creating working copy for https://github.com/PerfectlySoft/Perfect-libcurl.git
Working copy of https://github.com/PerfectlySoft/Perfect-libcurl.git resolved at 2.1.0
Creating working copy for https://github.com/perfectlysoft/perfect-curl.git
Working copy of https://github.com/perfectlysoft/perfect-curl.git resolved at master (0593841)
warning: 'perfect-libcurl': ignoring declared target(s) 'cURL' in the system package
warning: '.resolve-product-dependencies': dependency 'perfect-curl' is not used by any target
Found 3 product dependencies
  - cURL
  - PerfectLib
  - PerfectThread
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/perfectlysoft/perfect-curl.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version--7754E27361AE5C74.txt
[5/18] Compiling PerfectLib PerfectServer.swift
[6/18] Compiling PerfectLib PerfectError.swift
[7/18] Compiling PerfectThread Threading.swift
[8/18] Compiling PerfectLib Bytes.swift
[9/18] Compiling PerfectLib JSONConvertible.swift
[10/18] Compiling PerfectLib Log.swift
[11/18] Compiling PerfectLib File.swift
[12/18] Emitting module PerfectLib
[13/18] Compiling PerfectLib Dir.swift
[14/18] Compiling PerfectThread ThreadQueue.swift
[15/18] Compiling PerfectThread Promise.swift
[16/18] Emitting module PerfectThread
[17/18] Compiling PerfectLib SysProcess.swift
[18/18] Compiling PerfectLib Utilities.swift
[19/26] Compiling PerfectCURL cURL.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:26:13: warning: static property 'sInit' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 24 | public class CURL {
 25 |
 26 | 	static var sInit: Int = {
    |             |- warning: static property 'sInit' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sInit' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'sInit' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 | 		curl_global_init(Int(CURL_GLOBAL_SSL | CURL_GLOBAL_WIN32))
 28 | 		return 1
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:202:4: warning: using '_' to ignore the result of a Void-returning function is redundant
200 | 		let perf = self.perform()
201 | 		if let h = perf.2 {
202 | 			_ = accumulator.header.append(contentsOf: h)
    |    `- warning: using '_' to ignore the result of a Void-returning function is redundant
203 | 		}
204 | 		if let b = perf.3 {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:205:4: warning: using '_' to ignore the result of a Void-returning function is redundant
203 | 		}
204 | 		if let b = perf.3 {
205 | 			_ = accumulator.body.append(contentsOf: b)
    |    `- warning: using '_' to ignore the result of a Void-returning function is redundant
206 | 		}
207 | 		if perf.0 == false { // done
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:241:5: warning: capture of 'closure' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
239 | 		if max == -1 {
240 | 			DispatchQueue.global().async {
241 | 				closure()
    |     |- warning: capture of 'closure' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
242 | 			}
243 | 		} else {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:247:5: warning: capture of 'closure' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
245 | 			DispatchQueue.global().async {
246 | 				select(max+1, &fdsRd, &fdsWr, &fdsEx, &tv)
247 | 				closure()
    |     |- warning: capture of 'closure' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
248 | 			}
249 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:246:12: warning: reference to captured var 'max' in concurrently-executing code; this is an error in the Swift 6 language mode
244 | 			// wait for write
245 | 			DispatchQueue.global().async {
246 | 				select(max+1, &fdsRd, &fdsWr, &fdsEx, &tv)
    |            `- warning: reference to captured var 'max' in concurrently-executing code; this is an error in the Swift 6 language mode
247 | 				closure()
248 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:246:20: warning: mutation of captured var 'fdsRd' in concurrently-executing code; this is an error in the Swift 6 language mode
244 | 			// wait for write
245 | 			DispatchQueue.global().async {
246 | 				select(max+1, &fdsRd, &fdsWr, &fdsEx, &tv)
    |                    `- warning: mutation of captured var 'fdsRd' in concurrently-executing code; this is an error in the Swift 6 language mode
247 | 				closure()
248 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:246:28: warning: mutation of captured var 'fdsWr' in concurrently-executing code; this is an error in the Swift 6 language mode
244 | 			// wait for write
245 | 			DispatchQueue.global().async {
246 | 				select(max+1, &fdsRd, &fdsWr, &fdsEx, &tv)
    |                            `- warning: mutation of captured var 'fdsWr' in concurrently-executing code; this is an error in the Swift 6 language mode
247 | 				closure()
248 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:246:36: warning: mutation of captured var 'fdsEx' in concurrently-executing code; this is an error in the Swift 6 language mode
244 | 			// wait for write
245 | 			DispatchQueue.global().async {
246 | 				select(max+1, &fdsRd, &fdsWr, &fdsEx, &tv)
    |                                    `- warning: mutation of captured var 'fdsEx' in concurrently-executing code; this is an error in the Swift 6 language mode
247 | 				closure()
248 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:246:44: warning: mutation of captured var 'tv' in concurrently-executing code; this is an error in the Swift 6 language mode
244 | 			// wait for write
245 | 			DispatchQueue.global().async {
246 | 				select(max+1, &fdsRd, &fdsWr, &fdsEx, &tv)
    |                                            `- warning: mutation of captured var 'tv' in concurrently-executing code; this is an error in the Swift 6 language mode
247 | 				closure()
248 | 			}
[20/26] Compiling PerfectCURL HTTPMethod.swift
[21/26] Compiling PerfectCURL HTTPHeaders.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/HTTPHeaders.swift:98:14: warning: static property 'lookupTable' is not concurrency-safe because non-'Sendable' type '[String : HTTPRequestHeader.Name]' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | public enum HTTPRequestHeader {
 22 | 	/// A header name type. Each has a corresponding value type.
 23 | 	public enum Name: Hashable {
    |              `- note: consider making enum 'Name' conform to the 'Sendable' protocol
 24 | 		case accept, acceptCharset, acceptEncoding, acceptLanguage, acceptDatetime, authorization
 25 | 		case cacheControl, connection, cookie, contentLength, contentMD5, contentType
    :
 96 | 		}
 97 |
 98 | 		static let lookupTable: [String:HTTPRequestHeader.Name] = [
    |              |- warning: static property 'lookupTable' is not concurrency-safe because non-'Sendable' type '[String : HTTPRequestHeader.Name]' may have shared mutable state; this is an error in the Swift 6 language mode
    |              |- note: annotate 'lookupTable' with '@MainActor' if property should only be accessed from the main actor
    |              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 99 | 			"accept":.accept,
100 | 			"accept-charset":.acceptCharset,
[22/26] Compiling PerfectCURL CURLResponseInfos.swift
[23/26] Emitting module PerfectCURL
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/CURLResponse.swift:41:14: warning: stored property 'response' of 'Sendable'-conforming struct 'Error' has non-sendable type 'CURLResponse'; this is an error in the Swift 6 language mode
 27 | /// Response for a CURLRequest.
 28 | /// Obtained by calling CURLResponse.perform.
 29 | open class CURLResponse {
    |            `- note: class 'CURLResponse' does not conform to the 'Sendable' protocol
 30 | 	/// A response header that can be retreived.
 31 | 	public typealias Header = HTTPResponseHeader
    :
 39 | 		public let description: String
 40 | 		/// The response object for this error.
 41 | 		public let response: CURLResponse
    |              `- warning: stored property 'response' of 'Sendable'-conforming struct 'Error' has non-sendable type 'CURLResponse'; this is an error in the Swift 6 language mode
 42 |
 43 | 		init(_ response: CURLResponse, code: CURLcode) {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/HTTPHeaders.swift:98:14: warning: static property 'lookupTable' is not concurrency-safe because non-'Sendable' type '[String : HTTPRequestHeader.Name]' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | public enum HTTPRequestHeader {
 22 | 	/// A header name type. Each has a corresponding value type.
 23 | 	public enum Name: Hashable {
    |              `- note: consider making enum 'Name' conform to the 'Sendable' protocol
 24 | 		case accept, acceptCharset, acceptEncoding, acceptLanguage, acceptDatetime, authorization
 25 | 		case cacheControl, connection, cookie, contentLength, contentMD5, contentType
    :
 96 | 		}
 97 |
 98 | 		static let lookupTable: [String:HTTPRequestHeader.Name] = [
    |              |- warning: static property 'lookupTable' is not concurrency-safe because non-'Sendable' type '[String : HTTPRequestHeader.Name]' may have shared mutable state; this is an error in the Swift 6 language mode
    |              |- note: annotate 'lookupTable' with '@MainActor' if property should only be accessed from the main actor
    |              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 99 | 			"accept":.accept,
100 | 			"accept-charset":.acceptCharset,
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/cURL.swift:26:13: warning: static property 'sInit' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 24 | public class CURL {
 25 |
 26 | 	static var sInit: Int = {
    |             |- warning: static property 'sInit' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sInit' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: annotate 'sInit' with '@MainActor' if property should only be accessed from the main actor
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 | 		curl_global_init(Int(CURL_GLOBAL_SSL | CURL_GLOBAL_WIN32))
 28 | 		return 1
[24/26] Compiling PerfectCURL CURLRequest.swift
[25/26] Compiling PerfectCURL CURLResponse.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/CURLResponse.swift:41:14: warning: stored property 'response' of 'Sendable'-conforming struct 'Error' has non-sendable type 'CURLResponse'; this is an error in the Swift 6 language mode
 27 | /// Response for a CURLRequest.
 28 | /// Obtained by calling CURLResponse.perform.
 29 | open class CURLResponse {
    |            `- note: class 'CURLResponse' does not conform to the 'Sendable' protocol
 30 | 	/// A response header that can be retreived.
 31 | 	public typealias Header = HTTPResponseHeader
    :
 39 | 		public let description: String
 40 | 		/// The response object for this error.
 41 | 		public let response: CURLResponse
    |              `- warning: stored property 'response' of 'Sendable'-conforming struct 'Error' has non-sendable type 'CURLResponse'; this is an error in the Swift 6 language mode
 42 |
 43 | 		init(_ response: CURLResponse, code: CURLcode) {
[26/26] Compiling PerfectCURL CURLRequestOptions.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectCURL/CURLRequestOptions.swift:126:19: error: cannot find 'CURLOPT_FTP_RESPONSE_TIMEOUT' in scope
124 | 			curl.setOption(CURLOPT_FTPPORT, s: optString)
125 | 		case .ftpResponseTimeout(let optInt):
126 | 			curl.setOption(CURLOPT_FTP_RESPONSE_TIMEOUT, int: optInt)
    |                   `- error: cannot find 'CURLOPT_FTP_RESPONSE_TIMEOUT' in scope
127 | 		case .sshPublicKey(let optString):
128 | 			curl.setOption(CURLOPT_SSH_PUBLIC_KEYFILE, s: optString)
warning: 'perfect-libcurl': ignoring declared target(s) 'cURL' in the system package
warning: 'spi-builder-workspace': dependency 'perfect-libcurl' is not used by any target
warning: failed to retrieve search paths with pkg-config; maybe pkg-config is not installed
warning: you may be able to install libcurl using your system-packager:
    brew install curl
BUILD FAILURE 6.0 macosSpm