Build Information
Failed to build PerfectCURL with Swift 6.0 for macOS (SPM).
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.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
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/perfectlysoft/perfect-curl.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a 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-6F35C1178C84523A.txt
[5/18] Emitting module PerfectLib
[6/18] Compiling PerfectLib Dir.swift
[7/18] Compiling PerfectLib File.swift
[8/18] Compiling PerfectLib Bytes.swift
[9/18] Compiling PerfectLib JSONConvertible.swift
[10/18] Emitting module PerfectThread
[11/18] Compiling PerfectThread ThreadQueue.swift
[12/18] Compiling PerfectThread Threading.swift
[13/18] Compiling PerfectThread Promise.swift
[14/18] Compiling PerfectLib SysProcess.swift
[15/18] Compiling PerfectLib PerfectError.swift
[16/18] Compiling PerfectLib PerfectServer.swift
[17/18] Compiling PerfectLib Utilities.swift
[18/18] Compiling PerfectLib Log.swift
[19/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,
[20/26] Compiling PerfectCURL CURLRequest.swift
[21/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) {
[22/26] Compiling PerfectCURL HTTPMethod.swift
[23/26] Compiling PerfectCURL CURLResponseInfos.swift
[24/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 non-isolated 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 non-isolated 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
[25/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 non-isolated 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 non-isolated 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 | }
[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)
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
Fetching https://github.com/PerfectlySoft/Perfect-libcurl.git
Fetching https://github.com/PerfectlySoft/PerfectLib.git
[1/77] Fetching perfect-libcurl
[26/456] Fetching perfect-libcurl, perfect-thread
[215/11240] Fetching perfect-libcurl, perfect-thread, perfectlib
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git from cache (0.91s)
[1156/10861] Fetching perfect-libcurl, perfectlib
Fetched https://github.com/PerfectlySoft/Perfect-libcurl.git from cache (2.63s)
Fetched https://github.com/PerfectlySoft/PerfectLib.git from cache (2.63s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 4.0.1 (0.67s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (2.59s)
Computing version for https://github.com/PerfectlySoft/Perfect-libcurl.git
Computed https://github.com/PerfectlySoft/Perfect-libcurl.git at 2.1.0 (0.65s)
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
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