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 PerfectWebSockets with Swift 5.10 for Linux.

Build Command

bash -c docker run --rm -v "checkouts-4609320-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-5.10-latest swift build 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.29.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-websockets.git
Reference: 3.1.1
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-websockets
 * tag               3.1.1      -> FETCH_HEAD
HEAD is now at 9e6ad70 Removed direct crypto dep
Cloned https://github.com/perfectlysoft/perfect-websockets.git
Revision (git rev-parse @):
9e6ad7068cf91b751f0b5329aea507e54fbda62f
SUCCESS checkout https://github.com/perfectlysoft/perfect-websockets.git at 3.1.1
========================================
Build
========================================
Selected platform:         linux
Swift version:             5.10
Building package at path:  $workDir
https://github.com/perfectlysoft/perfect-websockets.git
Running build ...
bash -c docker run --rm -v "checkouts-4609320-0":/host -w "$workDir" registry.gitlab.com/finestructure/spi-images:basic-5.10-latest swift build 2>&1
Fetching https://github.com/PerfectlySoft/Perfect-HTTP.git
[1/808] Fetching perfect-http
Fetched https://github.com/PerfectlySoft/Perfect-HTTP.git from cache (0.34s)
Computing version for https://github.com/PerfectlySoft/Perfect-HTTP.git
Computed https://github.com/PerfectlySoft/Perfect-HTTP.git at 3.3.0 (0.74s)
Fetching https://github.com/PerfectlySoft/Perfect-LinuxBridge.git
Fetching https://github.com/PerfectlySoft/Perfect-Net.git
Fetching https://github.com/PerfectlySoft/PerfectLib.git
[1/65] Fetching perfect-linuxbridge
[61/635] Fetching perfect-linuxbridge, perfect-net
[164/11419] Fetching perfect-linuxbridge, perfect-net, perfectlib
Fetched https://github.com/PerfectlySoft/Perfect-Net.git from cache (3.48s)
Fetched https://github.com/PerfectlySoft/Perfect-LinuxBridge.git from cache (3.49s)
Fetched https://github.com/PerfectlySoft/PerfectLib.git from cache (3.60s)
Computing version for https://github.com/PerfectlySoft/Perfect-LinuxBridge.git
Computed https://github.com/PerfectlySoft/Perfect-LinuxBridge.git at 3.1.0 (0.60s)
Computing version for https://github.com/PerfectlySoft/Perfect-Net.git
Computed https://github.com/PerfectlySoft/Perfect-Net.git at 3.3.0 (0.44s)
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git
[1/379] Fetching perfect-thread
[278/991] Fetching perfect-thread, perfect-crypto
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git from cache (0.26s)
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git from cache (0.26s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 3.3.0 (0.55s)
Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.git
[1/188] Fetching perfect-copenssl-linux
Fetched https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.git from cache (0.23s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.git at 4.0.2 (2.12s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.59s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 3.1.4 (0.53s)
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-LinuxBridge.git
Working copy of https://github.com/PerfectlySoft/Perfect-LinuxBridge.git resolved at 3.1.0
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-HTTP.git
Working copy of https://github.com/PerfectlySoft/Perfect-HTTP.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.git
Working copy of https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.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
Building for debugging...
[0/8] Write sources
[6/8] Compiling LinuxBridge LinuxBridge.c
[7/8] Write swift-version-24593BA9C3E375BF.txt
[9/21] Compiling PerfectLib PerfectError.swift
[10/22] Compiling PerfectThread Threading.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[11/22] Emitting module PerfectLib
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:54: error: cannot find type 'dirent' in scope
    func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
                                                     ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:114: error: cannot find type 'dirent' in scope
    func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
                                                                                                                 ^~~~~~
[12/22] Compiling PerfectLib Bytes.swift
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:54: error: cannot find type 'dirent' in scope
    func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
                                                     ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:114: error: cannot find type 'dirent' in scope
    func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
                                                                                                                 ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:47:13: error: cannot find 'chdir' in scope
                let res = chdir(internalPath)
                          ^~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:56:11: error: cannot find 'getcwd' in scope
                let _ = getcwd(UnsafeMutableRawPointer(mutating: buffer).assumingMemoryBound(to: Int8.self), 2048)
                        ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:62:10: error: cannot find 'access' in scope
                return access(path, F_OK) != -1
                       ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:89:13: error: cannot find 'rmdir' in scope
                let res = rmdir(realPath)
                          ^~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:129:16: error: cannot find 'readdir_r' in scope
        return readdir_r(d, &dirEnt, endPtr)
               ^~~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:141:19: error: cannot find 'opendir' in scope
                guard let dir = opendir(realPath) else {
                                ^~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:145:11: error: cannot find 'closedir' in scope
                defer { closedir(dir) }
                        ^~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:147:13: error: cannot find 'dirent' in scope
                var ent = dirent()
                          ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:148:58: error: cannot find type 'dirent' in scope
                let entPtr = UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>.allocate(capacity:  1)
                                                                       ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:174:41: error: cannot find 'DT_DIR' in scope
                if Int32(type) == Int32(DT_DIR) {
                                        ^~~~~~
[13/22] Compiling PerfectLib Dir.swift
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:54: error: cannot find type 'dirent' in scope
    func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
                                                     ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:114: error: cannot find type 'dirent' in scope
    func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
                                                                                                                 ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:47:13: error: cannot find 'chdir' in scope
                let res = chdir(internalPath)
                          ^~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:56:11: error: cannot find 'getcwd' in scope
                let _ = getcwd(UnsafeMutableRawPointer(mutating: buffer).assumingMemoryBound(to: Int8.self), 2048)
                        ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:62:10: error: cannot find 'access' in scope
                return access(path, F_OK) != -1
                       ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:89:13: error: cannot find 'rmdir' in scope
                let res = rmdir(realPath)
                          ^~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:129:16: error: cannot find 'readdir_r' in scope
        return readdir_r(d, &dirEnt, endPtr)
               ^~~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:141:19: error: cannot find 'opendir' in scope
                guard let dir = opendir(realPath) else {
                                ^~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:145:11: error: cannot find 'closedir' in scope
                defer { closedir(dir) }
                        ^~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:147:13: error: cannot find 'dirent' in scope
                var ent = dirent()
                          ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:148:58: error: cannot find type 'dirent' in scope
                let entPtr = UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>.allocate(capacity:  1)
                                                                       ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:174:41: error: cannot find 'DT_DIR' in scope
                if Int32(type) == Int32(DT_DIR) {
                                        ^~~~~~
[14/22] Compiling PerfectLib SysProcess.swift
[15/22] Compiling PerfectThread Promise.swift
[16/22] Emitting module PerfectThread
[17/22] Compiling PerfectThread ThreadQueue.swift
[18/23] Compiling PerfectLib PerfectServer.swift
[19/23] Compiling PerfectLib Log.swift
[21/23] Compiling PerfectLib JSONConvertible.swift
[22/23] Compiling PerfectLib File.swift
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:66:16: error: cannot find 'access' in scope
        return access(internalPath, F_OK) != -1
               ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:85:19: error: cannot find 'readlink' in scope
        let res = readlink(internalPath, buffer, maxPath)
                  ^~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:116:15: error: cannot find 'wordexp_t' in scope
                        var wexp = wordexp_t()
                                   ^~~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:117:15: error: cannot find 'wordexp' in scope
                        guard 0 == wordexp(inPath, &wexp, 0),
                                   ^~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:122:5: error: cannot find 'wordfree' in scope
                                wordfree(&wexp)
                                ^~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:148:8: error: module 'SwiftGlibc' has no member named 'close'
                        _ = SwiftGlibc.close(CInt(fd))
                            ^~~~~~~~~~ ~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:258:28: error: cannot find 'lseek' in scope
                return Int(lseek(Int32(fd), 0, SEEK_CUR))
                           ^~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:264:13: error: cannot find 'lseek' in scope
            lseek(Int32(fd), off_t(newValue), SEEK_SET)
            ^~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:274:9: error: cannot find 'unlink' in scope
        unlink(path)
        ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:407:13: error: cannot find 'symlink' in scope
                let res = symlink(self.path, path)
                          ^~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:442:19: error: cannot find 'read' in scope
                let readCount = read(CInt(fd), ptr, bSize)
                                ^~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:480:15: error: module 'SwiftGlibc' has no member named 'write'
                let wrote = SwiftGlibc.write(Int32(fd), ptr, len)
                            ^~~~~~~~~~ ~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:573:18: error: cannot find 'mkstemp' in scope
        let fd = mkstemp(name)
                 ^~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:584:45: error: cannot find 'STDIN_FILENO' in scope
    return UnclosableFile("/dev/stdin", fd: STDIN_FILENO)
                                            ^~~~~~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:589:43: error: cannot find 'STDOUT_FILENO' in scope
        return UnclosableFile("/dev/stdout", fd: STDOUT_FILENO)
                                                 ^~~~~~~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:594:43: error: cannot find 'STDERR_FILENO' in scope
        return UnclosableFile("/dev/stderr", fd: STDERR_FILENO)
                                                 ^~~~~~~~~~~~~
[23/23] Compiling PerfectLib Utilities.swift
error: fatalError
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/5] Compiling PerfectLib Dir.swift
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:54: error: cannot find type 'dirent' in scope
    func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
                                                     ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:114: error: cannot find type 'dirent' in scope
    func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
                                                                                                                 ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:47:13: error: cannot find 'chdir' in scope
                let res = chdir(internalPath)
                          ^~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:56:11: error: cannot find 'getcwd' in scope
                let _ = getcwd(UnsafeMutableRawPointer(mutating: buffer).assumingMemoryBound(to: Int8.self), 2048)
                        ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:62:10: error: cannot find 'access' in scope
                return access(path, F_OK) != -1
                       ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:89:13: error: cannot find 'rmdir' in scope
                let res = rmdir(realPath)
                          ^~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:129:16: error: cannot find 'readdir_r' in scope
        return readdir_r(d, &dirEnt, endPtr)
               ^~~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:141:19: error: cannot find 'opendir' in scope
                guard let dir = opendir(realPath) else {
                                ^~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:145:11: error: cannot find 'closedir' in scope
                defer { closedir(dir) }
                        ^~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:147:13: error: cannot find 'dirent' in scope
                var ent = dirent()
                          ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:148:58: error: cannot find type 'dirent' in scope
                let entPtr = UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>.allocate(capacity:  1)
                                                                       ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:174:41: error: cannot find 'DT_DIR' in scope
                if Int32(type) == Int32(DT_DIR) {
                                        ^~~~~~
[3/5] Compiling PerfectLib File.swift
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:66:16: error: cannot find 'access' in scope
        return access(internalPath, F_OK) != -1
               ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:85:19: error: cannot find 'readlink' in scope
        let res = readlink(internalPath, buffer, maxPath)
                  ^~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:116:15: error: cannot find 'wordexp_t' in scope
                        var wexp = wordexp_t()
                                   ^~~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:117:15: error: cannot find 'wordexp' in scope
                        guard 0 == wordexp(inPath, &wexp, 0),
                                   ^~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:122:5: error: cannot find 'wordfree' in scope
                                wordfree(&wexp)
                                ^~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:148:8: error: module 'SwiftGlibc' has no member named 'close'
                        _ = SwiftGlibc.close(CInt(fd))
                            ^~~~~~~~~~ ~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:258:28: error: cannot find 'lseek' in scope
                return Int(lseek(Int32(fd), 0, SEEK_CUR))
                           ^~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:264:13: error: cannot find 'lseek' in scope
            lseek(Int32(fd), off_t(newValue), SEEK_SET)
            ^~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:274:9: error: cannot find 'unlink' in scope
        unlink(path)
        ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:407:13: error: cannot find 'symlink' in scope
                let res = symlink(self.path, path)
                          ^~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:442:19: error: cannot find 'read' in scope
                let readCount = read(CInt(fd), ptr, bSize)
                                ^~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:480:15: error: module 'SwiftGlibc' has no member named 'write'
                let wrote = SwiftGlibc.write(Int32(fd), ptr, len)
                            ^~~~~~~~~~ ~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:573:18: error: cannot find 'mkstemp' in scope
        let fd = mkstemp(name)
                 ^~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:584:45: error: cannot find 'STDIN_FILENO' in scope
    return UnclosableFile("/dev/stdin", fd: STDIN_FILENO)
                                            ^~~~~~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:589:43: error: cannot find 'STDOUT_FILENO' in scope
        return UnclosableFile("/dev/stdout", fd: STDOUT_FILENO)
                                                 ^~~~~~~~~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:594:43: error: cannot find 'STDERR_FILENO' in scope
        return UnclosableFile("/dev/stderr", fd: STDERR_FILENO)
                                                 ^~~~~~~~~~~~~
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/5] Compiling PerfectLib Bytes.swift
[5/5] Emitting module PerfectLib
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:54: error: cannot find type 'dirent' in scope
    func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
                                                     ^~~~~~
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:114: error: cannot find type 'dirent' in scope
    func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
                                                                                                                 ^~~~~~
error: fatalError
BUILD FAILURE 5.10 linux