The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Popen, reference main (88234d), with Swift 6.1 for Wasm on 1 Mar 2026 23:21:03 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/johnno1962/Popen.git
Reference: main
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/johnno1962/Popen
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 88234d2 Merge pull request #3 from johnno1962/blocking-again
Cloned https://github.com/johnno1962/Popen.git
Revision (git rev-parse @):
88234d2a067b277dab3c7d3a74210205f0b92962
SUCCESS checkout https://github.com/johnno1962/Popen.git at main
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/johnno1962/Popen.git
https://github.com/johnno1962/Popen.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Popen",
  "name" : "Popen",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Popen",
      "targets" : [
        "Popen"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PopenD",
      "targets" : [
        "PopenD"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PopenTests",
      "module_type" : "SwiftTarget",
      "name" : "PopenTests",
      "path" : "Tests/PopenTests",
      "sources" : [
        "PopenTests.swift"
      ],
      "target_dependencies" : [
        "Popen"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PopenD",
      "module_type" : "SwiftTarget",
      "name" : "PopenD",
      "path" : "Sources/PopenD",
      "product_memberships" : [
        "PopenD"
      ],
      "sources" : [
        "Fopen.swift",
        "Fstat.swift",
        "Glob.swift",
        "Popen.swift",
        "Qopen.swift",
        "Stream.swift",
        "Topen.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Popen",
      "module_type" : "SwiftTarget",
      "name" : "Popen",
      "path" : "Sources/Popen",
      "product_memberships" : [
        "Popen"
      ],
      "sources" : [
        "Fopen.swift",
        "Fstat.swift",
        "Glob.swift",
        "Popen.swift",
        "Qopen.swift",
        "Stream.swift",
        "Topen.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:58b971189c4d3c564696bb40c86e07506670ed096ab7351a005c7c449525017a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/19] Emitting module PopenD
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:22:27: warning: static property 'read' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
 20 |         }
 21 |
 22 |         static public let read = Self("r")
    |                           |- warning: static property 'read' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'read' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:23:27: warning: static property 'both' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 21 |
 22 |         static public let read = Self("r")
 23 |         static public let both = Self("r+")
    |                           |- warning: static property 'both' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'both' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:24:27: warning: static property 'write' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 22 |         static public let read = Self("r")
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
    |                           |- warning: static property 'write' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'write' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |         static public let append =  Self("a")
 26 |         static public let new = Self("wx")
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:25:27: warning: static property 'append' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
    |                           |- warning: static property 'append' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'append' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |         static public let new = Self("wx")
 27 |
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:26:27: warning: static property 'new' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
 26 |         static public let new = Self("wx")
    |                           |- warning: static property 'new' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'new' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |
 28 |         case other(_ mode: String)
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:60:47: error: cannot find type 'FILE' in scope
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
    |                                               `- error: cannot find type 'FILE' in scope
 61 |         guard let stream = stream else { return nil }
 62 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:54:24: error: no exact matches in call to initializer
 52 |     }
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
    |                        `- error: no exact matches in call to initializer
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:55:25: error: no exact matches in call to initializer
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
    |                         `- error: no exact matches in call to initializer
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:56:25: error: no exact matches in call to initializer
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    |                         `- error: no exact matches in call to initializer
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:58:47: error: cannot find type 'FILE' in scope
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:32:23: warning: static property 'openedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openedFILEStreams = 0, closedFILEStreams = 0
    |                       |- warning: static property 'openedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'openedFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'openedFILEStreams' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:32:46: warning: static property 'closedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openedFILEStreams = 0, closedFILEStreams = 0
    |                                              |- warning: static property 'closedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                                              |- note: convert 'closedFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                                              |- note: add '@MainActor' to make static property 'closedFILEStreams' part of global actor 'MainActor'
    |                                              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:35:23: warning: static property 'initialLineBufferSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
 35 |     public static var initialLineBufferSize = 10_000
    |                       |- warning: static property 'initialLineBufferSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'initialLineBufferSize' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'initialLineBufferSize' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     public static var shellCommand = "/bin/bash"
 37 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:36:23: warning: static property 'shellCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 34 |         return openedFILEStreams - closedFILEStreams }
 35 |     public static var initialLineBufferSize = 10_000
 36 |     public static var shellCommand = "/bin/bash"
    |                       |- warning: static property 'shellCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shellCommand' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'shellCommand' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |
 38 |     /// Execute a shell command
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:96:19: error: cannot find 'DispatchGroup' in scope
 94 |       }
 95 |       let box = DataBox()
 96 |       let group = DispatchGroup()
    |                   `- error: cannot find 'DispatchGroup' in scope
 97 |
 98 |       group.enter()
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                 `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                                        `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
102 |           pipe.fileHandleForReading.readabilityHandler = nil
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 |           group.leave()
104 |         } else {
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 |     }
36 |
37 |     open func terminate(signal: CInt = SIGKILL) {
   |                                        `- error: cannot find 'SIGKILL' in scope
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
[5/19] Compiling Popen Topen.swift
[6/19] Compiling PopenD Topen.swift
[7/19] Compiling PopenD Qopen.swift
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 |     }
36 |
37 |     open func terminate(signal: CInt = SIGKILL) {
   |                                        `- error: cannot find 'SIGKILL' in scope
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:19:38: warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid
17 |
18 |     public init?(cmd: String, mode: Fopen.FILEMode = .read) {
19 |         pidStore = "/tmp/popen.pid.\(getpid()).\(Self.openedFILEStreams)"
   |                                      `- warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:22:28: error: extra argument 'stream' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                            `- error: extra argument 'stream' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:22:20: error: missing argument for parameter 'cmd' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                    `- error: missing argument for parameter 'cmd' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:139:24: note: 'init(cmd:mode:)' declared here
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:32:13: error: cannot find 'Thread' in scope
30 |                 return pid
31 |             }
32 |             Thread.sleep(forTimeInterval: 0.5)
   |             `- error: cannot find 'Thread' in scope
33 |         }
34 |         return nil
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:39:13: error: cannot find 'kill' in scope
37 |     open func terminate(signal: CInt = SIGKILL) {
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
   |             `- error: cannot find 'kill' in scope
40 |             return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 |         }
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:39:34: error: cannot find 'KERN_SUCCESS' in scope
37 |     open func terminate(signal: CInt = SIGKILL) {
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
   |                                  `- error: cannot find 'KERN_SUCCESS' in scope
40 |             return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 |         }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
[8/19] Compiling PopenD Popen.swift
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:32:23: warning: static property 'openedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openedFILEStreams = 0, closedFILEStreams = 0
    |                       |- warning: static property 'openedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'openedFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'openedFILEStreams' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:32:46: warning: static property 'closedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openedFILEStreams = 0, closedFILEStreams = 0
    |                                              |- warning: static property 'closedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                                              |- note: convert 'closedFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                                              |- note: add '@MainActor' to make static property 'closedFILEStreams' part of global actor 'MainActor'
    |                                              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:35:23: warning: static property 'initialLineBufferSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
 35 |     public static var initialLineBufferSize = 10_000
    |                       |- warning: static property 'initialLineBufferSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'initialLineBufferSize' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'initialLineBufferSize' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     public static var shellCommand = "/bin/bash"
 37 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:36:23: warning: static property 'shellCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 34 |         return openedFILEStreams - closedFILEStreams }
 35 |     public static var initialLineBufferSize = 10_000
 36 |     public static var shellCommand = "/bin/bash"
    |                       |- warning: static property 'shellCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shellCommand' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'shellCommand' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |
 38 |     /// Execute a shell command
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:96:19: error: cannot find 'DispatchGroup' in scope
 94 |       }
 95 |       let box = DataBox()
 96 |       let group = DispatchGroup()
    |                   `- error: cannot find 'DispatchGroup' in scope
 97 |
 98 |       group.enter()
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                 `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                                        `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
102 |           pipe.fileHandleForReading.readabilityHandler = nil
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 |           group.leave()
104 |         } else {
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:143:27: error: extra argument 'stream' in call
141 |             return nil
142 |         }
143 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
144 |     }
145 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:143:19: error: missing argument for parameter 'cmd' in call
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
142 |         }
143 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
144 |     }
145 |
[9/19] Compiling Popen Stream.swift
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/Popen/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
[10/19] Compiling PopenD Fstat.swift
/host/spi-builder-workspace/Sources/PopenD/Fstat.swift:42:32: error: cannot find 'geteuid' in scope
40 |     public var isSocket: Bool { modeFlags == S_IFLNK }
41 |     public var isLink: Bool { modeFlags == S_IFSOCK }
42 |     public var isOwned: Bool { geteuid() == st_uid }
   |                                `- error: cannot find 'geteuid' in scope
43 | }
44 |
[11/19] Compiling PopenD Glob.swift
/host/spi-builder-workspace/Sources/PopenD/Glob.swift:27:29: error: value of type 'glob_t' has no member 'gl_matchc'
25 |         defer { index += 1 }
26 |         #if !os(Linux)
27 |         guard index < pglob.gl_matchc else { return nil }
   |                             `- error: value of type 'glob_t' has no member 'gl_matchc'
28 |         #endif
29 |         return pglob.gl_pathv[index]
[12/19] Compiling PopenD Stream.swift
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
[13/19] Compiling PopenD Fopen.swift
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:22:27: warning: static property 'read' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
 20 |         }
 21 |
 22 |         static public let read = Self("r")
    |                           |- warning: static property 'read' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'read' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:23:27: warning: static property 'both' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 21 |
 22 |         static public let read = Self("r")
 23 |         static public let both = Self("r+")
    |                           |- warning: static property 'both' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'both' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:24:27: warning: static property 'write' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 22 |         static public let read = Self("r")
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
    |                           |- warning: static property 'write' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'write' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |         static public let append =  Self("a")
 26 |         static public let new = Self("wx")
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:25:27: warning: static property 'append' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
    |                           |- warning: static property 'append' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'append' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |         static public let new = Self("wx")
 27 |
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:26:27: warning: static property 'new' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
 26 |         static public let new = Self("wx")
    |                           |- warning: static property 'new' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'new' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |
 28 |         case other(_ mode: String)
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:60:47: error: cannot find type 'FILE' in scope
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
    |                                               `- error: cannot find type 'FILE' in scope
 61 |         guard let stream = stream else { return nil }
 62 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:54:24: error: no exact matches in call to initializer
 52 |     }
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
    |                        `- error: no exact matches in call to initializer
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:55:25: error: no exact matches in call to initializer
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
    |                         `- error: no exact matches in call to initializer
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:56:25: error: no exact matches in call to initializer
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    |                         `- error: no exact matches in call to initializer
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:58:47: error: cannot find type 'FILE' in scope
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:67:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
    |              `- error: no exact matches in call to initializer
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:71:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
    |              `- error: no exact matches in call to initializer
 72 |     }
 73 |
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:77:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
    :
 75 |     public convenience init?(buffer: UnsafeMutableRawPointer,
 76 |                              count: Int, mode: FILEMode = .read) {
 77 |         self.init(stream: fmemopen(buffer, count, mode.mode))
    |              `- error: no exact matches in call to initializer
 78 |     }
 79 |
[14/19] Compiling Popen Popen.swift
/host/spi-builder-workspace/Sources/Popen/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/Popen/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/Popen/Popen.swift:32:23: warning: static property 'openedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openedFILEStreams = 0, closedFILEStreams = 0
    |                       |- warning: static property 'openedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'openedFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'openedFILEStreams' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
/host/spi-builder-workspace/Sources/Popen/Popen.swift:32:46: warning: static property 'closedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openedFILEStreams = 0, closedFILEStreams = 0
    |                                              |- warning: static property 'closedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                                              |- note: convert 'closedFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                                              |- note: add '@MainActor' to make static property 'closedFILEStreams' part of global actor 'MainActor'
    |                                              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
/host/spi-builder-workspace/Sources/Popen/Popen.swift:35:23: warning: static property 'initialLineBufferSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
 35 |     public static var initialLineBufferSize = 10_000
    |                       |- warning: static property 'initialLineBufferSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'initialLineBufferSize' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'initialLineBufferSize' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     public static var shellCommand = "/bin/bash"
 37 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:36:23: warning: static property 'shellCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 34 |         return openedFILEStreams - closedFILEStreams }
 35 |     public static var initialLineBufferSize = 10_000
 36 |     public static var shellCommand = "/bin/bash"
    |                       |- warning: static property 'shellCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shellCommand' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'shellCommand' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |
 38 |     /// Execute a shell command
/host/spi-builder-workspace/Sources/Popen/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:96:19: error: cannot find 'DispatchGroup' in scope
 94 |       }
 95 |       let box = DataBox()
 96 |       let group = DispatchGroup()
    |                   `- error: cannot find 'DispatchGroup' in scope
 97 |
 98 |       group.enter()
/host/spi-builder-workspace/Sources/Popen/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                 `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/Popen/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                                        `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/Popen/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
102 |           pipe.fileHandleForReading.readabilityHandler = nil
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 |           group.leave()
104 |         } else {
/host/spi-builder-workspace/Sources/Popen/Popen.swift:143:27: error: extra argument 'stream' in call
141 |             return nil
142 |         }
143 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
144 |     }
145 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:143:19: error: missing argument for parameter 'cmd' in call
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
142 |         }
143 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
144 |     }
145 |
[15/19] Compiling Popen Glob.swift
/host/spi-builder-workspace/Sources/Popen/Glob.swift:27:29: error: value of type 'glob_t' has no member 'gl_matchc'
25 |         defer { index += 1 }
26 |         #if !os(Linux)
27 |         guard index < pglob.gl_matchc else { return nil }
   |                             `- error: value of type 'glob_t' has no member 'gl_matchc'
28 |         #endif
29 |         return pglob.gl_pathv[index]
[16/19] Compiling Popen Qopen.swift
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 |     }
36 |
37 |     open func terminate(signal: CInt = SIGKILL) {
   |                                        `- error: cannot find 'SIGKILL' in scope
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:19:38: warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid
17 |
18 |     public init?(cmd: String, mode: Fopen.FILEMode = .read) {
19 |         pidStore = "/tmp/popen.pid.\(getpid()).\(Self.openedFILEStreams)"
   |                                      `- warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
/host/spi-builder-workspace/Sources/Popen/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:22:28: error: extra argument 'stream' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                            `- error: extra argument 'stream' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:22:20: error: missing argument for parameter 'cmd' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                    `- error: missing argument for parameter 'cmd' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:139:24: note: 'init(cmd:mode:)' declared here
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:32:13: error: cannot find 'Thread' in scope
30 |                 return pid
31 |             }
32 |             Thread.sleep(forTimeInterval: 0.5)
   |             `- error: cannot find 'Thread' in scope
33 |         }
34 |         return nil
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:39:13: error: cannot find 'kill' in scope
37 |     open func terminate(signal: CInt = SIGKILL) {
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
   |             `- error: cannot find 'kill' in scope
40 |             return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 |         }
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:39:34: error: cannot find 'KERN_SUCCESS' in scope
37 |     open func terminate(signal: CInt = SIGKILL) {
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
   |                                  `- error: cannot find 'KERN_SUCCESS' in scope
40 |             return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 |         }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[17/19] Emitting module Popen
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:22:27: warning: static property 'read' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
 20 |         }
 21 |
 22 |         static public let read = Self("r")
    |                           |- warning: static property 'read' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'read' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:23:27: warning: static property 'both' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 21 |
 22 |         static public let read = Self("r")
 23 |         static public let both = Self("r+")
    |                           |- warning: static property 'both' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'both' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:24:27: warning: static property 'write' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 22 |         static public let read = Self("r")
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
    |                           |- warning: static property 'write' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'write' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |         static public let append =  Self("a")
 26 |         static public let new = Self("wx")
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:25:27: warning: static property 'append' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
    |                           |- warning: static property 'append' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'append' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |         static public let new = Self("wx")
 27 |
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:26:27: warning: static property 'new' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
 26 |         static public let new = Self("wx")
    |                           |- warning: static property 'new' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'new' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |
 28 |         case other(_ mode: String)
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:60:47: error: cannot find type 'FILE' in scope
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
    |                                               `- error: cannot find type 'FILE' in scope
 61 |         guard let stream = stream else { return nil }
 62 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:54:24: error: no exact matches in call to initializer
 52 |     }
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
    |                        `- error: no exact matches in call to initializer
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:55:25: error: no exact matches in call to initializer
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
    |                         `- error: no exact matches in call to initializer
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:56:25: error: no exact matches in call to initializer
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    |                         `- error: no exact matches in call to initializer
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:58:47: error: cannot find type 'FILE' in scope
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/Popen/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/Popen/Popen.swift:32:23: warning: static property 'openedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openedFILEStreams = 0, closedFILEStreams = 0
    |                       |- warning: static property 'openedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'openedFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'openedFILEStreams' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
/host/spi-builder-workspace/Sources/Popen/Popen.swift:32:46: warning: static property 'closedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openedFILEStreams = 0, closedFILEStreams = 0
    |                                              |- warning: static property 'closedFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                                              |- note: convert 'closedFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                                              |- note: add '@MainActor' to make static property 'closedFILEStreams' part of global actor 'MainActor'
    |                                              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
/host/spi-builder-workspace/Sources/Popen/Popen.swift:35:23: warning: static property 'initialLineBufferSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 33 |     public static var openFILEStreams: Int {
 34 |         return openedFILEStreams - closedFILEStreams }
 35 |     public static var initialLineBufferSize = 10_000
    |                       |- warning: static property 'initialLineBufferSize' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'initialLineBufferSize' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'initialLineBufferSize' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |     public static var shellCommand = "/bin/bash"
 37 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:36:23: warning: static property 'shellCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 34 |         return openedFILEStreams - closedFILEStreams }
 35 |     public static var initialLineBufferSize = 10_000
 36 |     public static var shellCommand = "/bin/bash"
    |                       |- warning: static property 'shellCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shellCommand' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'shellCommand' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |
 38 |     /// Execute a shell command
/host/spi-builder-workspace/Sources/Popen/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Popen.swift:96:19: error: cannot find 'DispatchGroup' in scope
 94 |       }
 95 |       let box = DataBox()
 96 |       let group = DispatchGroup()
    |                   `- error: cannot find 'DispatchGroup' in scope
 97 |
 98 |       group.enter()
/host/spi-builder-workspace/Sources/Popen/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                 `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/Popen/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                                        `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/Popen/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
102 |           pipe.fileHandleForReading.readabilityHandler = nil
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 |           group.leave()
104 |         } else {
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 |     }
36 |
37 |     open func terminate(signal: CInt = SIGKILL) {
   |                                        `- error: cannot find 'SIGKILL' in scope
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/Popen/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
[18/19] Compiling Popen Fopen.swift
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:22:27: warning: static property 'read' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
 20 |         }
 21 |
 22 |         static public let read = Self("r")
    |                           |- warning: static property 'read' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'read' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:23:27: warning: static property 'both' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 21 |
 22 |         static public let read = Self("r")
 23 |         static public let both = Self("r+")
    |                           |- warning: static property 'both' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'both' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:24:27: warning: static property 'write' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 22 |         static public let read = Self("r")
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
    |                           |- warning: static property 'write' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'write' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |         static public let append =  Self("a")
 26 |         static public let new = Self("wx")
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:25:27: warning: static property 'append' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 23 |         static public let both = Self("r+")
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
    |                           |- warning: static property 'append' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'append' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |         static public let new = Self("wx")
 27 |
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:26:27: warning: static property 'new' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
 15 |
 16 | open class Fopen: FILEStream, Sequence, IteratorProtocol {
 17 |     public enum FILEMode {
    |                 `- note: consider making enum 'FILEMode' conform to the 'Sendable' protocol
 18 |         public init(_ rawValue: String) {
 19 |             self = .other(rawValue)
    :
 24 |         static public let write = Self("w")
 25 |         static public let append =  Self("a")
 26 |         static public let new = Self("wx")
    |                           |- warning: static property 'new' is not concurrency-safe because non-'Sendable' type 'Fopen.FILEMode' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'new' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |
 28 |         case other(_ mode: String)
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:60:47: error: cannot find type 'FILE' in scope
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
    |                                               `- error: cannot find type 'FILE' in scope
 61 |         guard let stream = stream else { return nil }
 62 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:54:24: error: no exact matches in call to initializer
 52 |     }
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
    |                        `- error: no exact matches in call to initializer
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:55:25: error: no exact matches in call to initializer
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
    |                         `- error: no exact matches in call to initializer
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:56:25: error: no exact matches in call to initializer
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    |                         `- error: no exact matches in call to initializer
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:58:47: error: cannot find type 'FILE' in scope
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:67:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
    |              `- error: no exact matches in call to initializer
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:71:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
    |              `- error: no exact matches in call to initializer
 72 |     }
 73 |
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:77:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
    :
 75 |     public convenience init?(buffer: UnsafeMutableRawPointer,
 76 |                              count: Int, mode: FILEMode = .read) {
 77 |         self.init(stream: fmemopen(buffer, count, mode.mode))
    |              `- error: no exact matches in call to initializer
 78 |     }
 79 |
[19/19] Compiling Popen Fstat.swift
/host/spi-builder-workspace/Sources/Popen/Fstat.swift:42:32: error: cannot find 'geteuid' in scope
40 |     public var isSocket: Bool { modeFlags == S_IFLNK }
41 |     public var isLink: Bool { modeFlags == S_IFSOCK }
42 |     public var isOwned: Bool { geteuid() == st_uid }
   |                                `- error: cannot find 'geteuid' in scope
43 | }
44 |
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:58b971189c4d3c564696bb40c86e07506670ed096ab7351a005c7c449525017a
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/17] Compiling PopenD Glob.swift
/host/spi-builder-workspace/Sources/PopenD/Glob.swift:27:29: error: value of type 'glob_t' has no member 'gl_matchc'
25 |         defer { index += 1 }
26 |         #if !os(Linux)
27 |         guard index < pglob.gl_matchc else { return nil }
   |                             `- error: value of type 'glob_t' has no member 'gl_matchc'
28 |         #endif
29 |         return pglob.gl_pathv[index]
[3/17] Compiling PopenD Stream.swift
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
[4/17] Compiling PopenD Topen.swift
[5/17] Compiling PopenD Popen.swift
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:96:19: error: cannot find 'DispatchGroup' in scope
 94 |       }
 95 |       let box = DataBox()
 96 |       let group = DispatchGroup()
    |                   `- error: cannot find 'DispatchGroup' in scope
 97 |
 98 |       group.enter()
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                 `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                                        `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
102 |           pipe.fileHandleForReading.readabilityHandler = nil
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 |           group.leave()
104 |         } else {
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:143:27: error: extra argument 'stream' in call
141 |             return nil
142 |         }
143 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
144 |     }
145 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:143:19: error: missing argument for parameter 'cmd' in call
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
142 |         }
143 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
144 |     }
145 |
[6/17] Compiling PopenD Qopen.swift
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 |     }
36 |
37 |     open func terminate(signal: CInt = SIGKILL) {
   |                                        `- error: cannot find 'SIGKILL' in scope
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:19:38: warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid
17 |
18 |     public init?(cmd: String, mode: Fopen.FILEMode = .read) {
19 |         pidStore = "/tmp/popen.pid.\(getpid()).\(Self.openedFILEStreams)"
   |                                      `- warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:22:28: error: extra argument 'stream' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                            `- error: extra argument 'stream' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:22:20: error: missing argument for parameter 'cmd' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                    `- error: missing argument for parameter 'cmd' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:139:24: note: 'init(cmd:mode:)' declared here
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:32:13: error: cannot find 'Thread' in scope
30 |                 return pid
31 |             }
32 |             Thread.sleep(forTimeInterval: 0.5)
   |             `- error: cannot find 'Thread' in scope
33 |         }
34 |         return nil
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:39:13: error: cannot find 'kill' in scope
37 |     open func terminate(signal: CInt = SIGKILL) {
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
   |             `- error: cannot find 'kill' in scope
40 |             return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 |         }
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:39:34: error: cannot find 'KERN_SUCCESS' in scope
37 |     open func terminate(signal: CInt = SIGKILL) {
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
   |                                  `- error: cannot find 'KERN_SUCCESS' in scope
40 |             return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 |         }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/17] Emitting module Popen
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:60:47: error: cannot find type 'FILE' in scope
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
    |                                               `- error: cannot find type 'FILE' in scope
 61 |         guard let stream = stream else { return nil }
 62 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:54:24: error: no exact matches in call to initializer
 52 |     }
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
    |                        `- error: no exact matches in call to initializer
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:55:25: error: no exact matches in call to initializer
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
    |                         `- error: no exact matches in call to initializer
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:56:25: error: no exact matches in call to initializer
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    |                         `- error: no exact matches in call to initializer
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:58:47: error: cannot find type 'FILE' in scope
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/Popen/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/Popen/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Popen.swift:96:19: error: cannot find 'DispatchGroup' in scope
 94 |       }
 95 |       let box = DataBox()
 96 |       let group = DispatchGroup()
    |                   `- error: cannot find 'DispatchGroup' in scope
 97 |
 98 |       group.enter()
/host/spi-builder-workspace/Sources/Popen/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                 `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/Popen/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                                        `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/Popen/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
102 |           pipe.fileHandleForReading.readabilityHandler = nil
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 |           group.leave()
104 |         } else {
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 |     }
36 |
37 |     open func terminate(signal: CInt = SIGKILL) {
   |                                        `- error: cannot find 'SIGKILL' in scope
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/Popen/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/17] Compiling PopenD Fopen.swift
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:60:47: error: cannot find type 'FILE' in scope
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
    |                                               `- error: cannot find type 'FILE' in scope
 61 |         guard let stream = stream else { return nil }
 62 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:54:24: error: no exact matches in call to initializer
 52 |     }
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
    |                        `- error: no exact matches in call to initializer
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:55:25: error: no exact matches in call to initializer
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
    |                         `- error: no exact matches in call to initializer
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:56:25: error: no exact matches in call to initializer
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    |                         `- error: no exact matches in call to initializer
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:58:47: error: cannot find type 'FILE' in scope
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:67:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
    |              `- error: no exact matches in call to initializer
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:71:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
    |              `- error: no exact matches in call to initializer
 72 |     }
 73 |
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:77:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
    :
 75 |     public convenience init?(buffer: UnsafeMutableRawPointer,
 76 |                              count: Int, mode: FILEMode = .read) {
 77 |         self.init(stream: fmemopen(buffer, count, mode.mode))
    |              `- error: no exact matches in call to initializer
 78 |     }
 79 |
[9/17] Emitting module PopenD
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:60:47: error: cannot find type 'FILE' in scope
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
    |                                               `- error: cannot find type 'FILE' in scope
 61 |         guard let stream = stream else { return nil }
 62 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:54:24: error: no exact matches in call to initializer
 52 |     }
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
    |                        `- error: no exact matches in call to initializer
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:55:25: error: no exact matches in call to initializer
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
    |                         `- error: no exact matches in call to initializer
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:56:25: error: no exact matches in call to initializer
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    |                         `- error: no exact matches in call to initializer
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/PopenD/Fopen.swift:58:47: error: cannot find type 'FILE' in scope
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:96:19: error: cannot find 'DispatchGroup' in scope
 94 |       }
 95 |       let box = DataBox()
 96 |       let group = DispatchGroup()
    |                   `- error: cannot find 'DispatchGroup' in scope
 97 |
 98 |       group.enter()
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                 `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
 97 |
 98 |       group.enter()
 99 |       pipe.fileHandleForReading.readabilityHandler = { handle in
    |                                                        `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 |         let chunk = handle.availableData
101 |         if chunk.isEmpty {  // EOF on the pipe
102 |           pipe.fileHandleForReading.readabilityHandler = nil
    |                                     `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 |           group.leave()
104 |         } else {
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 |     }
36 |
37 |     open func terminate(signal: CInt = SIGKILL) {
   |                                        `- error: cannot find 'SIGKILL' in scope
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
[10/17] Compiling PopenD Fstat.swift
/host/spi-builder-workspace/Sources/PopenD/Fstat.swift:42:32: error: cannot find 'geteuid' in scope
40 |     public var isSocket: Bool { modeFlags == S_IFLNK }
41 |     public var isLink: Bool { modeFlags == S_IFSOCK }
42 |     public var isOwned: Bool { geteuid() == st_uid }
   |                                `- error: cannot find 'geteuid' in scope
43 | }
44 |
[11/17] Compiling Popen Topen.swift
[12/17] Compiling Popen Fopen.swift
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:60:47: error: cannot find type 'FILE' in scope
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
    |                                               `- error: cannot find type 'FILE' in scope
 61 |         guard let stream = stream else { return nil }
 62 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:54:24: error: no exact matches in call to initializer
 52 |     }
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
    |                        `- error: no exact matches in call to initializer
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:55:25: error: no exact matches in call to initializer
 53 |
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
    |                         `- error: no exact matches in call to initializer
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:56:25: error: no exact matches in call to initializer
 54 |     static let STDIN = Fopen(stream: stdin)!
 55 |     static let STDOUT = Fopen(stream: stdout)!
 56 |     static let STDERR = Fopen(stream: stderr)!
    |                         `- error: no exact matches in call to initializer
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    :
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:58:47: error: cannot find type 'FILE' in scope
 56 |     static let STDERR = Fopen(stream: stderr)!
 57 |
 58 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 59 |
 60 |     public init?(stream: UnsafeMutablePointer<FILE>?) {
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:67:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
    |              `- error: no exact matches in call to initializer
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:71:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
    |              `- error: no exact matches in call to initializer
 72 |     }
 73 |
/host/spi-builder-workspace/Sources/Popen/Fopen.swift:77:14: error: no exact matches in call to initializer
 64 |     }
 65 |
 66 |     public convenience init?(path: String, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (path: String, mode: Fopen.FILEMode)
 67 |         self.init(stream: fopen(path, mode.mode))
 68 |     }
 69 |
 70 |     public convenience init?(fd: CInt, mode: FILEMode = .read) {
    |                        `- note: candidate has partially matching parameter list (fd: CInt, mode: Fopen.FILEMode)
 71 |         self.init(stream: fdopen(fd, mode.mode))
 72 |     }
    :
 75 |     public convenience init?(buffer: UnsafeMutableRawPointer,
 76 |                              count: Int, mode: FILEMode = .read) {
 77 |         self.init(stream: fmemopen(buffer, count, mode.mode))
    |              `- error: no exact matches in call to initializer
 78 |     }
 79 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 |     }
36 |
37 |     open func terminate(signal: CInt = SIGKILL) {
   |                                        `- error: cannot find 'SIGKILL' in scope
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:19:38: warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid
17 |
18 |     public init?(cmd: String, mode: Fopen.FILEMode = .read) {
19 |         pidStore = "/tmp/popen.pid.\(getpid()).\(Self.openedFILEStreams)"
   |                                      `- warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
/host/spi-builder-workspace/Sources/Popen/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:22:28: error: extra argument 'stream' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                            `- error: extra argument 'stream' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:22:20: error: missing argument for parameter 'cmd' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                    `- error: missing argument for parameter 'cmd' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:139:24: note: 'init(cmd:mode:)' declared here
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:32:13: error: cannot find 'Thread' in scope
30 |                 return pid
31 |             }
32 |             Thread.sleep(forTimeInterval: 0.5)
   |             `- error: cannot find 'Thread' in scope
33 |         }
34 |         return nil
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:39:13: error: cannot find 'kill' in scope
37 |     open func terminate(signal: CInt = SIGKILL) {
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
   |             `- error: cannot find 'kill' in scope
40 |             return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 |         }
BUILD FAILURE 6.1 wasm