The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Popen, reference 2.2.4 (8767ec), with Swift 6.2 for Android on 3 Oct 2026 04:40:09 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/johnno1962/Popen.git
Reference: 2.2.4
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/johnno1962/Popen
 * tag               2.2.4      -> FETCH_HEAD
HEAD is now at 8767ec3 Merge pull request #4 from johnno1962/rollback
Cloned https://github.com/johnno1962/Popen.git
Revision (git rev-parse @):
8767ec3adf8001959e690a5a2f1cc27fc2331ee0
SUCCESS checkout https://github.com/johnno1962/Popen.git at 2.2.4
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/johnno1962/Popen.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886770-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:f47b2a33897778fb58ca39c1139e193fa7f391fa362fe0d23c00db9747030994
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.2-latest
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--11D90AFD9DD3AB2.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/19] Emitting module Popen
/host/spi-builder-workspace/Sources/Popen/Fopen.swift: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:133:47: error: cannot find type 'FILE' in scope
131 |     #endif
132 |
133 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
134 |     open var exitStatus: CInt?
135 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:136:46: error: cannot find type 'FILE' in scope
134 |     open var exitStatus: CInt?
135 |
136 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
137 |         Self.openedFILEStreams += 1
138 |         fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:61: error: cannot find type 'FILE' in scope
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
19 |     public typealias Element = String
20 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:25:61: error: cannot find type 'FILE' in scope
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
26 | }
27 | #endif
/host/spi-builder-workspace/Sources/Popen/Stream.swift:24:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
22 |
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
26 | }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:24:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
22 |
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
26 | }
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
  |                `- note: protocol requires nested type 'Iterator'
3 |
[5/19] Compiling PopenD Topen.swift
[6/19] Compiling Popen Topen.swift
[7/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:18:61: error: cannot find type 'FILE' in scope
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
19 |     public typealias Element = String
20 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:25:61: error: cannot find type 'FILE' in scope
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
26 | }
27 | #endif
/host/spi-builder-workspace/Sources/Popen/Stream.swift:24:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
22 |
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
26 | }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:24:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
22 |
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
26 | }
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 {
[8/19] Compiling Popen Qopen.swift
/host/spi-builder-workspace/Sources/Popen/Popen.swift:136:46: error: cannot find type 'FILE' in scope
134 |     open var exitStatus: CInt?
135 |
136 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
137 |         Self.openedFILEStreams += 1
138 |         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:141:24: note: 'init(cmd:mode:)' declared here
139 |     }
140 |
141 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
142 |         guard let stream = popen(cmd, mode.mode) else {
143 |             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 |
[9/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:18:61: error: cannot find type 'FILE' in scope
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
19 |     public typealias Element = String
20 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:25:61: error: cannot find type 'FILE' in scope
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
26 | }
27 | #endif
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:24:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
22 |
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
26 | }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:24:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
22 |
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
26 | }
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 {
[10/19] Compiling PopenD Qopen.swift
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:136:46: error: cannot find type 'FILE' in scope
134 |     open var exitStatus: CInt?
135 |
136 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
137 |         Self.openedFILEStreams += 1
138 |         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:141:24: note: 'init(cmd:mode:)' declared here
139 |     }
140 |
141 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
142 |         guard let stream = popen(cmd, mode.mode) else {
143 |             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 |
[11/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 | }
[12/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 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[13/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 {
[14/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:133:47: error: cannot find type 'FILE' in scope
131 |     #endif
132 |
133 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
134 |     open var exitStatus: CInt?
135 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:136:46: error: cannot find type 'FILE' in scope
134 |     open var exitStatus: CInt?
135 |
136 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
137 |         Self.openedFILEStreams += 1
138 |         fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:61: error: cannot find type 'FILE' in scope
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
19 |     public typealias Element = String
20 |     public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:25:61: error: cannot find type 'FILE' in scope
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
   |                                                             `- error: cannot find type 'FILE' in scope
26 | }
27 | #endif
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:24:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
22 |
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
   | `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
26 | }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:24:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
22 |
23 | #if !compiler(>=6.4) // Xcode < 27
24 | extension UnsafeMutablePointer:
   | |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
   | `- note: add stubs for conformance
25 |     Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
26 | }
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/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:133:47: error: cannot find type 'FILE' in scope
131 |     #endif
132 |
133 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
134 |     open var exitStatus: CInt?
135 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:136:46: error: cannot find type 'FILE' in scope
134 |     open var exitStatus: CInt?
135 |
136 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
137 |         Self.openedFILEStreams += 1
138 |         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:145:27: error: extra argument 'stream' in call
143 |             return nil
144 |         }
145 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
146 |         if mode == .both {
147 |             setvbuf(fileStream,  nil, _IONBF, 0)
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:145:19: error: missing argument for parameter 'cmd' in call
139 |     }
140 |
141 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
142 |         guard let stream = popen(cmd, mode.mode) else {
143 |             return nil
144 |         }
145 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
146 |         if mode == .both {
147 |             setvbuf(fileStream,  nil, _IONBF, 0)
[16/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 {
[17/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 |
[18/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 | }
/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:133:47: error: cannot find type 'FILE' in scope
131 |     #endif
132 |
133 |     open var fileStream: UnsafeMutablePointer<FILE>
    |                                               `- error: cannot find type 'FILE' in scope
134 |     open var exitStatus: CInt?
135 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:136:46: error: cannot find type 'FILE' in scope
134 |     open var exitStatus: CInt?
135 |
136 |     public init(stream: UnsafeMutablePointer<FILE>) {
    |                                              `- error: cannot find type 'FILE' in scope
137 |         Self.openedFILEStreams += 1
138 |         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:145:27: error: extra argument 'stream' in call
143 |             return nil
144 |         }
145 |         self.init(stream: stream)
    |                           `- error: extra argument 'stream' in call
146 |         if mode == .both {
147 |             setvbuf(fileStream,  nil, _IONBF, 0)
/host/spi-builder-workspace/Sources/Popen/Popen.swift:145:19: error: missing argument for parameter 'cmd' in call
139 |     }
140 |
141 |     public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
    |                        `- note: 'init(cmd:mode:)' declared here
142 |         guard let stream = popen(cmd, mode.mode) else {
143 |             return nil
144 |         }
145 |         self.init(stream: stream)
    |                   `- error: missing argument for parameter 'cmd' in call
146 |         if mode == .both {
147 |             setvbuf(fileStream,  nil, _IONBF, 0)
BUILD FAILURE 6.2 android