Build Information
Successful build of PerfectHTTPServer, reference 3.0.23 (4843cd), with Swift 6.4 for macOS (SPM) on 15 Sep 2026 18:33:38 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-httpserver.git
Reference: 3.0.23
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/perfectlysoft/perfect-httpserver
* tag 3.0.23 -> FETCH_HEAD
HEAD is now at 4843cd5 Merge pull request #49 from 123FLO321/hasher
Cloned https://github.com/perfectlysoft/perfect-httpserver.git
Revision (git rev-parse @):
4843cd54762d59b7e70841663ae561b279b80946
SUCCESS checkout https://github.com/perfectlysoft/perfect-httpserver.git at 3.0.23
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/perfectlysoft/perfect-httpserver.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 308]
[Planning deferred tasks]
[55 / 605]
[65 / 607] PerfectCZlib
[86 / 634] PerfectLib
[88 / 634] PerfectThread
[91 / 634]
[100 / 634] PerfectCZlib
[103 / 634] PerfectLib
[111 / 634] PerfectCZlib
[114 / 634] PerfectCZlib
[126 / 634] COpenSSL
[136 / 644] COpenSSL
[147 / 644] COpenSSL
[159 / 644] COpenSSL
[174 / 644] COpenSSL
[191 / 644] COpenSSL
[210 / 644] COpenSSL
[230 / 644] COpenSSL
[253 / 644] COpenSSL
[276 / 644] COpenSSL
[296 / 644] COpenSSL
[322 / 644] COpenSSL
[350 / 644] COpenSSL
[380 / 644] COpenSSL
[409 / 644] COpenSSL
[436 / 644] COpenSSL
[461 / 644] COpenSSL
[485 / 644] COpenSSL
[511 / 644] COpenSSL
[537 / 644] COpenSSL
[560 / 644] COpenSSL
[586 / 644] COpenSSL
[605 / 644]
[620 / 654] PerfectCrypto
[621 / 654] PerfectCZlib
[621 / 654] PerfectCrypto
[632 / 663] PerfectNet
[634 / 663] PerfectNet
[646 / 675] PerfectHTTP
[649 / 675] PerfectHTTP
[653 / 675] PerfectHTTP
[663 / 675] PerfectNet
[672 / 687] PerfectHTTPServer
[674 / 687] PerfectHTTPServer
[675 / 687] PerfectHTTPServer
[682 / 687] PerfectHTTP
[684 / 687] PerfectHTTPServer
Build complete! (10.79 sec)
Fetching https://github.com/PerfectlySoft/Perfect-HTTP.git
Fetching https://github.com/PerfectlySoft/Perfect-CZlib-src.git
Fetching https://github.com/PerfectlySoft/Perfect-Net.git
[1/808] Fetching perfect-http
[2/1378] Fetching perfect-http, perfect-net
[233/1715] Fetching perfect-http, perfect-net, perfect-czlib-src
Fetched https://github.com/PerfectlySoft/Perfect-CZlib-src.git (1.23s)
Fetched https://github.com/PerfectlySoft/Perfect-Net.git (1.23s)
Fetched https://github.com/PerfectlySoft/Perfect-HTTP.git (1.23s)
Computing version for https://github.com/PerfectlySoft/Perfect-CZlib-src.git
Computed https://github.com/PerfectlySoft/Perfect-CZlib-src.git at 0.0.4 (1.90s)
Computing version for https://github.com/PerfectlySoft/Perfect-Net.git
Computed https://github.com/PerfectlySoft/Perfect-Net.git at 3.3.0 (0.62s)
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
[1/612] Fetching perfect-crypto
[307/991] Fetching perfect-crypto, perfect-thread
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git (1.30s)
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git (1.30s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 3.3.0 (1.98s)
Fetching https://github.com/PerfectlySoft/PerfectLib.git
Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL.git
[1/10784] Fetching perfectlib
[2/14745] Fetching perfectlib, perfect-copenssl
Fetched https://github.com/PerfectlySoft/PerfectLib.git (4.12s)
Fetched https://github.com/PerfectlySoft/Perfect-COpenSSL.git (4.12s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL.git at 4.0.2 (4.79s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.62s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 3.1.4 (0.64s)
Computing version for https://github.com/PerfectlySoft/Perfect-HTTP.git
Computed https://github.com/PerfectlySoft/Perfect-HTTP.git at 3.3.0 (0.65s)
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 3.1.4
Creating working copy for https://github.com/PerfectlySoft/Perfect-CZlib-src.git
Working copy of https://github.com/PerfectlySoft/Perfect-CZlib-src.git resolved at 0.0.4
Creating working copy for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Working copy of https://github.com/PerfectlySoft/Perfect-COpenSSL.git resolved at 4.0.2
Creating working copy for https://github.com/PerfectlySoft/Perfect-Crypto.git
Working copy of https://github.com/PerfectlySoft/Perfect-Crypto.git resolved at 3.3.0
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-Net.git
Working copy of https://github.com/PerfectlySoft/Perfect-Net.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-HTTP.git
Working copy of https://github.com/PerfectlySoft/Perfect-HTTP.git resolved at 3.3.0
<module-includes>:1:9: [1;39mnote: [1;39min file included from <module-includes>:1:[0;0m
[0;36m1 |[0;0m #import "czlib.h"
[0;36m|[0;0m `- [1;39mnote: [1;39min file included from <module-includes>:1:[0;0m
[0;36m2 |[0;0m
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/czlib.h:4:10: [1;39mnote: [1;39min file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/czlib.h:4:[0;0m
[0;36m2 |[0;0m #include "../zconf.h"
[0;36m3 |[0;0m #include "../zlib.h"
[0;36m4 |[0;0m #include "../zutil.h"
[0;36m|[0;0m `- [1;39mnote: [1;39min file included from /Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/czlib.h:4:[0;0m
[0;36m5 |[0;0m #include "../inftrees.h"
[0;36m6 |[0;0m
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-CZlib-src/PerfectCZlib/include/../zutil.h:163:11: [1;33mwarning: [1;39m'OS_CODE' macro redefined[0;0m
[0;36m132 |[0;0m
[0;36m133 |[0;0m #if defined(MACOS) || defined(TARGET_OS_MAC)
[0;36m134 |[0;0m # define OS_CODE 7
[0;36m|[0;0m `- [1;39mnote: [1;39mprevious definition is here[0;0m
[0;36m135 |[0;0m # ifndef Z_SOLO
[0;36m136 |[0;0m # if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
[0;36m:[0;0m
[0;36m161 |[0;0m
[0;36m162 |[0;0m #ifdef __APPLE__
[0;36m163 |[0;0m # define OS_CODE 19
[0;36m|[0;0m `- [1;33mwarning: [1;39m'OS_CODE' macro redefined[0;0m
[0;36m164 |[0;0m #endif
[0;36m165 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m71 |[0;0m }
[0;36m72 |[0;0m #else
[0;36m73 |[0;0m var hashValue: Int { return Int(net.fd.fd) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m74 |[0;0m #endif
[0;36m75 |[0;0m
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTPContentCompression.swift:52:21: [1;33mwarning: [1;39minitialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m50 |[0;0m }
[0;36m51 |[0;0m if !bytes.isEmpty {
[0;36m52 |[0;0m stream.next_in = [4;39mUnsafeMutablePointer(mutating: bytes)[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m53 |[0;0m stream.avail_in = uInt(bytes.count)
[0;36m54 |[0;0m } else {
[#TemporaryPointers]: <https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m71 |[0;0m }
[0;36m72 |[0;0m #else
[0;36m73 |[0;0m var hashValue: Int { return Int(net.fd.fd) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m74 |[0;0m #endif
[0;36m75 |[0;0m
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Client.swift:143:45: [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m140 |[0;0m
[0;36m141 |[0;0m func readOneFrame() {
[0;36m142 |[0;0m Threading.dispatch {
[0;36m|[0;0m |- [1;39mnote: [1;39m'self' implicitly strongly captured here[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd 'self' as a capture list item to silence[0;0m
[0;36m143 |[0;0m self.readHTTP2Frame(timeout: -1) { [weak self]
[0;36m|[0;0m |- [1;33mwarning: [1;39m'weak' ownership of capture 'self' differs from implicitly-captured strong reference in outer scope[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture\ImplicitStrongCapture]8;;\]
[0;36m|[0;0m `- [1;39mnote: [1;39mexplicitly assign the capture list item to silence[0;0m
[0;36m144 |[0;0m f in
[0;36m145 |[0;0m if let frame = f {
[#ImplicitStrongCapture]: <https://docs.swift.org/compiler/documentation/diagnostics/implicit-strong-capture>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP2/HTTP2Session.swift:73:7: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m71 |[0;0m }
[0;36m72 |[0;0m #else
[0;36m73 |[0;0m var hashValue: Int { return Int(net.fd.fd) }
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'HTTP2Session' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m74 |[0;0m #endif
[0;36m75 |[0;0m
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP11/HTTP11Request.swift:386:44: [1;33mwarning: [1;39minitialization of 'UnsafeMutableRawPointer' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m384 |[0;0m case .headerField:
[0;36m385 |[0;0m workingBuffer.append(0)
[0;36m386 |[0;0m lastHeaderName = String(validatingUTF8: [4;39mUnsafeMutableRawPointer(mutating: workingBuffer)[0;0m.assumingMemoryBound(to: Int8.self))
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from '[UInt8]' to 'UnsafeRawPointer' produces a pointer valid only for the duration of the call to 'init(mutating:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBytes' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafeMutableRawPointer' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m387 |[0;0m workingBuffer.removeAll()
[0;36m388 |[0;0m case .headerValue:
/Users/admin/builder/spi-builder-workspace/Sources/PerfectHTTPServer/HTTP11/HTTP11Request.swift:467:7: [1;33mwarning: [1;39minitialization of 'UnsafePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m465 |[0;0m // either way no further action should be taken
[0;36m466 |[0;0m func didReadSomeBytes(_ b: [UInt8], callback: @escaping StatusCallback) -> Bool {
[0;36m467 |[0;0m _ = [4;39mUnsafePointer(b)[0;0m.withMemoryRebound(to: Int8.self, capacity: b.count) {
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(_:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m468 |[0;0m http_parser_execute(&parser, &parserSettings, $0, b.count)
[0;36m469 |[0;0m }
[#TemporaryPointers]: <https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers>
Build complete.
{
"dependencies" : [
{
"identity" : "perfect-net",
"requirement" : {
"range" : [
{
"lower_bound" : "3.1.2",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/PerfectlySoft/Perfect-Net.git"
},
{
"identity" : "perfect-http",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.12",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/PerfectlySoft/Perfect-HTTP.git"
},
{
"identity" : "perfect-czlib-src",
"requirement" : {
"range" : [
{
"lower_bound" : "0.0.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/PerfectlySoft/Perfect-CZlib-src.git"
}
],
"manifest_display_name" : "PerfectHTTPServer",
"name" : "PerfectHTTPServer",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "PerfectHTTPServer",
"targets" : [
"PerfectHTTPServer"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "PerfectHTTPServerTests",
"module_type" : "SwiftTarget",
"name" : "PerfectHTTPServerTests",
"path" : "Tests/PerfectHTTPServerTests",
"sources" : [
"PerfectHTTPServerTests.swift"
],
"target_dependencies" : [
"PerfectHTTPServer"
],
"type" : "test"
},
{
"c99name" : "PerfectHTTPServer",
"module_type" : "SwiftTarget",
"name" : "PerfectHTTPServer",
"path" : "Sources/PerfectHTTPServer",
"product_dependencies" : [
"PerfectNet",
"PerfectHTTP",
"PerfectCZlib"
],
"product_memberships" : [
"PerfectHTTPServer"
],
"sources" : [
"HTTP11/HTTP11Request.swift",
"HTTP11/HTTP11Response.swift",
"HTTP2/HPACK.swift",
"HTTP2/HTTP2.swift",
"HTTP2/HTTP2Client.swift",
"HTTP2/HTTP2Frame.swift",
"HTTP2/HTTP2FrameReader.swift",
"HTTP2/HTTP2FrameWriter.swift",
"HTTP2/HTTP2PrefaceValidator.swift",
"HTTP2/HTTP2Request.swift",
"HTTP2/HTTP2Response.swift",
"HTTP2/HTTP2Session.swift",
"HTTP2/HTTP2SessionSettings.swift",
"HTTPContentCompression.swift",
"HTTPMultiplexer.swift",
"HTTPServer.swift",
"HTTPServerEx.swift",
"HTTPServerExConfig.swift"
],
"target_dependencies" : [
"PerfectCHTTPParser"
],
"type" : "library"
},
{
"c99name" : "PerfectCHTTPParser",
"module_type" : "ClangTarget",
"name" : "PerfectCHTTPParser",
"path" : "Sources/PerfectCHTTPParser",
"product_memberships" : [
"PerfectHTTPServer"
],
"sources" : [
"http_parser.c"
],
"type" : "library"
}
],
"tools_version" : "4.1"
}
Done.