The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Perfect-LocalAuthentication-MySQL, reference 3.0.4 (9e5aa5), with Swift 6.3 for Linux on 10 Apr 2026 15:29:55 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-localauthentication-mysql.git
Reference: 3.0.4
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-localauthentication-mysql
 * tag               3.0.4      -> FETCH_HEAD
HEAD is now at 9e5aa51 cleanup
Cloned https://github.com/perfectlysoft/perfect-localauthentication-mysql.git
Revision (git rev-parse @):
9e5aa516cead7cb0ba0ad63577b49b7c93d426a9
SUCCESS checkout https://github.com/perfectlysoft/perfect-localauthentication-mysql.git at 3.0.4
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.3
Building package at path:  $PWD
https://github.com/perfectlysoft/perfect-localauthentication-mysql.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:5a7d791d2ead8a924b1292cb31bf3288eabcfe8880e0b005b00b45b71a5bc36a
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:basic-6.3-latest
Fetching https://github.com/PerfectlySoft/Perfect-HTTP.git
Fetching https://github.com/PerfectlySoft/Perfect-RequestLogger.git
Fetching https://github.com/PerfectlySoft/Perfect-SMTP.git
Fetching https://github.com/SwiftORM/MySQL-StORM.git
Fetching https://github.com/PerfectlySoft/Perfect-Mustache.git
Fetching https://github.com/PerfectlySoft/Perfect-Session-MySQL.git
[1/295] Fetching mysql-storm
[117/529] Fetching mysql-storm, perfect-mustache
[467/897] Fetching mysql-storm, perfect-mustache, perfect-smtp
[517/1056] Fetching mysql-storm, perfect-mustache, perfect-smtp, perfect-requestlogger
[1057/1864] Fetching mysql-storm, perfect-mustache, perfect-smtp, perfect-requestlogger, perfect-http
[1663/2014] Fetching mysql-storm, perfect-mustache, perfect-smtp, perfect-requestlogger, perfect-http, perfect-session-mysql
Fetched https://github.com/PerfectlySoft/Perfect-SMTP.git from cache (1.70s)
Fetched https://github.com/SwiftORM/MySQL-StORM.git from cache (1.70s)
Fetched https://github.com/PerfectlySoft/Perfect-HTTP.git from cache (1.70s)
Fetched https://github.com/PerfectlySoft/Perfect-RequestLogger.git from cache (1.70s)
Fetched https://github.com/PerfectlySoft/Perfect-Mustache.git from cache (1.70s)
Fetched https://github.com/PerfectlySoft/Perfect-Session-MySQL.git from cache (1.71s)
Fetching https://github.com/iamjono/JSONConfig.git
[1/64] Fetching jsonconfig
Fetched https://github.com/iamjono/JSONConfig.git from cache (0.38s)
Computing version for https://github.com/PerfectlySoft/Perfect-Mustache.git
Computed https://github.com/PerfectlySoft/Perfect-Mustache.git at 3.0.2 (2.63s)
Computing version for https://github.com/iamjono/JSONConfig.git
Computed https://github.com/iamjono/JSONConfig.git at 3.1.0 (2.82s)
Fetching https://github.com/PerfectlySoft/PerfectLib.git
[1/10784] Fetching perfectlib
Fetched https://github.com/PerfectlySoft/PerfectLib.git from cache (3.44s)
Computing version for https://github.com/PerfectlySoft/Perfect-Session-MySQL.git
Computed https://github.com/PerfectlySoft/Perfect-Session-MySQL.git at 3.2.0 (3.94s)
Fetching https://github.com/PerfectlySoft/Perfect-Session.git
Fetching https://github.com/PerfectlySoft/Perfect-MySQL.git
[1/390] Fetching perfect-session
[391/1209] Fetching perfect-session, perfect-mysql
Fetched https://github.com/PerfectlySoft/Perfect-Session.git from cache (0.30s)
[377/819] Fetching perfect-mysql
Fetched https://github.com/PerfectlySoft/Perfect-MySQL.git from cache (0.52s)
Computing version for https://github.com/PerfectlySoft/Perfect-RequestLogger.git
Computed https://github.com/PerfectlySoft/Perfect-RequestLogger.git at 3.0.5 (0.93s)
Fetching https://github.com/PerfectlySoft/Perfect-Logger.git
[1/182] Fetching perfect-logger
Fetched https://github.com/PerfectlySoft/Perfect-Logger.git from cache (0.21s)
Computing version for https://github.com/SwiftORM/MySQL-StORM.git
Computed https://github.com/SwiftORM/MySQL-StORM.git at 3.3.0 (0.67s)
Fetching https://github.com/SwiftORM/StORM.git
[1/702] Fetching storm
Fetched https://github.com/SwiftORM/StORM.git from cache (0.22s)
Computing version for https://github.com/PerfectlySoft/Perfect-Session.git
Computed https://github.com/PerfectlySoft/Perfect-Session.git at 3.1.5 (0.63s)
Computing version for https://github.com/PerfectlySoft/Perfect-Logger.git
Computed https://github.com/PerfectlySoft/Perfect-Logger.git at 3.3.0 (0.44s)
Fetching https://github.com/PerfectlySoft/Perfect-CURL.git
[1/504] Fetching perfect-curl
Fetched https://github.com/PerfectlySoft/Perfect-CURL.git from cache (0.21s)
Computing version for https://github.com/PerfectlySoft/Perfect-CURL.git
Computed https://github.com/PerfectlySoft/Perfect-CURL.git at 3.1.0 (0.64s)
Fetching https://github.com/PerfectlySoft/Perfect-libcurl.git
[1/77] Fetching perfect-libcurl
Fetched https://github.com/PerfectlySoft/Perfect-libcurl.git from cache (0.20s)
Computing version for https://github.com/PerfectlySoft/Perfect-libcurl.git
Computed https://github.com/PerfectlySoft/Perfect-libcurl.git at 2.1.0 (0.62s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 3.1.4 (0.49s)
Fetching https://github.com/PerfectlySoft/Perfect-LinuxBridge.git
[1/65] Fetching perfect-linuxbridge
Fetched https://github.com/PerfectlySoft/Perfect-LinuxBridge.git from cache (0.19s)
Computing version for https://github.com/PerfectlySoft/Perfect-LinuxBridge.git
Computed https://github.com/PerfectlySoft/Perfect-LinuxBridge.git at 3.1.0 (0.61s)
Computing version for https://github.com/PerfectlySoft/Perfect-SMTP.git
Computed https://github.com/PerfectlySoft/Perfect-SMTP.git at 3.3.0 (0.43s)
Computing version for https://github.com/SwiftORM/StORM.git
Computed https://github.com/SwiftORM/StORM.git at 3.3.0 (0.44s)
Fetching https://github.com/iamjono/SwiftMoment.git
[1/877] Fetching swiftmoment
Fetched https://github.com/iamjono/SwiftMoment.git from cache (0.26s)
Computing version for https://github.com/iamjono/SwiftMoment.git
Computed https://github.com/iamjono/SwiftMoment.git at 1.3.0 (0.69s)
Computing version for https://github.com/PerfectlySoft/Perfect-MySQL.git
Computed https://github.com/PerfectlySoft/Perfect-MySQL.git at 3.5.1 (0.48s)
Fetching https://github.com/PerfectlySoft/Perfect-mysqlclient-Linux.git
Fetching https://github.com/PerfectlySoft/Perfect-CRUD.git
[1/45] Fetching perfect-mysqlclient-linux
Fetched https://github.com/PerfectlySoft/Perfect-mysqlclient-Linux.git from cache (0.18s)
[1/1197] Fetching perfect-crud
Fetched https://github.com/PerfectlySoft/Perfect-CRUD.git from cache (0.24s)
Computing version for https://github.com/PerfectlySoft/Perfect-CRUD.git
Computed https://github.com/PerfectlySoft/Perfect-CRUD.git at 1.2.3 (0.69s)
Computing version for https://github.com/PerfectlySoft/Perfect-mysqlclient-Linux.git
Computed https://github.com/PerfectlySoft/Perfect-mysqlclient-Linux.git at 2.1.0 (0.44s)
Computing version for https://github.com/PerfectlySoft/Perfect-HTTP.git
Computed https://github.com/PerfectlySoft/Perfect-HTTP.git at 3.3.0 (0.47s)
Fetching https://github.com/PerfectlySoft/Perfect-Net.git
[1/570] Fetching perfect-net
Fetched https://github.com/PerfectlySoft/Perfect-Net.git from cache (0.21s)
Computing version for https://github.com/PerfectlySoft/Perfect-Net.git
Computed https://github.com/PerfectlySoft/Perfect-Net.git at 3.3.0 (0.74s)
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
[1/379] Fetching perfect-thread
[380/991] Fetching perfect-thread, perfect-crypto
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git from cache (0.58s)
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git from cache (0.58s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 3.3.0 (1.08s)
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.22s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL-Linux.git at 4.0.2 (0.68s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.48s)
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-Logger.git
Working copy of https://github.com/PerfectlySoft/Perfect-Logger.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-SMTP.git
Working copy of https://github.com/PerfectlySoft/Perfect-SMTP.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-Session.git
Working copy of https://github.com/PerfectlySoft/Perfect-Session.git resolved at 3.1.5
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-CRUD.git
Working copy of https://github.com/PerfectlySoft/Perfect-CRUD.git resolved at 1.2.3
Creating working copy for https://github.com/SwiftORM/MySQL-StORM.git
Working copy of https://github.com/SwiftORM/MySQL-StORM.git resolved at 3.3.0
Creating working copy for https://github.com/iamjono/JSONConfig.git
Working copy of https://github.com/iamjono/JSONConfig.git resolved at 3.1.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-RequestLogger.git
Working copy of https://github.com/PerfectlySoft/Perfect-RequestLogger.git resolved at 3.0.5
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-Session-MySQL.git
Working copy of https://github.com/PerfectlySoft/Perfect-Session-MySQL.git resolved at 3.2.0
Creating working copy for https://github.com/iamjono/SwiftMoment.git
Working copy of https://github.com/iamjono/SwiftMoment.git resolved at 1.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-MySQL.git
Working copy of https://github.com/PerfectlySoft/Perfect-MySQL.git resolved at 3.5.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-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-CURL.git
Working copy of https://github.com/PerfectlySoft/Perfect-CURL.git resolved at 3.1.0
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-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/Perfect-Mustache.git
Working copy of https://github.com/PerfectlySoft/Perfect-Mustache.git resolved at 3.0.2
Creating working copy for https://github.com/SwiftORM/StORM.git
Working copy of https://github.com/SwiftORM/StORM.git resolved at 3.3.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-mysqlclient-Linux.git
Working copy of https://github.com/PerfectlySoft/Perfect-mysqlclient-Linux.git resolved at 2.1.0
warning: 'perfect-mysqlclient-linux': ignoring declared target(s) 'mysqlclient' in the system package
warning: 'perfect-libcurl': ignoring declared target(s) 'cURL' in the system package
warning: you may be able to install mysqlclient using your system-packager:
    apt-get install libmysqlclient-dev
warning: you may be able to install mysqlclient using your system-packager:
    apt-get install libmysqlclient-dev
Building for debugging...
[0/21] Write sources
[19/21] Write swift-version-24593BA9C3E375BF.txt
[20/21] Compiling LinuxBridge LinuxBridge.c
[22/65] Emitting module PerfectCRUD
[23/68] Compiling SwiftMoment TimeUnit.swift
[24/68] Compiling SwiftMoment Operators.swift
[25/68] Compiling PerfectLib PerfectError.swift
[26/68] Compiling PerfectLib Log.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[27/69] Emitting module PerfectLib
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:54: error: cannot find type 'dirent' in scope
126 |
127 | #if os(Linux)
128 |     func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
    |                                                      `- error: cannot find type 'dirent' in scope
129 |         return readdir_r(d, &dirEnt, endPtr)
130 |     }
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:114: error: cannot find type 'dirent' in scope
126 |
127 | #if os(Linux)
128 |     func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
    |                                                                                                                  `- error: cannot find type 'dirent' in scope
129 |         return readdir_r(d, &dirEnt, endPtr)
130 |     }
[28/69] Compiling PerfectLib Bytes.swift
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:54: error: cannot find type 'dirent' in scope
126 |
127 | #if os(Linux)
128 |     func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
    |                                                      `- error: cannot find type 'dirent' in scope
129 |         return readdir_r(d, &dirEnt, endPtr)
130 |     }
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:114: error: cannot find type 'dirent' in scope
126 |
127 | #if os(Linux)
128 |     func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
    |                                                                                                                  `- error: cannot find type 'dirent' in scope
129 |         return readdir_r(d, &dirEnt, endPtr)
130 |     }
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:47:13: error: cannot find 'chdir' in scope
 45 | 	/// Set this Dir as the process' working directory.
 46 | 	public func setAsWorkingDir() throws {
 47 | 		let res = chdir(internalPath)
    |             `- error: cannot find 'chdir' in scope
 48 | 		guard res == 0 else {
 49 | 			try ThrowFileError()
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:56:11: error: cannot find 'getcwd' in scope
 54 | 	public static var workingDir: Dir {
 55 | 		let buffer = Array(repeating: 0 as UInt8, count: 2049)
 56 | 		let _ = getcwd(UnsafeMutableRawPointer(mutating: buffer).assumingMemoryBound(to: Int8.self), 2048)
    |           `- error: cannot find 'getcwd' in scope
 57 | 		let path = String(validatingUTF8: UnsafeMutableRawPointer(mutating: buffer).assumingMemoryBound(to: Int8.self)) ?? "."
 58 | 		return Dir(path)
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:62:10: error: cannot find 'access' in scope
 60 |
 61 | 	func exists(_ path: String) -> Bool {
 62 | 		return access(path, F_OK) != -1
    |          `- error: cannot find 'access' in scope
 63 | 	}
 64 |
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:89:13: error: cannot find 'rmdir' in scope
 87 | 	/// - throws: `PerfectError.FileError`
 88 | 	public func delete() throws {
 89 | 		let res = rmdir(realPath)
    |             `- error: cannot find 'rmdir' in scope
 90 | 		guard res != -1 else {
 91 | 			try ThrowFileError()
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:129:16: error: cannot find 'readdir_r' in scope
127 | #if os(Linux)
128 |     func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
129 |         return readdir_r(d, &dirEnt, endPtr)
    |                `- error: cannot find 'readdir_r' in scope
130 |     }
131 | #else
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:141:19: error: cannot find 'opendir' in scope
139 | 	/// - throws: `PerfectError.FileError`
140 | 	public func forEachEntry(closure: (String) throws -> ()) throws {
141 | 		guard let dir = opendir(realPath) else {
    |                   `- error: cannot find 'opendir' in scope
142 | 			try ThrowFileError()
143 | 		}
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:145:11: error: cannot find 'closedir' in scope
143 | 		}
144 |
145 | 		defer { closedir(dir) }
    |           `- error: cannot find 'closedir' in scope
146 |
147 | 		var ent = dirent()
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:147:13: error: cannot find 'dirent' in scope
145 | 		defer { closedir(dir) }
146 |
147 | 		var ent = dirent()
    |             `- error: cannot find 'dirent' in scope
148 | 		let entPtr = UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>.allocate(capacity:  1)
149 | 		defer { entPtr.deallocate() }
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:148:58: error: cannot find type 'dirent' in scope
146 |
147 | 		var ent = dirent()
148 | 		let entPtr = UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>.allocate(capacity:  1)
    |                                                          `- error: cannot find type 'dirent' in scope
149 | 		defer { entPtr.deallocate() }
150 |
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:174:41: error: cannot find 'DT_DIR' in scope
172 | 			nameBuf.append(0)
173 | 			if let name = String(validatingUTF8: nameBuf), !(name == "." || name == "..") {
174 |                 if Int32(type) == Int32(DT_DIR) {
    |                                         `- error: cannot find 'DT_DIR' in scope
175 |                     try closure(name + "/")
176 |                 } else {
[29/69] Compiling PerfectLib Dir.swift
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:54: error: cannot find type 'dirent' in scope
126 |
127 | #if os(Linux)
128 |     func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
    |                                                      `- error: cannot find type 'dirent' in scope
129 |         return readdir_r(d, &dirEnt, endPtr)
130 |     }
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:128:114: error: cannot find type 'dirent' in scope
126 |
127 | #if os(Linux)
128 |     func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
    |                                                                                                                  `- error: cannot find type 'dirent' in scope
129 |         return readdir_r(d, &dirEnt, endPtr)
130 |     }
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:47:13: error: cannot find 'chdir' in scope
 45 | 	/// Set this Dir as the process' working directory.
 46 | 	public func setAsWorkingDir() throws {
 47 | 		let res = chdir(internalPath)
    |             `- error: cannot find 'chdir' in scope
 48 | 		guard res == 0 else {
 49 | 			try ThrowFileError()
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:56:11: error: cannot find 'getcwd' in scope
 54 | 	public static var workingDir: Dir {
 55 | 		let buffer = Array(repeating: 0 as UInt8, count: 2049)
 56 | 		let _ = getcwd(UnsafeMutableRawPointer(mutating: buffer).assumingMemoryBound(to: Int8.self), 2048)
    |           `- error: cannot find 'getcwd' in scope
 57 | 		let path = String(validatingUTF8: UnsafeMutableRawPointer(mutating: buffer).assumingMemoryBound(to: Int8.self)) ?? "."
 58 | 		return Dir(path)
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:62:10: error: cannot find 'access' in scope
 60 |
 61 | 	func exists(_ path: String) -> Bool {
 62 | 		return access(path, F_OK) != -1
    |          `- error: cannot find 'access' in scope
 63 | 	}
 64 |
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:89:13: error: cannot find 'rmdir' in scope
 87 | 	/// - throws: `PerfectError.FileError`
 88 | 	public func delete() throws {
 89 | 		let res = rmdir(realPath)
    |             `- error: cannot find 'rmdir' in scope
 90 | 		guard res != -1 else {
 91 | 			try ThrowFileError()
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:129:16: error: cannot find 'readdir_r' in scope
127 | #if os(Linux)
128 |     func readDir(_ d: OpaquePointer, _ dirEnt: inout dirent, _ endPtr: UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>!) -> Int32 {
129 |         return readdir_r(d, &dirEnt, endPtr)
    |                `- error: cannot find 'readdir_r' in scope
130 |     }
131 | #else
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:141:19: error: cannot find 'opendir' in scope
139 | 	/// - throws: `PerfectError.FileError`
140 | 	public func forEachEntry(closure: (String) throws -> ()) throws {
141 | 		guard let dir = opendir(realPath) else {
    |                   `- error: cannot find 'opendir' in scope
142 | 			try ThrowFileError()
143 | 		}
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:145:11: error: cannot find 'closedir' in scope
143 | 		}
144 |
145 | 		defer { closedir(dir) }
    |           `- error: cannot find 'closedir' in scope
146 |
147 | 		var ent = dirent()
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:147:13: error: cannot find 'dirent' in scope
145 | 		defer { closedir(dir) }
146 |
147 | 		var ent = dirent()
    |             `- error: cannot find 'dirent' in scope
148 | 		let entPtr = UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>.allocate(capacity:  1)
149 | 		defer { entPtr.deallocate() }
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:148:58: error: cannot find type 'dirent' in scope
146 |
147 | 		var ent = dirent()
148 | 		let entPtr = UnsafeMutablePointer<UnsafeMutablePointer<dirent>?>.allocate(capacity:  1)
    |                                                          `- error: cannot find type 'dirent' in scope
149 | 		defer { entPtr.deallocate() }
150 |
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/Dir.swift:174:41: error: cannot find 'DT_DIR' in scope
172 | 			nameBuf.append(0)
173 | 			if let name = String(validatingUTF8: nameBuf), !(name == "." || name == "..") {
174 |                 if Int32(type) == Int32(DT_DIR) {
    |                                         `- error: cannot find 'DT_DIR' in scope
175 |                     try closure(name + "/")
176 |                 } else {
[30/69] Compiling PerfectThread Threading.swift
[31/69] Compiling PerfectLib PerfectServer.swift
[32/69] Compiling PerfectLib SysProcess.swift
[33/69] Compiling PerfectLib JSONConvertible.swift
[34/69] Compiling PerfectThread Promise.swift
[35/69] Emitting module PerfectThread
[36/69] Compiling PerfectThread ThreadQueue.swift
[38/70] Compiling PerfectLib File.swift
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:66:16: error: cannot find 'access' in scope
 64 |     /// - returns: True if the file exists or false otherwise
 65 |     public var exists: Bool {
 66 |         return access(internalPath, F_OK) != -1
    |                `- error: cannot find 'access' in scope
 67 |     }
 68 |
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:85:19: error: cannot find 'readlink' in scope
 83 |         var ary = [UInt8](repeating: 0, count: maxPath)
 84 | 		let buffer = UnsafeMutableRawPointer(mutating: ary).assumingMemoryBound(to: Int8.self)
 85 |         let res = readlink(internalPath, buffer, maxPath)
    |                   `- error: cannot find 'readlink' in scope
 86 |         guard res != -1 else {
 87 |             return internalPath
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:116:15: error: cannot find 'wordexp_t' in scope
114 | #if !os(iOS) && !os(tvOS)
115 | 		if !inPath.isEmpty && inPath[inPath.startIndex] == "~" {
116 | 			var wexp = wordexp_t()
    |               `- error: cannot find 'wordexp_t' in scope
117 | 			guard 0 == wordexp(inPath, &wexp, 0),
118 | 					let we_wordv = wexp.we_wordv else {
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:117:15: error: cannot find 'wordexp' in scope
115 | 		if !inPath.isEmpty && inPath[inPath.startIndex] == "~" {
116 | 			var wexp = wordexp_t()
117 | 			guard 0 == wordexp(inPath, &wexp, 0),
    |               `- error: cannot find 'wordexp' in scope
118 | 					let we_wordv = wexp.we_wordv else {
119 | 				return inPath
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:122:5: error: cannot find 'wordfree' in scope
120 | 			}
121 | 			defer {
122 | 				wordfree(&wexp)
    |     `- error: cannot find 'wordfree' in scope
123 | 			}
124 | 			if let resolved = we_wordv[0], let pth = String(validatingUTF8: resolved) {
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:148:8: error: module 'SwiftGlibc' has no member named 'close'
146 | 		if fd != -1 {
147 | 		#if os(Linux)
148 | 			_ = SwiftGlibc.close(CInt(fd))
    |        `- error: module 'SwiftGlibc' has no member named 'close'
149 | 		#else
150 |             _ = Darwin.close(CInt(fd))
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:258:28: error: cannot find 'lseek' in scope
256 |         get {
257 |             if isOpen {
258 |                 return Int(lseek(Int32(fd), 0, SEEK_CUR))
    |                            `- error: cannot find 'lseek' in scope
259 |             }
260 |             return 0
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:264:13: error: cannot find 'lseek' in scope
262 |         /// Sets the file's position marker given the value as measured from the begining of the file.
263 |         set {
264 |             lseek(Int32(fd), off_t(newValue), SEEK_SET)
    |             `- error: cannot find 'lseek' in scope
265 |         }
266 |     }
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:274:9: error: cannot find 'unlink' in scope
272 | 	func delete() {
273 |         close()
274 |         unlink(path)
    |         `- error: cannot find 'unlink' in scope
275 |     }
276 |
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:407:13: error: cannot find 'symlink' in scope
405 | 			destFile.delete()
406 | 		}
407 | 		let res = symlink(self.path, path)
    |             `- error: cannot find 'symlink' in scope
408 | 		if res == 0 {
409 | 			return File(path)
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:442:19: error: cannot find 'read' in scope
440 | 		let ptr = UnsafeMutableRawPointer(mutating: ary).assumingMemoryBound(to: Int8.self)
441 |
442 | 		let readCount = read(CInt(fd), ptr, bSize)
    |                   `- error: cannot find 'read' in scope
443 | 		guard readCount >= 0 else {
444 | 			try ThrowFileError()
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:480:15: error: module 'SwiftGlibc' has no member named 'write'
478 | 		let ptr = UnsafeMutableRawPointer(mutating: bytes).assumingMemoryBound(to: UInt8.self).advanced(by: dataPosition)
479 |     #if os(Linux)
480 | 		let wrote = SwiftGlibc.write(Int32(fd), ptr, len)
    |               `- error: module 'SwiftGlibc' has no member named 'write'
481 | 	#else
482 | 		let wrote = Darwin.write(Int32(fd), ptr, len)
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:573:18: error: cannot find 'mkstemp' in scope
571 |         name[utf8.count] = 0
572 |
573 |         let fd = mkstemp(name)
    |                  `- error: cannot find 'mkstemp' in scope
574 |         let tmpFileName = String(validatingUTF8: name)!
575 |
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:584:45: error: cannot find 'STDIN_FILENO' in scope
582 | /// This file can be used to write to standard in
583 | public var fileStdin: File {
584 |     return UnclosableFile("/dev/stdin", fd: STDIN_FILENO)
    |                                             `- error: cannot find 'STDIN_FILENO' in scope
585 | }
586 |
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:589:43: error: cannot find 'STDOUT_FILENO' in scope
587 | /// This file can be used to write to standard out
588 | public var fileStdout: File {
589 | 	return UnclosableFile("/dev/stdout", fd: STDOUT_FILENO)
    |                                           `- error: cannot find 'STDOUT_FILENO' in scope
590 | }
591 |
/host/spi-builder-workspace/.build/checkouts/PerfectLib/Sources/PerfectLib/File.swift:594:43: error: cannot find 'STDERR_FILENO' in scope
592 | /// This file can be used to write to standard error
593 | public var fileStderr: File {
594 | 	return UnclosableFile("/dev/stderr", fd: STDERR_FILENO)
    |                                           `- error: cannot find 'STDERR_FILENO' in scope
595 | }
596 |
[39/70] Compiling PerfectCRUD Logical.swift
[40/70] Compiling PerfectCRUD Insert.swift
[41/70] Compiling PerfectCRUD Join.swift
[42/70] Compiling SwiftMoment Duration.swift
[43/70] Emitting module SwiftMoment
[44/70] Compiling SwiftMoment MomentFromNow.swift
[45/70] Compiling PerfectCRUD Equality.swift
[46/70] Compiling PerfectCRUD EqualityInts.swift
[47/70] Compiling PerfectCRUD Expression.swift
[48/70] Compiling PerfectCRUD Delete.swift
[49/70] Compiling PerfectCRUD Comparison.swift
[50/70] Compiling PerfectCRUD ComparisonInts.swift
[51/70] Compiling PerfectLib Utilities.swift
[52/70] Compiling SwiftMoment Extensions.swift
[53/70] Compiling SwiftMoment Moment.swift
[54/70] Compiling PerfectCRUD In.swift
[55/70] Compiling PerfectCRUD InInts.swift
[56/70] Compiling PerfectCRUD Like.swift
[57/70] Compiling PerfectCRUD Table.swift
[58/70] Compiling PerfectCRUD Update.swift
[59/70] Compiling PerfectCRUD Where.swift
[60/71] Compiling PerfectCRUD CodingNames.swift
[61/71] Compiling PerfectCRUD CodingRows.swift
[62/71] Compiling PerfectCRUD Create.swift
[63/71] Compiling PerfectCRUD Database.swift
[66/71] Compiling PerfectCRUD CodingJoins.swift
[67/71] Compiling PerfectCRUD CodingKeyPaths.swift
[68/71] Compiling PerfectCRUD Logging.swift
[69/71] Compiling PerfectCRUD PerfectCRUD.swift
[70/71] Compiling PerfectCRUD Select.swift
error: cancelled
BUILD FAILURE 6.3 linux