The Swift Package Index logo.Swift Package Index

Build Information

Failed to build PerfectLogger, reference 4.0.0 (733b69), with Swift 6.2 for Wasm on 17 Oct 2026 18:18:40 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-53886769-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-logger.git
Reference: 4.0.0
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/perfectlysoft/perfect-logger
 * tag               4.0.0      -> FETCH_HEAD
HEAD is now at 733b69f Merge pull request #10 from PerfectlySoft/release-4.0.0
Cloned https://github.com/perfectlysoft/perfect-logger.git
Revision (git rev-parse @):
733b69f55fb8e30256ff85f2ffd39af60a41e141
SUCCESS checkout https://github.com/perfectlysoft/perfect-logger.git at 4.0.0
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/perfectlysoft/perfect-logger.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest swift build --swift-sdk swift-6.2-RELEASE_wasm 2>&1
wasm-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:0563b842faffea9ddc6fe15fbd2051d02dff3ef29dc4b5bfe0a0910a084eee81
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.2-latest
Fetching https://github.com/apple/swift-log.git
[1/8305] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (0.47s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.16.1 (0.63s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.16.1
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/14] Compiling Logging Logger.swift
[5/14] Compiling Logging LoggingSystem.swift
[6/15] Emitting module Logging
[7/15] Compiling Logging MultiplexLogHandler.swift
[8/15] Compiling Logging StreamLogHandler.swift
[9/15] Compiling Logging SwiftLogNoOpLogHandler.swift
[10/15] Compiling Logging Locks.swift
[11/15] Compiling Logging MetadataProvider.swift
[12/15] Compiling Logging Logger+Attributes.swift
[13/15] Compiling Logging LogEvent.swift
[14/15] Compiling Logging LogHandler.swift
[15/15] Compiling Logging Logger+With.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[17/23] Compiling PerfectLogger LogPriority.swift
[18/23] Emitting module PerfectLogger
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:88:38: error: cannot find type 'URLRequest' in scope
 86 | /// one task at a time.
 87 | final class RemoteSink: @unchecked Sendable {
 88 |     typealias Transport = @Sendable (URLRequest) async -> Void
    |                                      `- error: cannot find type 'URLRequest' in scope
 89 |
 90 |     static let defaultCapacity = 1_000
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:111:20: error: @escaping attribute only applies to function types
109 |         capacity: Int = RemoteSink.defaultCapacity,
110 |         timeout: TimeInterval = RemoteSink.defaultTimeout,
111 |         transport: @escaping Transport = RemoteSink.urlSession
    |                    `- error: @escaping attribute only applies to function types
112 |     ) {
113 |         self.url = url
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:176:26: error: cannot find type 'URLRequest' in scope
174 |     /// trickles its response, which `URLRequest.timeoutInterval` (an idle
175 |     /// timeout, and ignored by Linux's `URLSession.shared`) does not.
176 |     func send(_ request: URLRequest) async {
    |                          `- error: cannot find type 'URLRequest' in scope
177 |         let transport = self.transport
178 |         let timeout = self.timeout
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:231:16: error: static property 'session' is not concurrency-safe because non-'Sendable' type 'URLSession' (aka 'AnyObject') may have shared mutable state [#MutableGlobalVariable]
229 |     /// An ephemeral session whose request and resource timeouts match
230 |     /// ``defaultTimeout``, so the URL loading system gives up too.
231 |     static let session: URLSession = {
    |                |- error: static property 'session' is not concurrency-safe because non-'Sendable' type 'URLSession' (aka 'AnyObject') may have shared mutable state [#MutableGlobalVariable]
    |                |- note: add '@MainActor' to make static property 'session' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
232 |         let configuration = URLSessionConfiguration.ephemeral
233 |         configuration.timeoutIntervalForRequest = defaultTimeout
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:231:25: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
229 |     /// An ephemeral session whose request and resource timeouts match
230 |     /// ``defaultTimeout``, so the URL loading system gives up too.
231 |     static let session: URLSession = {
    |                         `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
232 |         let configuration = URLSessionConfiguration.ephemeral
233 |         configuration.timeoutIntervalForRequest = defaultTimeout
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:232:53: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
230 |     /// ``defaultTimeout``, so the URL loading system gives up too.
231 |     static let session: URLSession = {
232 |         let configuration = URLSessionConfiguration.ephemeral
    |                                                     `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
233 |         configuration.timeoutIntervalForRequest = defaultTimeout
234 |         configuration.timeoutIntervalForResource = defaultTimeout
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[19/23] Compiling PerfectLogger RemoteLogHandler.swift
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:88:38: error: cannot find type 'URLRequest' in scope
 86 | /// one task at a time.
 87 | final class RemoteSink: @unchecked Sendable {
 88 |     typealias Transport = @Sendable (URLRequest) async -> Void
    |                                      `- error: cannot find type 'URLRequest' in scope
 89 |
 90 |     static let defaultCapacity = 1_000
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:111:20: error: @escaping attribute only applies to function types
109 |         capacity: Int = RemoteSink.defaultCapacity,
110 |         timeout: TimeInterval = RemoteSink.defaultTimeout,
111 |         transport: @escaping Transport = RemoteSink.urlSession
    |                    `- error: @escaping attribute only applies to function types
112 |     ) {
113 |         self.url = url
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:176:26: error: cannot find type 'URLRequest' in scope
174 |     /// trickles its response, which `URLRequest.timeoutInterval` (an idle
175 |     /// timeout, and ignored by Linux's `URLSession.shared`) does not.
176 |     func send(_ request: URLRequest) async {
    |                          `- error: cannot find type 'URLRequest' in scope
177 |         let transport = self.transport
178 |         let timeout = self.timeout
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:231:16: error: static property 'session' is not concurrency-safe because non-'Sendable' type 'URLSession' (aka 'AnyObject') may have shared mutable state [#MutableGlobalVariable]
229 |     /// An ephemeral session whose request and resource timeouts match
230 |     /// ``defaultTimeout``, so the URL loading system gives up too.
231 |     static let session: URLSession = {
    |                |- error: static property 'session' is not concurrency-safe because non-'Sendable' type 'URLSession' (aka 'AnyObject') may have shared mutable state [#MutableGlobalVariable]
    |                |- note: add '@MainActor' to make static property 'session' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
232 |         let configuration = URLSessionConfiguration.ephemeral
233 |         configuration.timeoutIntervalForRequest = defaultTimeout
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:231:25: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
229 |     /// An ephemeral session whose request and resource timeouts match
230 |     /// ``defaultTimeout``, so the URL loading system gives up too.
231 |     static let session: URLSession = {
    |                         `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
232 |         let configuration = URLSessionConfiguration.ephemeral
233 |         configuration.timeoutIntervalForRequest = defaultTimeout
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:232:53: error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
230 |     /// ``defaultTimeout``, so the URL loading system gives up too.
231 |     static let session: URLSession = {
232 |         let configuration = URLSessionConfiguration.ephemeral
    |                                                     `- error: type 'URLSessionConfiguration' (aka 'AnyObject') has no member 'ephemeral'
233 |         configuration.timeoutIntervalForRequest = defaultTimeout
234 |         configuration.timeoutIntervalForResource = defaultTimeout
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:163:27: error: cannot find 'URLRequest' in scope
161 |     private func drain() async {
162 |         while let body = next() {
163 |             var request = URLRequest(url: url, timeoutInterval: timeout)
    |                           `- error: cannot find 'URLRequest' in scope
164 |             request.httpMethod = "POST"
165 |             request.setValue("application/json", forHTTPHeaderField: "Content-Type")
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[20/23] Compiling PerfectLogger LogFile.swift
[21/23] Compiling PerfectLogger FileLogHandler.swift
/host/spi-builder-workspace/Sources/PerfectLogger/FileLogHandler.swift:104:40: error: cannot find 'O_APPEND' in scope
102 |         }
103 |
104 |         let fd = open(path, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC | O_NONBLOCK, 0o644)
    |                                        `- error: cannot find 'O_APPEND' in scope
105 |         guard fd >= 0 else { return refuse(String(cString: strerror(errno))) }
106 |
/host/spi-builder-workspace/Sources/PerfectLogger/FileLogHandler.swift:104:51: error: cannot find 'O_CREAT' in scope
102 |         }
103 |
104 |         let fd = open(path, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC | O_NONBLOCK, 0o644)
    |                                                   `- error: cannot find 'O_CREAT' in scope
105 |         guard fd >= 0 else { return refuse(String(cString: strerror(errno))) }
106 |
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/WASI.sdk/include/wasm32-wasip1/__header_fcntl.h:13:9: note: macro 'O_CREAT' unavailable: structure not supported
11 | #define O_RSYNC __WASI_FDFLAGS_RSYNC
12 | #define O_SYNC __WASI_FDFLAGS_SYNC
13 | #define O_CREAT (__WASI_OFLAGS_CREAT << 12)
   |         `- note: macro 'O_CREAT' unavailable: structure not supported
14 | #define O_DIRECTORY (__WASI_OFLAGS_DIRECTORY << 12)
15 | #define O_EXCL (__WASI_OFLAGS_EXCL << 12)
/host/spi-builder-workspace/Sources/PerfectLogger/FileLogHandler.swift:104:73: error: cannot find 'O_NONBLOCK' in scope
102 |         }
103 |
104 |         let fd = open(path, O_WRONLY | O_APPEND | O_CREAT | O_CLOEXEC | O_NONBLOCK, 0o644)
    |                                                                         `- error: cannot find 'O_NONBLOCK' in scope
105 |         guard fd >= 0 else { return refuse(String(cString: strerror(errno))) }
106 |
/host/spi-builder-workspace/Sources/PerfectLogger/FileLogHandler.swift:109:57: error: cannot find 'O_NONBLOCK' in scope
107 |         // Blocking writes from here on; O_NONBLOCK was only for the open.
108 |         let flags = fcntl(fd, F_GETFL)
109 |         if flags >= 0 { _ = fcntl(fd, F_SETFL, flags & ~O_NONBLOCK) }
    |                                                         `- error: cannot find 'O_NONBLOCK' in scope
110 |         #if canImport(Darwin)
111 |         _ = fcntl(fd, F_SETNOSIGPIPE, 1)
/host/spi-builder-workspace/Sources/PerfectLogger/FileLogHandler.swift:159:12: error: cannot find 'Musl' in scope
157 |     return Glibc.write(fd, buf, count)
158 |     #else
159 |     return Musl.write(fd, buf, count)
    |            `- error: cannot find 'Musl' in scope
160 |     #endif
161 | }
[22/23] Compiling PerfectLogger LogOptions.swift
[23/23] Compiling PerfectLogger Bootstrap.swift
/host/spi-builder-workspace/Sources/PerfectLogger/RemoteLogHandler.swift:88:38: error: cannot find type 'URLRequest' in scope
 86 | /// one task at a time.
 87 | final class RemoteSink: @unchecked Sendable {
 88 |     typealias Transport = @Sendable (URLRequest) async -> Void
    |                                      `- error: cannot find type 'URLRequest' in scope
 89 |
 90 |     static let defaultCapacity = 1_000
BUILD FAILURE 6.2 wasm