The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build Popen, reference main (095a0d), with Swift 6.1 for Wasm on 25 Jun 2025 19:27:42 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" 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.64.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 095a0dd Preemptable popen() processes.
Cloned https://github.com/johnno1962/Popen.git
Revision (git rev-parse @):
095a0ddb2db96df84a3296fdb19a8f573a559257
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-4609320-2":/host -w "$PWD" 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:8f9255989265d824b88e7d572b1a334a0dc9b701075ede1970390db95d315c35
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 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:82:47: error: cannot find type 'FILE' in scope
 80 |     #endif
 81 |
 82 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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/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 |
[5/19] Compiling PopenD Topen.swift
[6/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 {
[7/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:82:47: error: cannot find type 'FILE' in scope
 80 |     #endif
 81 |
 82 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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:94:27: error: extra argument 'stream' in call
 92 |             return nil
 93 |         }
 94 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
 95 |     }
 96 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:94:19: error: missing argument for parameter 'cmd' in call
 88 |     }
 89 |
 90 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 91 |         guard let stream = popen(cmd, mode.mode) else {
 92 |             return nil
 93 |         }
 94 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
 95 |     }
 96 |
[8/19] Compiling Popen Topen.swift
[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 Qopen.swift
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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:90:24: note: 'init(cmd:mode:)' declared here
 88 |     }
 89 |
 90 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 91 |         guard let stream = popen(cmd, mode.mode) else {
 92 |             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 |
[11/19] Compiling Popen Qopen.swift
/host/spi-builder-workspace/Sources/Popen/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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:90:24: note: 'init(cmd:mode:)' declared here
 88 |     }
 89 |
 90 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 91 |         guard let stream = popen(cmd, mode.mode) else {
 92 |             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 |
[12/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:82:47: error: cannot find type 'FILE' in scope
 80 |     #endif
 81 |
 82 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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:94:27: error: extra argument 'stream' in call
 92 |             return nil
 93 |         }
 94 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
 95 |     }
 96 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:94:19: error: missing argument for parameter 'cmd' in call
 88 |     }
 89 |
 90 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 91 |         guard let stream = popen(cmd, mode.mode) else {
 92 |             return nil
 93 |         }
 94 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
 95 |     }
 96 |
[13/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 |
[14/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 |
[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 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 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[17/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:82:47: error: cannot find type 'FILE' in scope
 80 |     #endif
 81 |
 82 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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/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 |
[18/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 |
/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]
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" 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:8f9255989265d824b88e7d572b1a334a0dc9b701075ede1970390db95d315c35
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 Topen.swift
[3/17] 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:82:47: error: cannot find type 'FILE' in scope
 80 |     #endif
 81 |
 82 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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:94:27: error: extra argument 'stream' in call
 92 |             return nil
 93 |         }
 94 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
 95 |     }
 96 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:94:19: error: missing argument for parameter 'cmd' in call
 88 |     }
 89 |
 90 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 91 |         guard let stream = popen(cmd, mode.mode) else {
 92 |             return nil
 93 |         }
 94 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
 95 |     }
 96 |
[4/17] 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]
[5/17] Compiling Popen Qopen.swift
/host/spi-builder-workspace/Sources/Popen/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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:90:24: note: 'init(cmd:mode:)' declared here
 88 |     }
 89 |
 90 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 91 |         guard let stream = popen(cmd, mode.mode) else {
 92 |             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 |
[6/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 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/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:82:47: error: cannot find type 'FILE' in scope
 80 |     #endif
 81 |
 82 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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/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 |
[8/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 |
[9/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]
[10/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:82:47: error: cannot find type 'FILE' in scope
 80 |     #endif
 81 |
 82 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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:94:27: error: extra argument 'stream' in call
 92 |             return nil
 93 |         }
 94 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
 95 |     }
 96 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:94:19: error: missing argument for parameter 'cmd' in call
 88 |     }
 89 |
 90 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 91 |         guard let stream = popen(cmd, mode.mode) else {
 92 |             return nil
 93 |         }
 94 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
 95 |     }
 96 |
[11/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 {
[12/17] Compiling PopenD Qopen.swift
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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:90:24: note: 'init(cmd:mode:)' declared here
 88 |     }
 89 |
 90 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 91 |         guard let stream = popen(cmd, mode.mode) else {
 92 |             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)
[13/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:82:47: error: cannot find type 'FILE' in scope
 80 |     #endif
 81 |
 82 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:85:46: error: cannot find type 'FILE' in scope
 83 |     open var exitStatus: CInt?
 84 |
 85 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 86 |         Self.openedFILEStreams += 1
 87 |         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/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 |
[14/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 |
[15/17] 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 |
[16/17] Compiling Popen Topen.swift
[17/17] 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 {
BUILD FAILURE 6.1 wasm