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 2.1.8 (3a7ec1), with Swift 6.1 for Wasm on 4 Jun 2025 13:39:04 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/johnno1962/Popen.git
Reference: 2.1.8
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
 * tag               2.1.8      -> FETCH_HEAD
HEAD is now at 3a7ec1d Add STDIN, STDOUT, STDERR, $Ids
Cloned https://github.com/johnno1962/Popen.git
Revision (git rev-parse @):
3a7ec1dc119f99c97fc1925573091f65d069d626
SUCCESS checkout https://github.com/johnno1962/Popen.git at 2.1.8
========================================
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",
        "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",
        "Stream.swift",
        "Topen.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
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
[4/17] Compiling Popen Topen.swift
[5/17] Compiling PopenD Topen.swift
[6/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 |
[7/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:32:23: warning: static property 'openFILEStreams' 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 openFILEStreams = 0, initialLineBufferSize = 10_000
    |                       |- warning: static property 'openFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'openFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'openFILEStreams' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var shellCommand = "/bin/bash"
 34 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:32:44: 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
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openFILEStreams = 0, 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
 33 |     public static var shellCommand = "/bin/bash"
 34 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:33: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
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openFILEStreams = 0, initialLineBufferSize = 10_000
 33 |     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
 34 |
 35 |     /// Execute a shell command
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:79:47: error: cannot find type 'FILE' in scope
 77 |     #endif
 78 |
 79 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:82:46: error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
 82 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 83 |         Self.openFILEStreams += 1
 84 |         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:91:27: error: extra argument 'stream' in call
 89 |             return nil
 90 |         }
 91 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
 92 |     }
 93 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:91:19: error: missing argument for parameter 'cmd' in call
 85 |     }
 86 |
 87 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 88 |         guard let stream = popen(cmd, mode.mode) else {
 89 |             return nil
 90 |         }
 91 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
 92 |     }
 93 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/17] 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 'openFILEStreams' 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 openFILEStreams = 0, initialLineBufferSize = 10_000
    |                       |- warning: static property 'openFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'openFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'openFILEStreams' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var shellCommand = "/bin/bash"
 34 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:32:44: 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
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openFILEStreams = 0, 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
 33 |     public static var shellCommand = "/bin/bash"
 34 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:33: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
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openFILEStreams = 0, initialLineBufferSize = 10_000
 33 |     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
 34 |
 35 |     /// Execute a shell command
/host/spi-builder-workspace/Sources/Popen/Popen.swift:79:47: error: cannot find type 'FILE' in scope
 77 |     #endif
 78 |
 79 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:82:46: error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
 82 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 83 |         Self.openFILEStreams += 1
 84 |         fileStream = stream
/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 |
[9/17] 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 |
[10/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]
[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 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]
[13/17] 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)
[14/17] 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 'openFILEStreams' 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 openFILEStreams = 0, initialLineBufferSize = 10_000
    |                       |- warning: static property 'openFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'openFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'openFILEStreams' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var shellCommand = "/bin/bash"
 34 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:32:44: 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
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openFILEStreams = 0, 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
 33 |     public static var shellCommand = "/bin/bash"
 34 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:33: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
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openFILEStreams = 0, initialLineBufferSize = 10_000
 33 |     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
 34 |
 35 |     /// Execute a shell command
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:79:47: error: cannot find type 'FILE' in scope
 77 |     #endif
 78 |
 79 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:82:46: error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
 82 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 83 |         Self.openFILEStreams += 1
 84 |         fileStream = stream
/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 |
[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 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 {
[17/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:32:23: warning: static property 'openFILEStreams' 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 openFILEStreams = 0, initialLineBufferSize = 10_000
    |                       |- warning: static property 'openFILEStreams' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'openFILEStreams' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'openFILEStreams' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |     public static var shellCommand = "/bin/bash"
 34 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:32:44: 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
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openFILEStreams = 0, 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
 33 |     public static var shellCommand = "/bin/bash"
 34 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:33: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
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
 32 |     public static var openFILEStreams = 0, initialLineBufferSize = 10_000
 33 |     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
 34 |
 35 |     /// Execute a shell command
/host/spi-builder-workspace/Sources/Popen/Popen.swift:79:47: error: cannot find type 'FILE' in scope
 77 |     #endif
 78 |
 79 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:82:46: error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
 82 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 83 |         Self.openFILEStreams += 1
 84 |         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:91:27: error: extra argument 'stream' in call
 89 |             return nil
 90 |         }
 91 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
 92 |     }
 93 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:91:19: error: missing argument for parameter 'cmd' in call
 85 |     }
 86 |
 87 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 88 |         guard let stream = popen(cmd, mode.mode) else {
 89 |             return nil
 90 |         }
 91 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
 92 |     }
 93 |
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/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:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
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/15] Compiling Popen Topen.swift
[3/15] 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 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/15] 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:79:47: error: cannot find type 'FILE' in scope
 77 |     #endif
 78 |
 79 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:82:46: error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
 82 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 83 |         Self.openFILEStreams += 1
 84 |         fileStream = stream
/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/15] 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 |
[6/15] Compiling PopenD Topen.swift
[7/15] 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 |
[8/15] 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]
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/15] 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:79:47: error: cannot find type 'FILE' in scope
 77 |     #endif
 78 |
 79 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:82:46: error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
 82 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 83 |         Self.openFILEStreams += 1
 84 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
[10/15] Compiling PopenD Fstat.swift
/host/spi-builder-workspace/Sources/PopenD/Fstat.swift:42:32: error: cannot find 'geteuid' in scope
40 |     public var isSocket: Bool { modeFlags == S_IFLNK }
41 |     public var isLink: Bool { modeFlags == S_IFSOCK }
42 |     public var isOwned: Bool { geteuid() == st_uid }
   |                                `- error: cannot find 'geteuid' in scope
43 | }
44 |
[11/15] 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:79:47: error: cannot find type 'FILE' in scope
 77 |     #endif
 78 |
 79 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:82:46: error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
 82 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 83 |         Self.openFILEStreams += 1
 84 |         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:91:27: error: extra argument 'stream' in call
 89 |             return nil
 90 |         }
 91 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
 92 |     }
 93 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:91:19: error: missing argument for parameter 'cmd' in call
 85 |     }
 86 |
 87 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 88 |         guard let stream = popen(cmd, mode.mode) else {
 89 |             return nil
 90 |         }
 91 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
 92 |     }
 93 |
[12/15] Compiling PopenD Stream.swift
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
[13/15] 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 {
[14/15] 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]
[15/15] 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:79:47: error: cannot find type 'FILE' in scope
 77 |     #endif
 78 |
 79 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:82:46: error: cannot find type 'FILE' in scope
 80 |     open var exitStatus: CInt?
 81 |
 82 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
 83 |         Self.openFILEStreams += 1
 84 |         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:91:27: error: extra argument 'stream' in call
 89 |             return nil
 90 |         }
 91 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
 92 |     }
 93 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:91:19: error: missing argument for parameter 'cmd' in call
 85 |     }
 86 |
 87 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
 88 |         guard let stream = popen(cmd, mode.mode) else {
 89 |             return nil
 90 |         }
 91 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
 92 |     }
 93 |
BUILD FAILURE 6.1 wasm