The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Popen, reference 2.2.1 (88234d), with Swift 6.3 for Android on 18 Apr 2026 22:19:19 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/johnno1962/Popen.git
Reference: 2.2.1
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/johnno1962/Popen
 * tag               2.2.1      -> FETCH_HEAD
HEAD is now at 88234d2 Merge pull request #3 from johnno1962/blocking-again
Cloned https://github.com/johnno1962/Popen.git
Revision (git rev-parse @):
88234d2a067b277dab3c7d3a74210205f0b92962
SUCCESS checkout https://github.com/johnno1962/Popen.git at 2.2.1
========================================
Build
========================================
Selected platform:         android
Swift version:             6.3
Building package at path:  $PWD
https://github.com/johnno1962/Popen.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:9008270ea37a55e78725e6225015adb5eff8582da520c5232bf0499f32c36dc4
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--4F562202D5529B1.txt
[4/19] Compiling Popen Topen.swift
[5/19] Compiling PopenD Topen.swift
[6/19] Compiling PopenD Stream.swift
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
[7/19] Compiling PopenD Qopen.swift
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:19:38: error: cannot find 'getpid' in scope
17 |
18 |     public init?(cmd: String, mode: Fopen.FILEMode = .read) {
19 |         pidStore = "/tmp/popen.pid.\(getpid()).\(Self.openedFILEStreams)"
   |                                      `- error: cannot find 'getpid' in scope
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:22:28: error: extra argument 'stream' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                            `- error: extra argument 'stream' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:22:20: error: missing argument for parameter 'cmd' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                    `- error: missing argument for parameter 'cmd' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:139:24: note: 'init(cmd:mode:)' declared here
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:39:34: error: cannot find 'KERN_SUCCESS' in scope
37 |     open func terminate(signal: CInt = SIGKILL) {
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
   |                                  `- error: cannot find 'KERN_SUCCESS' in scope
40 |             return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 |         }
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:44:14: error: cannot find 'unlink' in scope
42 |     }
43 |
44 |     deinit { unlink(pidStore) }
   |              `- error: cannot find 'unlink' in scope
45 | }
46 | #endif
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
[8/19] Compiling 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:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:143:27: error: extra argument 'stream' in call
141 |             return nil
142 |         }
143 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
144 |     }
145 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:143:19: error: missing argument for parameter 'cmd' in call
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
142 |         }
143 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
144 |     }
145 |
[9/19] Compiling Popen Fstat.swift
/host/spi-builder-workspace/Sources/Popen/Fstat.swift:14:26: error: cannot find type 'stat' in scope
12 | import Foundation
13 |
14 | public typealias Fstat = stat
   |                          `- error: cannot find type 'stat' in scope
15 |
16 | extension Fstat {
[10/19] Compiling Popen Glob.swift
/host/spi-builder-workspace/Sources/Popen/Glob.swift:15:17: error: cannot find 'glob_t' in scope
13 |
14 | public class Glob: Sequence, IteratorProtocol {
15 |     var pglob = glob_t()
   |                 `- error: cannot find 'glob_t' in scope
16 |     var index = 0
17 |
/host/spi-builder-workspace/Sources/Popen/Glob.swift:19:12: error: cannot find 'glob' in scope
17 |
18 |     public init?(pattern: String, flags: CInt = 0) {
19 |         if glob(pattern, flags, nil, &pglob) != 0 {
   |            `- error: cannot find 'glob' in scope
20 |             return nil
21 |         }
/host/spi-builder-workspace/Sources/Popen/Glob.swift:19:33: error: 'nil' requires a contextual type
17 |
18 |     public init?(pattern: String, flags: CInt = 0) {
19 |         if glob(pattern, flags, nil, &pglob) != 0 {
   |                                 `- error: 'nil' requires a contextual type
20 |             return nil
21 |         }
/host/spi-builder-workspace/Sources/Popen/Glob.swift:34:9: error: cannot find 'globfree' in scope
32 |
33 |     deinit {
34 |         globfree(&pglob)
   |         `- error: cannot find 'globfree' in scope
35 |     }
36 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[11/19] 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/Fstat.swift:14:26: error: cannot find type 'stat' in scope
12 | import Foundation
13 |
14 | public typealias Fstat = stat
   |                          `- error: cannot find type 'stat' in scope
15 |
16 | extension Fstat {
/host/spi-builder-workspace/Sources/PopenD/Glob.swift:15:17: error: cannot find 'glob_t' in scope
13 |
14 | public class Glob: Sequence, IteratorProtocol {
15 |     var pglob = glob_t()
   |                 `- error: cannot find 'glob_t' in scope
16 |     var index = 0
17 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/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 |
[12/19] Compiling PopenD Fstat.swift
/host/spi-builder-workspace/Sources/PopenD/Fstat.swift:14:26: error: cannot find type 'stat' in scope
12 | import Foundation
13 |
14 | public typealias Fstat = stat
   |                          `- error: cannot find type 'stat' in scope
15 |
16 | extension Fstat {
[13/19] Compiling PopenD Glob.swift
/host/spi-builder-workspace/Sources/PopenD/Glob.swift:15:17: error: cannot find 'glob_t' in scope
13 |
14 | public class Glob: Sequence, IteratorProtocol {
15 |     var pglob = glob_t()
   |                 `- error: cannot find 'glob_t' in scope
16 |     var index = 0
17 |
/host/spi-builder-workspace/Sources/PopenD/Glob.swift:19:12: error: cannot find 'glob' in scope
17 |
18 |     public init?(pattern: String, flags: CInt = 0) {
19 |         if glob(pattern, flags, nil, &pglob) != 0 {
   |            `- error: cannot find 'glob' in scope
20 |             return nil
21 |         }
/host/spi-builder-workspace/Sources/PopenD/Glob.swift:19:33: error: 'nil' requires a contextual type
17 |
18 |     public init?(pattern: String, flags: CInt = 0) {
19 |         if glob(pattern, flags, nil, &pglob) != 0 {
   |                                 `- error: 'nil' requires a contextual type
20 |             return nil
21 |         }
/host/spi-builder-workspace/Sources/PopenD/Glob.swift:34:9: error: cannot find 'globfree' in scope
32 |
33 |     deinit {
34 |         globfree(&pglob)
   |         `- error: cannot find 'globfree' in scope
35 |     }
36 | }
[14/19] 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 |
[15/19] Compiling PopenD Popen.swift
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:143:27: error: extra argument 'stream' in call
141 |             return nil
142 |         }
143 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
144 |     }
145 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:143:19: error: missing argument for parameter 'cmd' in call
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
142 |         }
143 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
144 |     }
145 |
[16/19] Compiling Popen Stream.swift
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 |     var fileStream: UnsafeMutablePointer<FILE> { get }
   |                                          `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/Popen/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
error: emit-module command failed with exit code 1 (use -v to see invocation)
[17/19] Emitting module Popen
/host/spi-builder-workspace/Sources/Popen/Fopen.swift: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/Fstat.swift:14:26: error: cannot find type 'stat' in scope
12 | import Foundation
13 |
14 | public typealias Fstat = stat
   |                          `- error: cannot find type 'stat' in scope
15 |
16 | extension Fstat {
/host/spi-builder-workspace/Sources/Popen/Glob.swift:15:17: error: cannot find 'glob_t' in scope
13 |
14 | public class Glob: Sequence, IteratorProtocol {
15 |     var pglob = glob_t()
   |                 `- error: cannot find 'glob_t' in scope
16 |     var index = 0
17 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/Popen/Popen.swift:29:44: error: cannot find type 'FILE' in scope
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
    |                                            `- error: cannot find type 'FILE' in scope
 30 |
 31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/Popen/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 |     #endif
130 |
131 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
20 |     public typealias Element = String
21 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
19 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 |     public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
[18/19] Compiling Popen Qopen.swift
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 |     open var exitStatus: CInt?
133 |
134 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
135 |         Self.openedFILEStreams += 1
136 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:19:38: error: cannot find 'getpid' in scope
17 |
18 |     public init?(cmd: String, mode: Fopen.FILEMode = .read) {
19 |         pidStore = "/tmp/popen.pid.\(getpid()).\(Self.openedFILEStreams)"
   |                                      `- error: cannot find 'getpid' in scope
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
/host/spi-builder-workspace/Sources/Popen/Popen.swift:27:54: error: cannot find type 'FILE' in scope
 25 | @_silgen_name("popen")
 26 | public func popen(_: UnsafePointer<CChar>,
 27 |     _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
    |                                                      `- error: cannot find type 'FILE' in scope
 28 | @_silgen_name("pclose")
 29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:22:28: error: extra argument 'stream' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                            `- error: extra argument 'stream' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:22:20: error: missing argument for parameter 'cmd' in call
20 |         guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 |                                  mode.mode) else { return nil }
22 |         super.init(stream: stream)
   |                    `- error: missing argument for parameter 'cmd' in call
23 |     }
24 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:139:24: note: 'init(cmd:mode:)' declared here
137 |     }
138 |
139 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
140 |         guard let stream = popen(cmd, mode.mode) else {
141 |             return nil
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:39:34: error: cannot find 'KERN_SUCCESS' in scope
37 |     open func terminate(signal: CInt = SIGKILL) {
38 |         guard let pid = processID,
39 |             kill(pid, signal) == KERN_SUCCESS else {
   |                                  `- error: cannot find 'KERN_SUCCESS' in scope
40 |             return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 |         }
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:44:14: error: cannot find 'unlink' in scope
42 |     }
43 |
44 |     deinit { unlink(pidStore) }
   |              `- error: cannot find 'unlink' in scope
45 | }
46 | #endif
/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 |
[19/19] 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 |
BUILD FAILURE 6.3 android