Build Information
Failed to build Popen, reference main (88234d), with Swift 6.2 for Wasm on 1 Mar 2026 23:25:06 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest swift build --swift-sdk wasm32-unknown-wasip1 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/johnno1962/Popen.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/johnno1962/Popen
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 88234d2 Merge pull request #3 from johnno1962/blocking-again
Cloned https://github.com/johnno1962/Popen.git
Revision (git rev-parse @):
88234d2a067b277dab3c7d3a74210205f0b92962
SUCCESS checkout https://github.com/johnno1962/Popen.git at main
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.2
Building package at path: $PWD
https://github.com/johnno1962/Popen.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest swift build --swift-sdk wasm32-unknown-wasip1 2>&1
wasm-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:c50555b47c4db0b0576f9f25702fbe2fdff28194c4a4f4c23a7dce4b3504c85e
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.2-latest
warning: multiple Swift SDKs match target triple `wasm32-unknown-wasip1` and host triple x86_64-unknown-linux-gnu, selected one at /root/.swiftpm/swift-sdks/swift-6.2-RELEASE_wasm.artifactbundle/swift-6.2-RELEASE_wasm/wasm32-unknown-wasip1/swift-sdk.json
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/19] Compiling PopenD Topen.swift
[5/19] Compiling Popen Topen.swift
[6/19] Compiling Popen Qopen.swift
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 | open var exitStatus: CInt?
133 |
134 | public init(stream: UnsafeMutablePointer<FILE>) {
| `- error: cannot find type 'FILE' in scope
135 | Self.openedFILEStreams += 1
136 | fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 | }
36 |
37 | open func terminate(signal: CInt = SIGKILL) {
| `- error: cannot find 'SIGKILL' in scope
38 | guard let pid = processID,
39 | kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:19:38: warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid [#DeprecatedDeclaration]
17 |
18 | public init?(cmd: String, mode: Fopen.FILEMode = .read) {
19 | pidStore = "/tmp/popen.pid.\(getpid()).\(Self.openedFILEStreams)"
| `- warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid [#DeprecatedDeclaration]
20 | guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 | mode.mode) else { return nil }
/host/spi-builder-workspace/Sources/Popen/Popen.swift:27:54: error: cannot find type 'FILE' in scope
25 | @_silgen_name("popen")
26 | public func popen(_: UnsafePointer<CChar>,
27 | _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
| `- error: cannot find type 'FILE' in scope
28 | @_silgen_name("pclose")
29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:22:28: error: extra argument 'stream' in call
20 | guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 | mode.mode) else { return nil }
22 | super.init(stream: stream)
| `- error: extra argument 'stream' in call
23 | }
24 |
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:22:20: error: missing argument for parameter 'cmd' in call
20 | guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 | mode.mode) else { return nil }
22 | super.init(stream: stream)
| `- error: missing argument for parameter 'cmd' in call
23 | }
24 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:139:24: note: 'init(cmd:mode:)' declared here
137 | }
138 |
139 | public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
| `- note: 'init(cmd:mode:)' declared here
140 | guard let stream = popen(cmd, mode.mode) else {
141 | return nil
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:32:13: error: cannot find 'Thread' in scope
30 | return pid
31 | }
32 | Thread.sleep(forTimeInterval: 0.5)
| `- error: cannot find 'Thread' in scope
33 | }
34 | return nil
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:39:13: error: cannot find 'kill' in scope
37 | open func terminate(signal: CInt = SIGKILL) {
38 | guard let pid = processID,
39 | kill(pid, signal) == KERN_SUCCESS else {
| `- error: cannot find 'kill' in scope
40 | return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 | }
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:39:34: error: cannot find 'KERN_SUCCESS' in scope
37 | open func terminate(signal: CInt = SIGKILL) {
38 | guard let pid = processID,
39 | kill(pid, signal) == KERN_SUCCESS else {
| `- error: cannot find 'KERN_SUCCESS' in scope
40 | return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 | }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 | var fileStream: UnsafeMutablePointer<FILE> { get }
| `- error: cannot find type 'FILE' in scope
16 | }
17 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[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: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 {
[8/19] Compiling PopenD Fstat.swift
/host/spi-builder-workspace/Sources/PopenD/Fstat.swift:42:32: error: cannot find 'geteuid' in scope
40 | public var isSocket: Bool { modeFlags == S_IFLNK }
41 | public var isLink: Bool { modeFlags == S_IFSOCK }
42 | public var isOwned: Bool { geteuid() == st_uid }
| `- error: cannot find 'geteuid' in scope
43 | }
44 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/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/Popen.swift:27:54: error: cannot find type 'FILE' in scope
25 | @_silgen_name("popen")
26 | public func popen(_: UnsafePointer<CChar>,
27 | _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
| `- error: cannot find type 'FILE' in scope
28 | @_silgen_name("pclose")
29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:29:44: error: cannot find type 'FILE' in scope
27 | _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
28 | @_silgen_name("pclose")
29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
| `- error: cannot find type 'FILE' in scope
30 |
31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 | #endif
130 |
131 | open var fileStream: UnsafeMutablePointer<FILE>
| `- error: cannot find type 'FILE' in scope
132 | open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 | open var exitStatus: CInt?
133 |
134 | public init(stream: UnsafeMutablePointer<FILE>) {
| `- error: cannot find type 'FILE' in scope
135 | Self.openedFILEStreams += 1
136 | fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:96:19: error: cannot find 'DispatchGroup' in scope
94 | }
95 | let box = DataBox()
96 | let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
97 |
98 | group.enter()
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
97 |
98 | group.enter()
99 | pipe.fileHandleForReading.readabilityHandler = { handle in
| `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
97 |
98 | group.enter()
99 | pipe.fileHandleForReading.readabilityHandler = { handle in
| `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
102 | pipe.fileHandleForReading.readabilityHandler = nil
| `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 | group.leave()
104 | } else {
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 | }
36 |
37 | open func terminate(signal: CInt = SIGKILL) {
| `- error: cannot find 'SIGKILL' in scope
38 | guard let pid = processID,
39 | kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 | Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
| `- error: cannot find type 'FILE' in scope
20 | public typealias Element = String
21 | public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
| `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 | Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 | public typealias Element = String
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
| |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
| `- note: add stubs for conformance
19 | Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 | public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
| `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
| `- note: protocol requires nested type 'Iterator'
3 |
[10/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 |
[11/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 {
[12/19] Compiling Popen Glob.swift
/host/spi-builder-workspace/Sources/Popen/Glob.swift:27:29: error: value of type 'glob_t' has no member 'gl_matchc'
25 | defer { index += 1 }
26 | #if !os(Linux)
27 | guard index < pglob.gl_matchc else { return nil }
| `- error: value of type 'glob_t' has no member 'gl_matchc'
28 | #endif
29 | return pglob.gl_pathv[index]
error: emit-module command failed with exit code 1 (use -v to see invocation)
[13/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/Popen.swift:27:54: error: cannot find type 'FILE' in scope
25 | @_silgen_name("popen")
26 | public func popen(_: UnsafePointer<CChar>,
27 | _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
| `- error: cannot find type 'FILE' in scope
28 | @_silgen_name("pclose")
29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/Popen/Popen.swift:29:44: error: cannot find type 'FILE' in scope
27 | _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
28 | @_silgen_name("pclose")
29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
| `- error: cannot find type 'FILE' in scope
30 |
31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/Popen/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 | #endif
130 |
131 | open var fileStream: UnsafeMutablePointer<FILE>
| `- error: cannot find type 'FILE' in scope
132 | open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 | open var exitStatus: CInt?
133 |
134 | public init(stream: UnsafeMutablePointer<FILE>) {
| `- error: cannot find type 'FILE' in scope
135 | Self.openedFILEStreams += 1
136 | fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Popen.swift:96:19: error: cannot find 'DispatchGroup' in scope
94 | }
95 | let box = DataBox()
96 | let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
97 |
98 | group.enter()
/host/spi-builder-workspace/Sources/Popen/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
97 |
98 | group.enter()
99 | pipe.fileHandleForReading.readabilityHandler = { handle in
| `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
/host/spi-builder-workspace/Sources/Popen/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
97 |
98 | group.enter()
99 | pipe.fileHandleForReading.readabilityHandler = { handle in
| `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
/host/spi-builder-workspace/Sources/Popen/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
102 | pipe.fileHandleForReading.readabilityHandler = nil
| `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 | group.leave()
104 | } else {
/host/spi-builder-workspace/Sources/Popen/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 | }
36 |
37 | open func terminate(signal: CInt = SIGKILL) {
| `- error: cannot find 'SIGKILL' in scope
38 | guard let pid = processID,
39 | kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/Popen/Stream.swift:19:61: error: cannot find type 'FILE' in scope
17 |
18 | extension UnsafeMutablePointer: FILEStream,
19 | Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
| `- error: cannot find type 'FILE' in scope
20 | public typealias Element = String
21 | public var fileStream: Self { return self }
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
| `- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'Sequence'
19 | Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 | public typealias Element = String
/host/spi-builder-workspace/Sources/Popen/Stream.swift:18:1: error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
16 | }
17 |
18 | extension UnsafeMutablePointer: FILEStream,
| |- error: type 'UnsafeMutablePointer<Pointee>' does not conform to protocol 'IteratorProtocol'
| `- note: add stubs for conformance
19 | Swift.Sequence, Swift.IteratorProtocol where Pointee == FILE {
20 | public typealias Element = String
Swift.Sequence.Element:2:16: note: protocol requires nested type 'Element'
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
| `- note: protocol requires nested type 'Element'
3 |
Swift.Sequence.Iterator:2:16: note: protocol requires nested type 'Iterator'
1 | protocol Sequence {
2 | associatedtype Iterator : IteratorProtocol}
| `- note: protocol requires nested type 'Iterator'
3 |
[14/19] Compiling Popen Popen.swift
/host/spi-builder-workspace/Sources/Popen/Popen.swift:27:54: error: cannot find type 'FILE' in scope
25 | @_silgen_name("popen")
26 | public func popen(_: UnsafePointer<CChar>,
27 | _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
| `- error: cannot find type 'FILE' in scope
28 | @_silgen_name("pclose")
29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/Popen/Popen.swift:29:44: error: cannot find type 'FILE' in scope
27 | _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
28 | @_silgen_name("pclose")
29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
| `- error: cannot find type 'FILE' in scope
30 |
31 | open class Popen: FILEStream, Sequence, IteratorProtocol {
/host/spi-builder-workspace/Sources/Popen/Popen.swift:131:47: error: cannot find type 'FILE' in scope
129 | #endif
130 |
131 | open var fileStream: UnsafeMutablePointer<FILE>
| `- error: cannot find type 'FILE' in scope
132 | open var exitStatus: CInt?
133 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 | open var exitStatus: CInt?
133 |
134 | public init(stream: UnsafeMutablePointer<FILE>) {
| `- error: cannot find type 'FILE' in scope
135 | Self.openedFILEStreams += 1
136 | fileStream = stream
/host/spi-builder-workspace/Sources/Popen/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 | var fileStream: UnsafeMutablePointer<FILE> { get }
| `- error: cannot find type 'FILE' in scope
16 | }
17 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:96:19: error: cannot find 'DispatchGroup' in scope
94 | }
95 | let box = DataBox()
96 | let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
97 |
98 | group.enter()
/host/spi-builder-workspace/Sources/Popen/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
97 |
98 | group.enter()
99 | pipe.fileHandleForReading.readabilityHandler = { handle in
| `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
/host/spi-builder-workspace/Sources/Popen/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
97 |
98 | group.enter()
99 | pipe.fileHandleForReading.readabilityHandler = { handle in
| `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
/host/spi-builder-workspace/Sources/Popen/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
102 | pipe.fileHandleForReading.readabilityHandler = nil
| `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 | group.leave()
104 | } else {
/host/spi-builder-workspace/Sources/Popen/Popen.swift:143:27: error: extra argument 'stream' in call
141 | return nil
142 | }
143 | self.init(stream: stream)
| `- error: extra argument 'stream' in call
144 | }
145 |
/host/spi-builder-workspace/Sources/Popen/Popen.swift:143:19: error: missing argument for parameter 'cmd' in call
137 | }
138 |
139 | public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
| `- note: 'init(cmd:mode:)' declared here
140 | guard let stream = popen(cmd, mode.mode) else {
141 | return nil
142 | }
143 | self.init(stream: stream)
| `- error: missing argument for parameter 'cmd' in call
144 | }
145 |
[15/19] Compiling Popen Fstat.swift
/host/spi-builder-workspace/Sources/Popen/Fstat.swift:42:32: error: cannot find 'geteuid' in scope
40 | public var isSocket: Bool { modeFlags == S_IFLNK }
41 | public var isLink: Bool { modeFlags == S_IFSOCK }
42 | public var isOwned: Bool { geteuid() == st_uid }
| `- error: cannot find 'geteuid' in scope
43 | }
44 |
[16/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 |
[17/19] Compiling PopenD Qopen.swift
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:134:46: error: cannot find type 'FILE' in scope
132 | open var exitStatus: CInt?
133 |
134 | public init(stream: UnsafeMutablePointer<FILE>) {
| `- error: cannot find type 'FILE' in scope
135 | Self.openedFILEStreams += 1
136 | fileStream = stream
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:37:40: error: cannot find 'SIGKILL' in scope
35 | }
36 |
37 | open func terminate(signal: CInt = SIGKILL) {
| `- error: cannot find 'SIGKILL' in scope
38 | guard let pid = processID,
39 | kill(pid, signal) == KERN_SUCCESS else {
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:19:38: warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid [#DeprecatedDeclaration]
17 |
18 | public init?(cmd: String, mode: Fopen.FILEMode = .read) {
19 | pidStore = "/tmp/popen.pid.\(getpid()).\(Self.openedFILEStreams)"
| `- warning: 'getpid()' is deprecated: WASI lacks process identifiers; to enable emulation of the `getpid` function using a placeholder value, which doesn't reflect the host PID of the program, compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid [#DeprecatedDeclaration]
20 | guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 | mode.mode) else { return nil }
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:27:54: error: cannot find type 'FILE' in scope
25 | @_silgen_name("popen")
26 | public func popen(_: UnsafePointer<CChar>,
27 | _: UnsafePointer<CChar>) -> UnsafeMutablePointer<FILE>!
| `- error: cannot find type 'FILE' in scope
28 | @_silgen_name("pclose")
29 | public func pclose(_: UnsafeMutablePointer<FILE>?) -> CInt
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:22:28: error: extra argument 'stream' in call
20 | guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 | mode.mode) else { return nil }
22 | super.init(stream: stream)
| `- error: extra argument 'stream' in call
23 | }
24 |
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:22:20: error: missing argument for parameter 'cmd' in call
20 | guard let stream = popen("echo $$>\(pidStore); "+cmd,
21 | mode.mode) else { return nil }
22 | super.init(stream: stream)
| `- error: missing argument for parameter 'cmd' in call
23 | }
24 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:139:24: note: 'init(cmd:mode:)' declared here
137 | }
138 |
139 | public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
| `- note: 'init(cmd:mode:)' declared here
140 | guard let stream = popen(cmd, mode.mode) else {
141 | return nil
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:32:13: error: cannot find 'Thread' in scope
30 | return pid
31 | }
32 | Thread.sleep(forTimeInterval: 0.5)
| `- error: cannot find 'Thread' in scope
33 | }
34 | return nil
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:39:13: error: cannot find 'kill' in scope
37 | open func terminate(signal: CInt = SIGKILL) {
38 | guard let pid = processID,
39 | kill(pid, signal) == KERN_SUCCESS else {
| `- error: cannot find 'kill' in scope
40 | return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 | }
/host/spi-builder-workspace/Sources/PopenD/Qopen.swift:39:34: error: cannot find 'KERN_SUCCESS' in scope
37 | open func terminate(signal: CInt = SIGKILL) {
38 | guard let pid = processID,
39 | kill(pid, signal) == KERN_SUCCESS else {
| `- error: cannot find 'KERN_SUCCESS' in scope
40 | return NSLog("\(Self.self): could not signal pid: "+pidStore)
41 | }
/host/spi-builder-workspace/Sources/PopenD/Stream.swift:15:42: error: cannot find type 'FILE' in scope
13 |
14 | public protocol FILEStream {
15 | var fileStream: UnsafeMutablePointer<FILE> { get }
| `- error: cannot find type 'FILE' in scope
16 | }
17 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[18/19] Compiling PopenD Glob.swift
/host/spi-builder-workspace/Sources/PopenD/Glob.swift:27:29: error: value of type 'glob_t' has no member 'gl_matchc'
25 | defer { index += 1 }
26 | #if !os(Linux)
27 | guard index < pglob.gl_matchc else { return nil }
| `- error: value of type 'glob_t' has no member 'gl_matchc'
28 | #endif
29 | return pglob.gl_pathv[index]
[19/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:96:19: error: cannot find 'DispatchGroup' in scope
94 | }
95 | let box = DataBox()
96 | let group = DispatchGroup()
| `- error: cannot find 'DispatchGroup' in scope
97 |
98 | group.enter()
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:33: error: value of type 'FileHandle' has no member 'readabilityHandler'
97 |
98 | group.enter()
99 | pipe.fileHandleForReading.readabilityHandler = { handle in
| `- error: value of type 'FileHandle' has no member 'readabilityHandler'
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:99:56: error: cannot infer type of closure parameter 'handle' without a type annotation
97 |
98 | group.enter()
99 | pipe.fileHandleForReading.readabilityHandler = { handle in
| `- error: cannot infer type of closure parameter 'handle' without a type annotation
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:102:37: error: value of type 'FileHandle' has no member 'readabilityHandler'
100 | let chunk = handle.availableData
101 | if chunk.isEmpty { // EOF on the pipe
102 | pipe.fileHandleForReading.readabilityHandler = nil
| `- error: value of type 'FileHandle' has no member 'readabilityHandler'
103 | group.leave()
104 | } else {
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:143:27: error: extra argument 'stream' in call
141 | return nil
142 | }
143 | self.init(stream: stream)
| `- error: extra argument 'stream' in call
144 | }
145 |
/host/spi-builder-workspace/Sources/PopenD/Popen.swift:143:19: error: missing argument for parameter 'cmd' in call
137 | }
138 |
139 | public convenience init?(cmd: String, mode: Fopen.FILEMode = .read) {
| `- note: 'init(cmd:mode:)' declared here
140 | guard let stream = popen(cmd, mode.mode) else {
141 | return nil
142 | }
143 | self.init(stream: stream)
| `- error: missing argument for parameter 'cmd' in call
144 | }
145 |
BUILD FAILURE 6.2 wasm