Build Information
Failed to build containerization, reference 0.51.0 (c41113), with Swift 6.3 for Android on 16 Oct 2026 04:11:21 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886768-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.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
| `- error: cannot find 'O_NOCTTY' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:102: error: cannot find 'O_CLOEXEC' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:290:29: error: cannot find 'errno' in scope
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
289 | guard newFd >= 0 else {
290 | let openErrno = errno
| `- error: cannot find 'errno' in scope
291 | switch try entryType(fd, name) {
292 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:305:24: warning: no calls to throwing functions occur within 'try' expression
303 | let opened = FileDescriptor(rawValue: newFd)
304 | do {
305 | let type = try status(of: opened).type
| `- warning: no calls to throwing functions occur within 'try' expression
306 | guard type == .regular else {
307 | throw Error.conflict(type)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:333:21: error: cannot find 'openat' in scope
331 | permissions: FilePermissions? = nil
332 | ) throws -> FileDescriptor {
333 | let newFd = openat(
| `- error: cannot find 'openat' in scope
334 | fd.rawValue,
335 | name.string,
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:13: error: cannot find 'O_WRONLY' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_WRONLY' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:24: error: cannot find 'O_CREAT' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_CREAT' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:34: error: cannot find 'O_EXCL' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_EXCL' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:43: error: cannot find 'O_NOFOLLOW' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_NOFOLLOW' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:56: error: cannot find 'O_CLOEXEC' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_CLOEXEC' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:340:16: error: cannot find 'errno' in scope
338 | )
339 | guard newFd >= 0 else {
340 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
341 | throw Error.alreadyExists
342 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:340:25: error: cannot find 'EEXIST' in scope
338 | )
339 | guard newFd >= 0 else {
340 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
341 | throw Error.alreadyExists
342 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:343:84: error: cannot find 'errno' in scope
341 | throw Error.alreadyExists
342 | }
343 | throw Error.systemError("file creation during file descriptor create", errno)
| `- error: cannot find 'errno' in scope
344 | }
345 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:355:15: error: cannot find 'symlinkat' in scope
353 | /// ``Error/systemError(_:_:)`` for anything else.
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
| `- error: cannot find 'symlinkat' in scope
356 | if errno == EEXIST {
357 | throw Error.alreadyExists
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:356:16: error: cannot find 'errno' in scope
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
356 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
357 | throw Error.alreadyExists
358 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:356:25: error: cannot find 'EEXIST' in scope
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
356 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
357 | throw Error.alreadyExists
358 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:359:88: error: cannot find 'errno' in scope
357 | throw Error.alreadyExists
358 | }
359 | throw Error.systemError("symlink creation during file descriptor symlink", errno)
| `- error: cannot find 'errno' in scope
360 | }
361 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:388:25: error: cannot find 'readlinkat' in scope
386 | while true {
387 | var buffer = [CChar](repeating: 0, count: capacity)
388 | let count = readlinkat(fd.rawValue, name.string, &buffer, capacity)
| `- error: cannot find 'readlinkat' in scope
389 | guard count >= 0 else {
390 | let readlinkErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:390:37: error: cannot find 'errno' in scope
388 | let count = readlinkat(fd.rawValue, name.string, &buffer, capacity)
389 | guard count >= 0 else {
390 | let readlinkErrno = errno
| `- error: cannot find 'errno' in scope
391 | switch try entryType(fd, name) {
392 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:405:89: error: cannot find 'ENAMETOOLONG' in scope
403 | // The buffer was filled, so the target may have been cut off. Retry with a larger one.
404 | guard capacity < maximumSymlinkTargetLength else {
405 | throw Error.systemError("symlink read during file descriptor readlink", ENAMETOOLONG)
| `- error: cannot find 'ENAMETOOLONG' in scope
406 | }
407 | capacity *= 2
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:425:15: error: cannot find 'unlinkat' in scope
423 | }
424 |
425 | guard unlinkat(fd.rawValue, filename.string, 0) != 0 else {
| `- error: cannot find 'unlinkat' in scope
426 | return
427 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:429:15: error: cannot find 'errno' in scope
427 | }
428 |
429 | guard errno != ENOENT else {
| `- error: cannot find 'errno' in scope
430 | return
431 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:429:24: error: cannot find 'ENOENT' in scope
427 | }
428 |
429 | guard errno != ENOENT else {
| `- error: cannot find 'ENOENT' in scope
430 | return
431 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:15: error: cannot find 'errno' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'errno' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:24: error: cannot find 'EPERM' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'EPERM' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:33: error: cannot find 'errno' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'errno' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:42: error: cannot find 'EISDIR' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'EISDIR' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:434:83: error: cannot find 'errno' in scope
432 |
433 | guard errno == EPERM || errno == EISDIR else {
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
435 | }
436 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:27: error: cannot find 'openat' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:64: error: cannot find 'O_NOFOLLOW' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:77: error: cannot find 'O_RDONLY' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:88: error: cannot find 'O_DIRECTORY' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:102: error: cannot find 'O_CLOEXEC' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:439:85: error: cannot find 'errno' in scope
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
440 | }
441 | let componentFileDescriptor = FileDescriptor(rawValue: componentFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:447:84: error: cannot find 'errno' in scope
445 | let ownedFd = dupCloseOnExec(componentFd)
446 | guard ownedFd >= 0 else {
447 | throw Error.systemError("directory dup during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:449:25: error: cannot find 'fdopendir' in scope
447 | throw Error.systemError("directory dup during file descriptor unlink", errno)
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
| `- error: cannot find 'fdopendir' in scope
450 | let savedErrno = errno
451 | close(ownedFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:450:30: error: cannot find 'errno' in scope
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
450 | let savedErrno = errno
| `- error: cannot find 'errno' in scope
451 | close(ownedFd)
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:451:13: error: cannot find 'close' in scope
449 | guard let dir = fdopendir(ownedFd) else {
450 | let savedErrno = errno
451 | close(ownedFd)
| `- error: cannot find 'close' in scope
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
453 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:454:17: error: cannot find 'closedir' in scope
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
453 | }
454 | defer { closedir(dir) }
| `- error: cannot find 'closedir' in scope
455 |
456 | while let entry = readdir(dir) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:456:27: error: cannot find 'readdir' in scope
454 | defer { closedir(dir) }
455 |
456 | while let entry = readdir(dir) {
| `- error: cannot find 'readdir' in scope
457 | let childComponent = withUnsafePointer(to: entry.pointee.d_name) {
458 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:458:68: error: cannot find 'NAME_MAX' in scope
456 | while let entry = readdir(dir) {
457 | let childComponent = withUnsafePointer(to: entry.pointee.d_name) {
458 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
| `- error: cannot find 'NAME_MAX' in scope
459 | let name = String(decodingCString: $0, as: UTF8.self)
460 | return FilePath.Component(name)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:464:101: error: cannot find 'errno' in scope
462 | }
463 | guard let childComponent else {
464 | throw Error.systemError("directory entry processing during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
465 | }
466 | try unlinkRecursive(componentFileDescriptor, filename: childComponent)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:469:12: error: cannot find 'unlinkat' in scope
467 | }
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
| `- error: cannot find 'unlinkat' in scope
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
471 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:469:51: error: cannot find 'AT_REMOVEDIR' in scope
467 | }
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
| `- error: cannot find 'AT_REMOVEDIR' in scope
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
471 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:470:88: error: cannot find 'errno' in scope
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
471 | }
472 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:563:77: error: cannot find 'errno' in scope
561 | let dupFd = dupCloseOnExec(fd.rawValue)
562 | guard dupFd >= 0 else {
563 | throw Error.systemError("dup during file descriptor enumerate", errno)
| `- error: cannot find 'errno' in scope
564 | }
565 | guard let dir = fdopendir(dupFd) else {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:565:25: error: cannot find 'fdopendir' in scope
563 | throw Error.systemError("dup during file descriptor enumerate", errno)
564 | }
565 | guard let dir = fdopendir(dupFd) else {
| `- error: cannot find 'fdopendir' in scope
566 | let savedErrno = errno
567 | try? FileDescriptor(rawValue: dupFd).close()
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:566:30: error: cannot find 'errno' in scope
564 | }
565 | guard let dir = fdopendir(dupFd) else {
566 | let savedErrno = errno
| `- error: cannot find 'errno' in scope
567 | try? FileDescriptor(rawValue: dupFd).close()
568 | throw Error.systemError("fdopendir during file descriptor enumerate", savedErrno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:570:17: error: cannot find 'closedir' in scope
568 | throw Error.systemError("fdopendir during file descriptor enumerate", savedErrno)
569 | }
570 | defer { closedir(dir) }
| `- error: cannot find 'closedir' in scope
571 |
572 | while let entry = readdir(dir) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:572:27: error: cannot find 'readdir' in scope
570 | defer { closedir(dir) }
571 |
572 | while let entry = readdir(dir) {
| `- error: cannot find 'readdir' in scope
573 | let name = withUnsafePointer(to: entry.pointee.d_name) {
574 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:574:68: error: cannot find 'NAME_MAX' in scope
572 | while let entry = readdir(dir) {
573 | let name = withUnsafePointer(to: entry.pointee.d_name) {
574 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
| `- error: cannot find 'NAME_MAX' in scope
575 | String(decodingCString: $0, as: UTF8.self)
576 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:27: error: cannot find 'openat' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:53: error: cannot find 'O_NOFOLLOW' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:66: error: cannot find 'O_RDONLY' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:77: error: cannot find 'O_DIRECTORY' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:91: error: cannot find 'O_CLOEXEC' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:596:84: error: cannot find 'errno' in scope
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
| `- error: cannot find 'errno' in scope
597 | }
598 | let childDescriptor = FileDescriptor(rawValue: childFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:606:20: error: cannot find 'DT_REG' in scope
604 | private static func resolveEntryType(parentFd: Int32, name: String, dtype: UInt8) -> EntryType {
605 | switch dtype {
606 | case UInt8(DT_REG): return .regular
| `- error: cannot find 'DT_REG' in scope
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:607:20: error: cannot find 'DT_DIR' in scope
605 | switch dtype {
606 | case UInt8(DT_REG): return .regular
607 | case UInt8(DT_DIR): return .directory
| `- error: cannot find 'DT_DIR' in scope
608 | case UInt8(DT_LNK): return .symlink
609 | case UInt8(DT_UNKNOWN):
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:608:20: error: cannot find 'DT_LNK' in scope
606 | case UInt8(DT_REG): return .regular
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
| `- error: cannot find 'DT_LNK' in scope
609 | case UInt8(DT_UNKNOWN):
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:609:20: error: cannot find 'DT_UNKNOWN' in scope
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
609 | case UInt8(DT_UNKNOWN):
| `- error: cannot find 'DT_UNKNOWN' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:611:25: error: cannot find 'stat' in scope
609 | case UInt8(DT_UNKNOWN):
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
| `- error: cannot find 'stat' in scope
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:612:19: error: cannot find 'fstatat' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
| `- error: cannot find 'fstatat' in scope
613 | return entryType(forMode: stbuf.st_mode)
614 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:612:51: error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
| `- error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
613 | return entryType(forMode: stbuf.st_mode)
614 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:29: error: extraneous argument label 'forMode:' in call
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| `- error: extraneous argument label 'forMode:' in call
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:52: error: missing argument for parameter #2 in call
174 | /// - name: The name of a direct child of that directory.
175 | /// - Throws: `FileDescriptorOps.Error.systemError` if the entry cannot be inspected.
176 | public static func entryType(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> EntryType? {
| `- note: 'entryType' declared here
177 | try status(fd, name)?.type
178 | }
:
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| `- error: missing argument for parameter #2 in call
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:20: error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| |- error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
| |- note: coalesce using '??' to provide a default when the optional value contains 'nil'
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:619:23: error: cannot find 'os_S_IFMT' in scope
617 |
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
619 | switch mode & os_S_IFMT {
| `- error: cannot find 'os_S_IFMT' in scope
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:620:14: error: cannot find 'os_S_IFREG' in scope
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
| `- error: cannot find 'os_S_IFREG' in scope
621 | case os_S_IFDIR: return .directory
622 | case os_S_IFLNK: return .symlink
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:621:14: error: cannot find 'os_S_IFDIR' in scope
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
| `- error: cannot find 'os_S_IFDIR' in scope
622 | case os_S_IFLNK: return .symlink
623 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:622:14: error: cannot find 'os_S_IFLNK' in scope
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
622 | case os_S_IFLNK: return .symlink
| `- error: cannot find 'os_S_IFLNK' in scope
623 | default: return .other
624 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:28: error: extraneous argument label 'forMode:' in call
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| `- error: extraneous argument label 'forMode:' in call
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:51: error: missing argument for parameter #2 in call
174 | /// - name: The name of a direct child of that directory.
175 | /// - Throws: `FileDescriptorOps.Error.systemError` if the entry cannot be inspected.
176 | public static func entryType(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> EntryType? {
| `- note: 'entryType' declared here
177 | try status(fd, name)?.type
178 | }
:
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| `- error: missing argument for parameter #2 in call
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:19: error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| |- error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
| |- note: coalesce using '??' to provide a default when the optional value contains 'nil'
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/Socket.swift:28:8: error: Socket not supported on this platform.
26 | import Darwin
27 | #else
28 | #error("Socket not supported on this platform.")
| `- error: Socket not supported on this platform.
29 | #endif
30 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/SocketType.swift:24:8: error: SocketType not supported on this platform.
22 | import Darwin
23 | #else
24 | #error("SocketType not supported on this platform.")
| `- error: SocketType not supported on this platform.
25 | #endif
26 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/UnixType.swift:27:8: error: UnixType not supported on this platform.
25 | let _SOCK_STREAM = SOCK_STREAM
26 | #else
27 | #error("UnixType not supported on this platform.")
| `- error: UnixType not supported on this platform.
28 | #endif
29 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/VsockType.swift:26:8: error: VsockType not supported on this platform.
24 | import Darwin
25 | #else
26 | #error("VsockType not supported on this platform.")
| `- error: VsockType not supported on this platform.
27 | #endif
28 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Syscall.swift:24:8: error: retryingSyscall not supported on this platform.
22 | import Darwin
23 | #else
24 | #error("retryingSyscall not supported on this platform.")
| `- error: retryingSyscall not supported on this platform.
25 | #endif
26 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:618:49: error: cannot find type 'mode_t' in scope
616 | }
617 |
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
| `- error: cannot find type 'mode_t' in scope
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:627:48: error: cannot find type 'stat' in scope
625 | }
626 |
627 | private static func fileStatus(from stbuf: stat) -> FileStatus {
| `- error: cannot find type 'stat' in scope
628 | #if canImport(Darwin)
629 | let mtime = stbuf.st_mtimespec
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:44:5: error: cannot find 'fcntl' in scope
42 | /// directory that was opened close-on-exec.
43 | private func dupCloseOnExec(_ fd: Int32) -> Int32 {
44 | fcntl(fd, F_DUPFD_CLOEXEC, 0)
| `- error: cannot find 'fcntl' in scope
45 | }
46 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:44:15: error: cannot find 'F_DUPFD_CLOEXEC' in scope
42 | /// directory that was opened close-on-exec.
43 | private func dupCloseOnExec(_ fd: Int32) -> Int32 {
44 | fcntl(fd, F_DUPFD_CLOEXEC, 0)
| `- error: cannot find 'F_DUPFD_CLOEXEC' in scope
45 | }
46 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:21: error: cannot find 'openat' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:54: error: cannot find 'O_NOFOLLOW' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:67: error: cannot find 'O_RDONLY' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:78: error: cannot find 'O_DIRECTORY' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:92: error: cannot find 'O_CLOEXEC' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:197:25: error: cannot find 'errno' in scope
195 | // The failure code for "a symlink or file is in the way" differs between
196 | // platforms, so look at what is actually there.
197 | let openErrno = errno
| `- error: cannot find 'errno' in scope
198 | switch try entryType(fd, name) {
199 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:225:15: error: cannot find 'mkdirat' in scope
223 | permissions: FilePermissions? = nil
224 | ) throws {
225 | guard mkdirat(fd.rawValue, name.string, permissions?.rawValue ?? 0o755) == 0 else {
| `- error: cannot find 'mkdirat' in scope
226 | if errno == EEXIST {
227 | throw Error.alreadyExists
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:226:16: error: cannot find 'errno' in scope
224 | ) throws {
225 | guard mkdirat(fd.rawValue, name.string, permissions?.rawValue ?? 0o755) == 0 else {
226 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
227 | throw Error.alreadyExists
228 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:226:25: error: cannot find 'EEXIST' in scope
224 | ) throws {
225 | guard mkdirat(fd.rawValue, name.string, permissions?.rawValue ?? 0o755) == 0 else {
226 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
227 | throw Error.alreadyExists
228 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:229:88: error: cannot find 'errno' in scope
227 | throw Error.alreadyExists
228 | }
229 | throw Error.systemError("directory creation during file descriptor mkdir", errno)
| `- error: cannot find 'errno' in scope
230 | }
231 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:243:15: error: cannot find 'unlinkat' in scope
241 | /// ``Error/systemError(_:_:)`` for anything else, including when the entry is a directory.
242 | public static func unlink(_ fd: FileDescriptor, _ name: FilePath.Component) throws {
243 | guard unlinkat(fd.rawValue, name.string, 0) == 0 else {
| `- error: cannot find 'unlinkat' in scope
244 | if errno == ENOENT {
245 | throw Error.notFound
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:244:16: error: cannot find 'errno' in scope
242 | public static func unlink(_ fd: FileDescriptor, _ name: FilePath.Component) throws {
243 | guard unlinkat(fd.rawValue, name.string, 0) == 0 else {
244 | if errno == ENOENT {
| `- error: cannot find 'errno' in scope
245 | throw Error.notFound
246 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:244:25: error: cannot find 'ENOENT' in scope
242 | public static func unlink(_ fd: FileDescriptor, _ name: FilePath.Component) throws {
243 | guard unlinkat(fd.rawValue, name.string, 0) == 0 else {
244 | if errno == ENOENT {
| `- error: cannot find 'ENOENT' in scope
245 | throw Error.notFound
246 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:247:84: error: cannot find 'errno' in scope
245 | throw Error.notFound
246 | }
247 | throw Error.systemError("entry removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
248 | }
249 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:255:21: error: cannot find 'stat' in scope
253 | /// - Throws: ``Error/systemError(_:_:)`` if the descriptor cannot be inspected.
254 | public static func status(of fd: FileDescriptor) throws -> FileStatus {
255 | var stbuf = stat()
| `- error: cannot find 'stat' in scope
256 | guard fstat(fd.rawValue, &stbuf) == 0 else {
257 | throw Error.systemError("stat during file descriptor status", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:256:15: error: cannot find 'fstat' in scope
254 | public static func status(of fd: FileDescriptor) throws -> FileStatus {
255 | var stbuf = stat()
256 | guard fstat(fd.rawValue, &stbuf) == 0 else {
| `- error: cannot find 'fstat' in scope
257 | throw Error.systemError("stat during file descriptor status", errno)
258 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:257:75: error: cannot find 'errno' in scope
255 | var stbuf = stat()
256 | guard fstat(fd.rawValue, &stbuf) == 0 else {
257 | throw Error.systemError("stat during file descriptor status", errno)
| `- error: cannot find 'errno' in scope
258 | }
259 | return fileStatus(from: stbuf)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:268:21: error: cannot find 'stat' in scope
266 | /// - Throws: ``Error/systemError(_:_:)`` if the entry cannot be inspected.
267 | public static func status(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileStatus? {
268 | var stbuf = stat()
| `- error: cannot find 'stat' in scope
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
270 | if errno == ENOENT {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:269:15: error: cannot find 'fstatat' in scope
267 | public static func status(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileStatus? {
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
| `- error: cannot find 'fstatat' in scope
270 | if errno == ENOENT {
271 | return nil
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:269:57: error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
267 | public static func status(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileStatus? {
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
| `- error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
270 | if errno == ENOENT {
271 | return nil
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:270:16: error: cannot find 'errno' in scope
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
270 | if errno == ENOENT {
| `- error: cannot find 'errno' in scope
271 | return nil
272 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:270:25: error: cannot find 'ENOENT' in scope
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
270 | if errno == ENOENT {
| `- error: cannot find 'ENOENT' in scope
271 | return nil
272 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:273:75: error: cannot find 'errno' in scope
271 | return nil
272 | }
273 | throw Error.systemError("stat during file descriptor status", errno)
| `- error: cannot find 'errno' in scope
274 | }
275 | return fileStatus(from: stbuf)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:21: error: cannot find 'openat' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:54: error: cannot find 'O_RDONLY' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:65: error: cannot find 'O_NOFOLLOW' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:78: error: cannot find 'O_NONBLOCK' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NONBLOCK' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:91: error: cannot find 'O_NOCTTY' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOCTTY' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:102: error: cannot find 'O_CLOEXEC' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:290:29: error: cannot find 'errno' in scope
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
289 | guard newFd >= 0 else {
290 | let openErrno = errno
| `- error: cannot find 'errno' in scope
291 | switch try entryType(fd, name) {
292 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:305:24: warning: no calls to throwing functions occur within 'try' expression
303 | let opened = FileDescriptor(rawValue: newFd)
304 | do {
305 | let type = try status(of: opened).type
| `- warning: no calls to throwing functions occur within 'try' expression
306 | guard type == .regular else {
307 | throw Error.conflict(type)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:333:21: error: cannot find 'openat' in scope
331 | permissions: FilePermissions? = nil
332 | ) throws -> FileDescriptor {
333 | let newFd = openat(
| `- error: cannot find 'openat' in scope
334 | fd.rawValue,
335 | name.string,
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:13: error: cannot find 'O_WRONLY' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_WRONLY' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:24: error: cannot find 'O_CREAT' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_CREAT' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:34: error: cannot find 'O_EXCL' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_EXCL' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:43: error: cannot find 'O_NOFOLLOW' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_NOFOLLOW' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:56: error: cannot find 'O_CLOEXEC' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_CLOEXEC' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:340:16: error: cannot find 'errno' in scope
338 | )
339 | guard newFd >= 0 else {
340 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
341 | throw Error.alreadyExists
342 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:340:25: error: cannot find 'EEXIST' in scope
338 | )
339 | guard newFd >= 0 else {
340 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
341 | throw Error.alreadyExists
342 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:343:84: error: cannot find 'errno' in scope
341 | throw Error.alreadyExists
342 | }
343 | throw Error.systemError("file creation during file descriptor create", errno)
| `- error: cannot find 'errno' in scope
344 | }
345 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:355:15: error: cannot find 'symlinkat' in scope
353 | /// ``Error/systemError(_:_:)`` for anything else.
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
| `- error: cannot find 'symlinkat' in scope
356 | if errno == EEXIST {
357 | throw Error.alreadyExists
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:356:16: error: cannot find 'errno' in scope
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
356 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
357 | throw Error.alreadyExists
358 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:356:25: error: cannot find 'EEXIST' in scope
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
356 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
357 | throw Error.alreadyExists
358 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:359:88: error: cannot find 'errno' in scope
357 | throw Error.alreadyExists
358 | }
359 | throw Error.systemError("symlink creation during file descriptor symlink", errno)
| `- error: cannot find 'errno' in scope
360 | }
361 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:388:25: error: cannot find 'readlinkat' in scope
386 | while true {
387 | var buffer = [CChar](repeating: 0, count: capacity)
388 | let count = readlinkat(fd.rawValue, name.string, &buffer, capacity)
| `- error: cannot find 'readlinkat' in scope
389 | guard count >= 0 else {
390 | let readlinkErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:390:37: error: cannot find 'errno' in scope
388 | let count = readlinkat(fd.rawValue, name.string, &buffer, capacity)
389 | guard count >= 0 else {
390 | let readlinkErrno = errno
| `- error: cannot find 'errno' in scope
391 | switch try entryType(fd, name) {
392 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:405:89: error: cannot find 'ENAMETOOLONG' in scope
403 | // The buffer was filled, so the target may have been cut off. Retry with a larger one.
404 | guard capacity < maximumSymlinkTargetLength else {
405 | throw Error.systemError("symlink read during file descriptor readlink", ENAMETOOLONG)
| `- error: cannot find 'ENAMETOOLONG' in scope
406 | }
407 | capacity *= 2
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:425:15: error: cannot find 'unlinkat' in scope
423 | }
424 |
425 | guard unlinkat(fd.rawValue, filename.string, 0) != 0 else {
| `- error: cannot find 'unlinkat' in scope
426 | return
427 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:429:15: error: cannot find 'errno' in scope
427 | }
428 |
429 | guard errno != ENOENT else {
| `- error: cannot find 'errno' in scope
430 | return
431 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:429:24: error: cannot find 'ENOENT' in scope
427 | }
428 |
429 | guard errno != ENOENT else {
| `- error: cannot find 'ENOENT' in scope
430 | return
431 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:15: error: cannot find 'errno' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'errno' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:24: error: cannot find 'EPERM' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'EPERM' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:33: error: cannot find 'errno' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'errno' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:42: error: cannot find 'EISDIR' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'EISDIR' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:434:83: error: cannot find 'errno' in scope
432 |
433 | guard errno == EPERM || errno == EISDIR else {
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
435 | }
436 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:27: error: cannot find 'openat' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:64: error: cannot find 'O_NOFOLLOW' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:77: error: cannot find 'O_RDONLY' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:88: error: cannot find 'O_DIRECTORY' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:102: error: cannot find 'O_CLOEXEC' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:439:85: error: cannot find 'errno' in scope
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
440 | }
441 | let componentFileDescriptor = FileDescriptor(rawValue: componentFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:447:84: error: cannot find 'errno' in scope
445 | let ownedFd = dupCloseOnExec(componentFd)
446 | guard ownedFd >= 0 else {
447 | throw Error.systemError("directory dup during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:449:25: error: cannot find 'fdopendir' in scope
447 | throw Error.systemError("directory dup during file descriptor unlink", errno)
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
| `- error: cannot find 'fdopendir' in scope
450 | let savedErrno = errno
451 | close(ownedFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:450:30: error: cannot find 'errno' in scope
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
450 | let savedErrno = errno
| `- error: cannot find 'errno' in scope
451 | close(ownedFd)
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:451:13: error: cannot find 'close' in scope
449 | guard let dir = fdopendir(ownedFd) else {
450 | let savedErrno = errno
451 | close(ownedFd)
| `- error: cannot find 'close' in scope
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
453 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:454:17: error: cannot find 'closedir' in scope
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
453 | }
454 | defer { closedir(dir) }
| `- error: cannot find 'closedir' in scope
455 |
456 | while let entry = readdir(dir) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:456:27: error: cannot find 'readdir' in scope
454 | defer { closedir(dir) }
455 |
456 | while let entry = readdir(dir) {
| `- error: cannot find 'readdir' in scope
457 | let childComponent = withUnsafePointer(to: entry.pointee.d_name) {
458 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:458:68: error: cannot find 'NAME_MAX' in scope
456 | while let entry = readdir(dir) {
457 | let childComponent = withUnsafePointer(to: entry.pointee.d_name) {
458 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
| `- error: cannot find 'NAME_MAX' in scope
459 | let name = String(decodingCString: $0, as: UTF8.self)
460 | return FilePath.Component(name)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:464:101: error: cannot find 'errno' in scope
462 | }
463 | guard let childComponent else {
464 | throw Error.systemError("directory entry processing during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
465 | }
466 | try unlinkRecursive(componentFileDescriptor, filename: childComponent)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:469:12: error: cannot find 'unlinkat' in scope
467 | }
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
| `- error: cannot find 'unlinkat' in scope
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
471 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:469:51: error: cannot find 'AT_REMOVEDIR' in scope
467 | }
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
| `- error: cannot find 'AT_REMOVEDIR' in scope
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
471 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:470:88: error: cannot find 'errno' in scope
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
471 | }
472 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:563:77: error: cannot find 'errno' in scope
561 | let dupFd = dupCloseOnExec(fd.rawValue)
562 | guard dupFd >= 0 else {
563 | throw Error.systemError("dup during file descriptor enumerate", errno)
| `- error: cannot find 'errno' in scope
564 | }
565 | guard let dir = fdopendir(dupFd) else {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:565:25: error: cannot find 'fdopendir' in scope
563 | throw Error.systemError("dup during file descriptor enumerate", errno)
564 | }
565 | guard let dir = fdopendir(dupFd) else {
| `- error: cannot find 'fdopendir' in scope
566 | let savedErrno = errno
567 | try? FileDescriptor(rawValue: dupFd).close()
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:566:30: error: cannot find 'errno' in scope
564 | }
565 | guard let dir = fdopendir(dupFd) else {
566 | let savedErrno = errno
| `- error: cannot find 'errno' in scope
567 | try? FileDescriptor(rawValue: dupFd).close()
568 | throw Error.systemError("fdopendir during file descriptor enumerate", savedErrno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:570:17: error: cannot find 'closedir' in scope
568 | throw Error.systemError("fdopendir during file descriptor enumerate", savedErrno)
569 | }
570 | defer { closedir(dir) }
| `- error: cannot find 'closedir' in scope
571 |
572 | while let entry = readdir(dir) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:572:27: error: cannot find 'readdir' in scope
570 | defer { closedir(dir) }
571 |
572 | while let entry = readdir(dir) {
| `- error: cannot find 'readdir' in scope
573 | let name = withUnsafePointer(to: entry.pointee.d_name) {
574 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:574:68: error: cannot find 'NAME_MAX' in scope
572 | while let entry = readdir(dir) {
573 | let name = withUnsafePointer(to: entry.pointee.d_name) {
574 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
| `- error: cannot find 'NAME_MAX' in scope
575 | String(decodingCString: $0, as: UTF8.self)
576 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:27: error: cannot find 'openat' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:53: error: cannot find 'O_NOFOLLOW' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:66: error: cannot find 'O_RDONLY' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:77: error: cannot find 'O_DIRECTORY' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:91: error: cannot find 'O_CLOEXEC' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:596:84: error: cannot find 'errno' in scope
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
| `- error: cannot find 'errno' in scope
597 | }
598 | let childDescriptor = FileDescriptor(rawValue: childFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:606:20: error: cannot find 'DT_REG' in scope
604 | private static func resolveEntryType(parentFd: Int32, name: String, dtype: UInt8) -> EntryType {
605 | switch dtype {
606 | case UInt8(DT_REG): return .regular
| `- error: cannot find 'DT_REG' in scope
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:607:20: error: cannot find 'DT_DIR' in scope
605 | switch dtype {
606 | case UInt8(DT_REG): return .regular
607 | case UInt8(DT_DIR): return .directory
| `- error: cannot find 'DT_DIR' in scope
608 | case UInt8(DT_LNK): return .symlink
609 | case UInt8(DT_UNKNOWN):
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:608:20: error: cannot find 'DT_LNK' in scope
606 | case UInt8(DT_REG): return .regular
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
| `- error: cannot find 'DT_LNK' in scope
609 | case UInt8(DT_UNKNOWN):
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:609:20: error: cannot find 'DT_UNKNOWN' in scope
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
609 | case UInt8(DT_UNKNOWN):
| `- error: cannot find 'DT_UNKNOWN' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:611:25: error: cannot find 'stat' in scope
609 | case UInt8(DT_UNKNOWN):
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
| `- error: cannot find 'stat' in scope
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:612:19: error: cannot find 'fstatat' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
| `- error: cannot find 'fstatat' in scope
613 | return entryType(forMode: stbuf.st_mode)
614 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:612:51: error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
| `- error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
613 | return entryType(forMode: stbuf.st_mode)
614 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:29: error: extraneous argument label 'forMode:' in call
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| `- error: extraneous argument label 'forMode:' in call
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:52: error: missing argument for parameter #2 in call
174 | /// - name: The name of a direct child of that directory.
175 | /// - Throws: `FileDescriptorOps.Error.systemError` if the entry cannot be inspected.
176 | public static func entryType(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> EntryType? {
| `- note: 'entryType' declared here
177 | try status(fd, name)?.type
178 | }
:
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| `- error: missing argument for parameter #2 in call
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:20: error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| |- error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
| |- note: coalesce using '??' to provide a default when the optional value contains 'nil'
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:619:23: error: cannot find 'os_S_IFMT' in scope
617 |
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
619 | switch mode & os_S_IFMT {
| `- error: cannot find 'os_S_IFMT' in scope
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:620:14: error: cannot find 'os_S_IFREG' in scope
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
| `- error: cannot find 'os_S_IFREG' in scope
621 | case os_S_IFDIR: return .directory
622 | case os_S_IFLNK: return .symlink
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:621:14: error: cannot find 'os_S_IFDIR' in scope
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
| `- error: cannot find 'os_S_IFDIR' in scope
622 | case os_S_IFLNK: return .symlink
623 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:622:14: error: cannot find 'os_S_IFLNK' in scope
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
622 | case os_S_IFLNK: return .symlink
| `- error: cannot find 'os_S_IFLNK' in scope
623 | default: return .other
624 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:28: error: extraneous argument label 'forMode:' in call
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| `- error: extraneous argument label 'forMode:' in call
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:51: error: missing argument for parameter #2 in call
174 | /// - name: The name of a direct child of that directory.
175 | /// - Throws: `FileDescriptorOps.Error.systemError` if the entry cannot be inspected.
176 | public static func entryType(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> EntryType? {
| `- note: 'entryType' declared here
177 | try status(fd, name)?.type
178 | }
:
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| `- error: missing argument for parameter #2 in call
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:19: error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| |- error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
| |- note: coalesce using '??' to provide a default when the optional value contains 'nil'
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/Socket.swift:28:8: error: Socket not supported on this platform.
26 | import Darwin
27 | #else
28 | #error("Socket not supported on this platform.")
| `- error: Socket not supported on this platform.
29 | #endif
30 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/SocketType.swift:24:8: error: SocketType not supported on this platform.
22 | import Darwin
23 | #else
24 | #error("SocketType not supported on this platform.")
| `- error: SocketType not supported on this platform.
25 | #endif
26 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/UnixType.swift:27:8: error: UnixType not supported on this platform.
25 | let _SOCK_STREAM = SOCK_STREAM
26 | #else
27 | #error("UnixType not supported on this platform.")
| `- error: UnixType not supported on this platform.
28 | #endif
29 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/VsockType.swift:26:8: error: VsockType not supported on this platform.
24 | import Darwin
25 | #else
26 | #error("VsockType not supported on this platform.")
| `- error: VsockType not supported on this platform.
27 | #endif
28 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Syscall.swift:24:8: error: retryingSyscall not supported on this platform.
22 | import Darwin
23 | #else
24 | #error("retryingSyscall not supported on this platform.")
| `- error: retryingSyscall not supported on this platform.
25 | #endif
26 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:618:49: error: cannot find type 'mode_t' in scope
616 | }
617 |
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
| `- error: cannot find type 'mode_t' in scope
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:627:48: error: cannot find type 'stat' in scope
625 | }
626 |
627 | private static func fileStatus(from stbuf: stat) -> FileStatus {
| `- error: cannot find type 'stat' in scope
628 | #if canImport(Darwin)
629 | let mtime = stbuf.st_mtimespec
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:44:5: error: cannot find 'fcntl' in scope
42 | /// directory that was opened close-on-exec.
43 | private func dupCloseOnExec(_ fd: Int32) -> Int32 {
44 | fcntl(fd, F_DUPFD_CLOEXEC, 0)
| `- error: cannot find 'fcntl' in scope
45 | }
46 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:44:15: error: cannot find 'F_DUPFD_CLOEXEC' in scope
42 | /// directory that was opened close-on-exec.
43 | private func dupCloseOnExec(_ fd: Int32) -> Int32 {
44 | fcntl(fd, F_DUPFD_CLOEXEC, 0)
| `- error: cannot find 'F_DUPFD_CLOEXEC' in scope
45 | }
46 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:21: error: cannot find 'openat' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:54: error: cannot find 'O_NOFOLLOW' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:67: error: cannot find 'O_RDONLY' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:78: error: cannot find 'O_DIRECTORY' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:92: error: cannot find 'O_CLOEXEC' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:197:25: error: cannot find 'errno' in scope
195 | // The failure code for "a symlink or file is in the way" differs between
196 | // platforms, so look at what is actually there.
197 | let openErrno = errno
| `- error: cannot find 'errno' in scope
198 | switch try entryType(fd, name) {
199 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:225:15: error: cannot find 'mkdirat' in scope
223 | permissions: FilePermissions? = nil
224 | ) throws {
225 | guard mkdirat(fd.rawValue, name.string, permissions?.rawValue ?? 0o755) == 0 else {
| `- error: cannot find 'mkdirat' in scope
226 | if errno == EEXIST {
227 | throw Error.alreadyExists
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:226:16: error: cannot find 'errno' in scope
224 | ) throws {
225 | guard mkdirat(fd.rawValue, name.string, permissions?.rawValue ?? 0o755) == 0 else {
226 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
227 | throw Error.alreadyExists
228 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:226:25: error: cannot find 'EEXIST' in scope
224 | ) throws {
225 | guard mkdirat(fd.rawValue, name.string, permissions?.rawValue ?? 0o755) == 0 else {
226 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
227 | throw Error.alreadyExists
228 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:229:88: error: cannot find 'errno' in scope
227 | throw Error.alreadyExists
228 | }
229 | throw Error.systemError("directory creation during file descriptor mkdir", errno)
| `- error: cannot find 'errno' in scope
230 | }
231 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:243:15: error: cannot find 'unlinkat' in scope
241 | /// ``Error/systemError(_:_:)`` for anything else, including when the entry is a directory.
242 | public static func unlink(_ fd: FileDescriptor, _ name: FilePath.Component) throws {
243 | guard unlinkat(fd.rawValue, name.string, 0) == 0 else {
| `- error: cannot find 'unlinkat' in scope
244 | if errno == ENOENT {
245 | throw Error.notFound
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:244:16: error: cannot find 'errno' in scope
242 | public static func unlink(_ fd: FileDescriptor, _ name: FilePath.Component) throws {
243 | guard unlinkat(fd.rawValue, name.string, 0) == 0 else {
244 | if errno == ENOENT {
| `- error: cannot find 'errno' in scope
245 | throw Error.notFound
246 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:244:25: error: cannot find 'ENOENT' in scope
242 | public static func unlink(_ fd: FileDescriptor, _ name: FilePath.Component) throws {
243 | guard unlinkat(fd.rawValue, name.string, 0) == 0 else {
244 | if errno == ENOENT {
| `- error: cannot find 'ENOENT' in scope
245 | throw Error.notFound
246 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:247:84: error: cannot find 'errno' in scope
245 | throw Error.notFound
246 | }
247 | throw Error.systemError("entry removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
248 | }
249 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:255:21: error: cannot find 'stat' in scope
253 | /// - Throws: ``Error/systemError(_:_:)`` if the descriptor cannot be inspected.
254 | public static func status(of fd: FileDescriptor) throws -> FileStatus {
255 | var stbuf = stat()
| `- error: cannot find 'stat' in scope
256 | guard fstat(fd.rawValue, &stbuf) == 0 else {
257 | throw Error.systemError("stat during file descriptor status", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:256:15: error: cannot find 'fstat' in scope
254 | public static func status(of fd: FileDescriptor) throws -> FileStatus {
255 | var stbuf = stat()
256 | guard fstat(fd.rawValue, &stbuf) == 0 else {
| `- error: cannot find 'fstat' in scope
257 | throw Error.systemError("stat during file descriptor status", errno)
258 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:257:75: error: cannot find 'errno' in scope
255 | var stbuf = stat()
256 | guard fstat(fd.rawValue, &stbuf) == 0 else {
257 | throw Error.systemError("stat during file descriptor status", errno)
| `- error: cannot find 'errno' in scope
258 | }
259 | return fileStatus(from: stbuf)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:268:21: error: cannot find 'stat' in scope
266 | /// - Throws: ``Error/systemError(_:_:)`` if the entry cannot be inspected.
267 | public static func status(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileStatus? {
268 | var stbuf = stat()
| `- error: cannot find 'stat' in scope
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
270 | if errno == ENOENT {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:269:15: error: cannot find 'fstatat' in scope
267 | public static func status(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileStatus? {
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
| `- error: cannot find 'fstatat' in scope
270 | if errno == ENOENT {
271 | return nil
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:269:57: error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
267 | public static func status(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileStatus? {
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
| `- error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
270 | if errno == ENOENT {
271 | return nil
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:270:16: error: cannot find 'errno' in scope
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
270 | if errno == ENOENT {
| `- error: cannot find 'errno' in scope
271 | return nil
272 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:270:25: error: cannot find 'ENOENT' in scope
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
270 | if errno == ENOENT {
| `- error: cannot find 'ENOENT' in scope
271 | return nil
272 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:273:75: error: cannot find 'errno' in scope
271 | return nil
272 | }
273 | throw Error.systemError("stat during file descriptor status", errno)
| `- error: cannot find 'errno' in scope
274 | }
275 | return fileStatus(from: stbuf)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:21: error: cannot find 'openat' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:54: error: cannot find 'O_RDONLY' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:65: error: cannot find 'O_NOFOLLOW' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:78: error: cannot find 'O_NONBLOCK' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NONBLOCK' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:91: error: cannot find 'O_NOCTTY' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOCTTY' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:102: error: cannot find 'O_CLOEXEC' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:290:29: error: cannot find 'errno' in scope
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
289 | guard newFd >= 0 else {
290 | let openErrno = errno
| `- error: cannot find 'errno' in scope
291 | switch try entryType(fd, name) {
292 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:305:24: warning: no calls to throwing functions occur within 'try' expression
303 | let opened = FileDescriptor(rawValue: newFd)
304 | do {
305 | let type = try status(of: opened).type
| `- warning: no calls to throwing functions occur within 'try' expression
306 | guard type == .regular else {
307 | throw Error.conflict(type)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:333:21: error: cannot find 'openat' in scope
331 | permissions: FilePermissions? = nil
332 | ) throws -> FileDescriptor {
333 | let newFd = openat(
| `- error: cannot find 'openat' in scope
334 | fd.rawValue,
335 | name.string,
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:13: error: cannot find 'O_WRONLY' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_WRONLY' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:24: error: cannot find 'O_CREAT' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_CREAT' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:34: error: cannot find 'O_EXCL' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_EXCL' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:43: error: cannot find 'O_NOFOLLOW' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_NOFOLLOW' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:56: error: cannot find 'O_CLOEXEC' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_CLOEXEC' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:340:16: error: cannot find 'errno' in scope
338 | )
339 | guard newFd >= 0 else {
340 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
341 | throw Error.alreadyExists
342 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:340:25: error: cannot find 'EEXIST' in scope
338 | )
339 | guard newFd >= 0 else {
340 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
341 | throw Error.alreadyExists
342 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:343:84: error: cannot find 'errno' in scope
341 | throw Error.alreadyExists
342 | }
343 | throw Error.systemError("file creation during file descriptor create", errno)
| `- error: cannot find 'errno' in scope
344 | }
345 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:355:15: error: cannot find 'symlinkat' in scope
353 | /// ``Error/systemError(_:_:)`` for anything else.
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
| `- error: cannot find 'symlinkat' in scope
356 | if errno == EEXIST {
357 | throw Error.alreadyExists
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:356:16: error: cannot find 'errno' in scope
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
356 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
357 | throw Error.alreadyExists
358 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:356:25: error: cannot find 'EEXIST' in scope
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
356 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
357 | throw Error.alreadyExists
358 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:359:88: error: cannot find 'errno' in scope
357 | throw Error.alreadyExists
358 | }
359 | throw Error.systemError("symlink creation during file descriptor symlink", errno)
| `- error: cannot find 'errno' in scope
360 | }
361 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:388:25: error: cannot find 'readlinkat' in scope
386 | while true {
387 | var buffer = [CChar](repeating: 0, count: capacity)
388 | let count = readlinkat(fd.rawValue, name.string, &buffer, capacity)
| `- error: cannot find 'readlinkat' in scope
389 | guard count >= 0 else {
390 | let readlinkErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:390:37: error: cannot find 'errno' in scope
388 | let count = readlinkat(fd.rawValue, name.string, &buffer, capacity)
389 | guard count >= 0 else {
390 | let readlinkErrno = errno
| `- error: cannot find 'errno' in scope
391 | switch try entryType(fd, name) {
392 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:405:89: error: cannot find 'ENAMETOOLONG' in scope
403 | // The buffer was filled, so the target may have been cut off. Retry with a larger one.
404 | guard capacity < maximumSymlinkTargetLength else {
405 | throw Error.systemError("symlink read during file descriptor readlink", ENAMETOOLONG)
| `- error: cannot find 'ENAMETOOLONG' in scope
406 | }
407 | capacity *= 2
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:425:15: error: cannot find 'unlinkat' in scope
423 | }
424 |
425 | guard unlinkat(fd.rawValue, filename.string, 0) != 0 else {
| `- error: cannot find 'unlinkat' in scope
426 | return
427 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:429:15: error: cannot find 'errno' in scope
427 | }
428 |
429 | guard errno != ENOENT else {
| `- error: cannot find 'errno' in scope
430 | return
431 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:429:24: error: cannot find 'ENOENT' in scope
427 | }
428 |
429 | guard errno != ENOENT else {
| `- error: cannot find 'ENOENT' in scope
430 | return
431 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:15: error: cannot find 'errno' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'errno' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:24: error: cannot find 'EPERM' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'EPERM' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:33: error: cannot find 'errno' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'errno' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:42: error: cannot find 'EISDIR' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'EISDIR' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:434:83: error: cannot find 'errno' in scope
432 |
433 | guard errno == EPERM || errno == EISDIR else {
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
435 | }
436 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:27: error: cannot find 'openat' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:64: error: cannot find 'O_NOFOLLOW' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:77: error: cannot find 'O_RDONLY' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:88: error: cannot find 'O_DIRECTORY' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:102: error: cannot find 'O_CLOEXEC' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:439:85: error: cannot find 'errno' in scope
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
440 | }
441 | let componentFileDescriptor = FileDescriptor(rawValue: componentFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:447:84: error: cannot find 'errno' in scope
445 | let ownedFd = dupCloseOnExec(componentFd)
446 | guard ownedFd >= 0 else {
447 | throw Error.systemError("directory dup during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:449:25: error: cannot find 'fdopendir' in scope
447 | throw Error.systemError("directory dup during file descriptor unlink", errno)
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
| `- error: cannot find 'fdopendir' in scope
450 | let savedErrno = errno
451 | close(ownedFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:450:30: error: cannot find 'errno' in scope
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
450 | let savedErrno = errno
| `- error: cannot find 'errno' in scope
451 | close(ownedFd)
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:451:13: error: cannot find 'close' in scope
449 | guard let dir = fdopendir(ownedFd) else {
450 | let savedErrno = errno
451 | close(ownedFd)
| `- error: cannot find 'close' in scope
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
453 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:454:17: error: cannot find 'closedir' in scope
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
453 | }
454 | defer { closedir(dir) }
| `- error: cannot find 'closedir' in scope
455 |
456 | while let entry = readdir(dir) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:456:27: error: cannot find 'readdir' in scope
454 | defer { closedir(dir) }
455 |
456 | while let entry = readdir(dir) {
| `- error: cannot find 'readdir' in scope
457 | let childComponent = withUnsafePointer(to: entry.pointee.d_name) {
458 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:458:68: error: cannot find 'NAME_MAX' in scope
456 | while let entry = readdir(dir) {
457 | let childComponent = withUnsafePointer(to: entry.pointee.d_name) {
458 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
| `- error: cannot find 'NAME_MAX' in scope
459 | let name = String(decodingCString: $0, as: UTF8.self)
460 | return FilePath.Component(name)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:464:101: error: cannot find 'errno' in scope
462 | }
463 | guard let childComponent else {
464 | throw Error.systemError("directory entry processing during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
465 | }
466 | try unlinkRecursive(componentFileDescriptor, filename: childComponent)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:469:12: error: cannot find 'unlinkat' in scope
467 | }
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
| `- error: cannot find 'unlinkat' in scope
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
471 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:469:51: error: cannot find 'AT_REMOVEDIR' in scope
467 | }
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
| `- error: cannot find 'AT_REMOVEDIR' in scope
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
471 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:470:88: error: cannot find 'errno' in scope
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
471 | }
472 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:563:77: error: cannot find 'errno' in scope
561 | let dupFd = dupCloseOnExec(fd.rawValue)
562 | guard dupFd >= 0 else {
563 | throw Error.systemError("dup during file descriptor enumerate", errno)
| `- error: cannot find 'errno' in scope
564 | }
565 | guard let dir = fdopendir(dupFd) else {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:565:25: error: cannot find 'fdopendir' in scope
563 | throw Error.systemError("dup during file descriptor enumerate", errno)
564 | }
565 | guard let dir = fdopendir(dupFd) else {
| `- error: cannot find 'fdopendir' in scope
566 | let savedErrno = errno
567 | try? FileDescriptor(rawValue: dupFd).close()
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:566:30: error: cannot find 'errno' in scope
564 | }
565 | guard let dir = fdopendir(dupFd) else {
566 | let savedErrno = errno
| `- error: cannot find 'errno' in scope
567 | try? FileDescriptor(rawValue: dupFd).close()
568 | throw Error.systemError("fdopendir during file descriptor enumerate", savedErrno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:570:17: error: cannot find 'closedir' in scope
568 | throw Error.systemError("fdopendir during file descriptor enumerate", savedErrno)
569 | }
570 | defer { closedir(dir) }
| `- error: cannot find 'closedir' in scope
571 |
572 | while let entry = readdir(dir) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:572:27: error: cannot find 'readdir' in scope
570 | defer { closedir(dir) }
571 |
572 | while let entry = readdir(dir) {
| `- error: cannot find 'readdir' in scope
573 | let name = withUnsafePointer(to: entry.pointee.d_name) {
574 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:574:68: error: cannot find 'NAME_MAX' in scope
572 | while let entry = readdir(dir) {
573 | let name = withUnsafePointer(to: entry.pointee.d_name) {
574 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
| `- error: cannot find 'NAME_MAX' in scope
575 | String(decodingCString: $0, as: UTF8.self)
576 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:27: error: cannot find 'openat' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:53: error: cannot find 'O_NOFOLLOW' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:66: error: cannot find 'O_RDONLY' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:77: error: cannot find 'O_DIRECTORY' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:91: error: cannot find 'O_CLOEXEC' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:596:84: error: cannot find 'errno' in scope
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
| `- error: cannot find 'errno' in scope
597 | }
598 | let childDescriptor = FileDescriptor(rawValue: childFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:606:20: error: cannot find 'DT_REG' in scope
604 | private static func resolveEntryType(parentFd: Int32, name: String, dtype: UInt8) -> EntryType {
605 | switch dtype {
606 | case UInt8(DT_REG): return .regular
| `- error: cannot find 'DT_REG' in scope
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:607:20: error: cannot find 'DT_DIR' in scope
605 | switch dtype {
606 | case UInt8(DT_REG): return .regular
607 | case UInt8(DT_DIR): return .directory
| `- error: cannot find 'DT_DIR' in scope
608 | case UInt8(DT_LNK): return .symlink
609 | case UInt8(DT_UNKNOWN):
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:608:20: error: cannot find 'DT_LNK' in scope
606 | case UInt8(DT_REG): return .regular
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
| `- error: cannot find 'DT_LNK' in scope
609 | case UInt8(DT_UNKNOWN):
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:609:20: error: cannot find 'DT_UNKNOWN' in scope
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
609 | case UInt8(DT_UNKNOWN):
| `- error: cannot find 'DT_UNKNOWN' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:611:25: error: cannot find 'stat' in scope
609 | case UInt8(DT_UNKNOWN):
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
| `- error: cannot find 'stat' in scope
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:612:19: error: cannot find 'fstatat' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
| `- error: cannot find 'fstatat' in scope
613 | return entryType(forMode: stbuf.st_mode)
614 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:612:51: error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
| `- error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
613 | return entryType(forMode: stbuf.st_mode)
614 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:29: error: extraneous argument label 'forMode:' in call
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| `- error: extraneous argument label 'forMode:' in call
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:52: error: missing argument for parameter #2 in call
174 | /// - name: The name of a direct child of that directory.
175 | /// - Throws: `FileDescriptorOps.Error.systemError` if the entry cannot be inspected.
176 | public static func entryType(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> EntryType? {
| `- note: 'entryType' declared here
177 | try status(fd, name)?.type
178 | }
:
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| `- error: missing argument for parameter #2 in call
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:20: error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| |- error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
| |- note: coalesce using '??' to provide a default when the optional value contains 'nil'
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:619:23: error: cannot find 'os_S_IFMT' in scope
617 |
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
619 | switch mode & os_S_IFMT {
| `- error: cannot find 'os_S_IFMT' in scope
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:620:14: error: cannot find 'os_S_IFREG' in scope
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
| `- error: cannot find 'os_S_IFREG' in scope
621 | case os_S_IFDIR: return .directory
622 | case os_S_IFLNK: return .symlink
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:621:14: error: cannot find 'os_S_IFDIR' in scope
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
| `- error: cannot find 'os_S_IFDIR' in scope
622 | case os_S_IFLNK: return .symlink
623 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:622:14: error: cannot find 'os_S_IFLNK' in scope
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
622 | case os_S_IFLNK: return .symlink
| `- error: cannot find 'os_S_IFLNK' in scope
623 | default: return .other
624 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:28: error: extraneous argument label 'forMode:' in call
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| `- error: extraneous argument label 'forMode:' in call
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:51: error: missing argument for parameter #2 in call
174 | /// - name: The name of a direct child of that directory.
175 | /// - Throws: `FileDescriptorOps.Error.systemError` if the entry cannot be inspected.
176 | public static func entryType(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> EntryType? {
| `- note: 'entryType' declared here
177 | try status(fd, name)?.type
178 | }
:
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| `- error: missing argument for parameter #2 in call
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:19: error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| |- error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
| |- note: coalesce using '??' to provide a default when the optional value contains 'nil'
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/Socket.swift:28:8: error: Socket not supported on this platform.
26 | import Darwin
27 | #else
28 | #error("Socket not supported on this platform.")
| `- error: Socket not supported on this platform.
29 | #endif
30 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/SocketType.swift:24:8: error: SocketType not supported on this platform.
22 | import Darwin
23 | #else
24 | #error("SocketType not supported on this platform.")
| `- error: SocketType not supported on this platform.
25 | #endif
26 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/UnixType.swift:27:8: error: UnixType not supported on this platform.
25 | let _SOCK_STREAM = SOCK_STREAM
26 | #else
27 | #error("UnixType not supported on this platform.")
| `- error: UnixType not supported on this platform.
28 | #endif
29 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Socket/VsockType.swift:26:8: error: VsockType not supported on this platform.
24 | import Darwin
25 | #else
26 | #error("VsockType not supported on this platform.")
| `- error: VsockType not supported on this platform.
27 | #endif
28 |
/host/spi-builder-workspace/Sources/ContainerizationOS/Syscall.swift:24:8: error: retryingSyscall not supported on this platform.
22 | import Darwin
23 | #else
24 | #error("retryingSyscall not supported on this platform.")
| `- error: retryingSyscall not supported on this platform.
25 | #endif
26 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:618:49: error: cannot find type 'mode_t' in scope
616 | }
617 |
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
| `- error: cannot find type 'mode_t' in scope
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:627:48: error: cannot find type 'stat' in scope
625 | }
626 |
627 | private static func fileStatus(from stbuf: stat) -> FileStatus {
| `- error: cannot find type 'stat' in scope
628 | #if canImport(Darwin)
629 | let mtime = stbuf.st_mtimespec
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:44:5: error: cannot find 'fcntl' in scope
42 | /// directory that was opened close-on-exec.
43 | private func dupCloseOnExec(_ fd: Int32) -> Int32 {
44 | fcntl(fd, F_DUPFD_CLOEXEC, 0)
| `- error: cannot find 'fcntl' in scope
45 | }
46 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:44:15: error: cannot find 'F_DUPFD_CLOEXEC' in scope
42 | /// directory that was opened close-on-exec.
43 | private func dupCloseOnExec(_ fd: Int32) -> Int32 {
44 | fcntl(fd, F_DUPFD_CLOEXEC, 0)
| `- error: cannot find 'F_DUPFD_CLOEXEC' in scope
45 | }
46 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:21: error: cannot find 'openat' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:54: error: cannot find 'O_NOFOLLOW' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:67: error: cannot find 'O_RDONLY' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:78: error: cannot find 'O_DIRECTORY' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:190:92: error: cannot find 'O_CLOEXEC' in scope
188 | /// non-directory, and ``Error/systemError(_:_:)`` for anything else.
189 | public static func openDirectory(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
190 | let newFd = openat(fd.rawValue, name.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
191 | if newFd >= 0 {
192 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:197:25: error: cannot find 'errno' in scope
195 | // The failure code for "a symlink or file is in the way" differs between
196 | // platforms, so look at what is actually there.
197 | let openErrno = errno
| `- error: cannot find 'errno' in scope
198 | switch try entryType(fd, name) {
199 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:225:15: error: cannot find 'mkdirat' in scope
223 | permissions: FilePermissions? = nil
224 | ) throws {
225 | guard mkdirat(fd.rawValue, name.string, permissions?.rawValue ?? 0o755) == 0 else {
| `- error: cannot find 'mkdirat' in scope
226 | if errno == EEXIST {
227 | throw Error.alreadyExists
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:226:16: error: cannot find 'errno' in scope
224 | ) throws {
225 | guard mkdirat(fd.rawValue, name.string, permissions?.rawValue ?? 0o755) == 0 else {
226 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
227 | throw Error.alreadyExists
228 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:226:25: error: cannot find 'EEXIST' in scope
224 | ) throws {
225 | guard mkdirat(fd.rawValue, name.string, permissions?.rawValue ?? 0o755) == 0 else {
226 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
227 | throw Error.alreadyExists
228 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:229:88: error: cannot find 'errno' in scope
227 | throw Error.alreadyExists
228 | }
229 | throw Error.systemError("directory creation during file descriptor mkdir", errno)
| `- error: cannot find 'errno' in scope
230 | }
231 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:243:15: error: cannot find 'unlinkat' in scope
241 | /// ``Error/systemError(_:_:)`` for anything else, including when the entry is a directory.
242 | public static func unlink(_ fd: FileDescriptor, _ name: FilePath.Component) throws {
243 | guard unlinkat(fd.rawValue, name.string, 0) == 0 else {
| `- error: cannot find 'unlinkat' in scope
244 | if errno == ENOENT {
245 | throw Error.notFound
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:244:16: error: cannot find 'errno' in scope
242 | public static func unlink(_ fd: FileDescriptor, _ name: FilePath.Component) throws {
243 | guard unlinkat(fd.rawValue, name.string, 0) == 0 else {
244 | if errno == ENOENT {
| `- error: cannot find 'errno' in scope
245 | throw Error.notFound
246 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:244:25: error: cannot find 'ENOENT' in scope
242 | public static func unlink(_ fd: FileDescriptor, _ name: FilePath.Component) throws {
243 | guard unlinkat(fd.rawValue, name.string, 0) == 0 else {
244 | if errno == ENOENT {
| `- error: cannot find 'ENOENT' in scope
245 | throw Error.notFound
246 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:247:84: error: cannot find 'errno' in scope
245 | throw Error.notFound
246 | }
247 | throw Error.systemError("entry removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
248 | }
249 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:255:21: error: cannot find 'stat' in scope
253 | /// - Throws: ``Error/systemError(_:_:)`` if the descriptor cannot be inspected.
254 | public static func status(of fd: FileDescriptor) throws -> FileStatus {
255 | var stbuf = stat()
| `- error: cannot find 'stat' in scope
256 | guard fstat(fd.rawValue, &stbuf) == 0 else {
257 | throw Error.systemError("stat during file descriptor status", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:256:15: error: cannot find 'fstat' in scope
254 | public static func status(of fd: FileDescriptor) throws -> FileStatus {
255 | var stbuf = stat()
256 | guard fstat(fd.rawValue, &stbuf) == 0 else {
| `- error: cannot find 'fstat' in scope
257 | throw Error.systemError("stat during file descriptor status", errno)
258 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:257:75: error: cannot find 'errno' in scope
255 | var stbuf = stat()
256 | guard fstat(fd.rawValue, &stbuf) == 0 else {
257 | throw Error.systemError("stat during file descriptor status", errno)
| `- error: cannot find 'errno' in scope
258 | }
259 | return fileStatus(from: stbuf)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:268:21: error: cannot find 'stat' in scope
266 | /// - Throws: ``Error/systemError(_:_:)`` if the entry cannot be inspected.
267 | public static func status(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileStatus? {
268 | var stbuf = stat()
| `- error: cannot find 'stat' in scope
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
270 | if errno == ENOENT {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:269:15: error: cannot find 'fstatat' in scope
267 | public static func status(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileStatus? {
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
| `- error: cannot find 'fstatat' in scope
270 | if errno == ENOENT {
271 | return nil
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:269:57: error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
267 | public static func status(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileStatus? {
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
| `- error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
270 | if errno == ENOENT {
271 | return nil
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:270:16: error: cannot find 'errno' in scope
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
270 | if errno == ENOENT {
| `- error: cannot find 'errno' in scope
271 | return nil
272 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:270:25: error: cannot find 'ENOENT' in scope
268 | var stbuf = stat()
269 | guard fstatat(fd.rawValue, name.string, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else {
270 | if errno == ENOENT {
| `- error: cannot find 'ENOENT' in scope
271 | return nil
272 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:273:75: error: cannot find 'errno' in scope
271 | return nil
272 | }
273 | throw Error.systemError("stat during file descriptor status", errno)
| `- error: cannot find 'errno' in scope
274 | }
275 | return fileStatus(from: stbuf)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:21: error: cannot find 'openat' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:54: error: cannot find 'O_RDONLY' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:65: error: cannot find 'O_NOFOLLOW' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:78: error: cannot find 'O_NONBLOCK' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NONBLOCK' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:91: error: cannot find 'O_NOCTTY' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOCTTY' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:288:102: error: cannot find 'O_CLOEXEC' in scope
286 | /// ``Error/systemError(_:_:)`` for anything else.
287 | public static func openFile(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> FileDescriptor {
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
289 | guard newFd >= 0 else {
290 | let openErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:290:29: error: cannot find 'errno' in scope
288 | let newFd = openat(fd.rawValue, name.string, O_RDONLY | O_NOFOLLOW | O_NONBLOCK | O_NOCTTY | O_CLOEXEC | resolveBeneathFlag)
289 | guard newFd >= 0 else {
290 | let openErrno = errno
| `- error: cannot find 'errno' in scope
291 | switch try entryType(fd, name) {
292 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:305:24: warning: no calls to throwing functions occur within 'try' expression
303 | let opened = FileDescriptor(rawValue: newFd)
304 | do {
305 | let type = try status(of: opened).type
| `- warning: no calls to throwing functions occur within 'try' expression
306 | guard type == .regular else {
307 | throw Error.conflict(type)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:333:21: error: cannot find 'openat' in scope
331 | permissions: FilePermissions? = nil
332 | ) throws -> FileDescriptor {
333 | let newFd = openat(
| `- error: cannot find 'openat' in scope
334 | fd.rawValue,
335 | name.string,
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:13: error: cannot find 'O_WRONLY' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_WRONLY' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:24: error: cannot find 'O_CREAT' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_CREAT' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:34: error: cannot find 'O_EXCL' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_EXCL' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:43: error: cannot find 'O_NOFOLLOW' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_NOFOLLOW' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:336:56: error: cannot find 'O_CLOEXEC' in scope
334 | fd.rawValue,
335 | name.string,
336 | O_WRONLY | O_CREAT | O_EXCL | O_NOFOLLOW | O_CLOEXEC | resolveBeneathFlag,
| `- error: cannot find 'O_CLOEXEC' in scope
337 | permissions?.rawValue ?? 0o644
338 | )
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:340:16: error: cannot find 'errno' in scope
338 | )
339 | guard newFd >= 0 else {
340 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
341 | throw Error.alreadyExists
342 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:340:25: error: cannot find 'EEXIST' in scope
338 | )
339 | guard newFd >= 0 else {
340 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
341 | throw Error.alreadyExists
342 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:343:84: error: cannot find 'errno' in scope
341 | throw Error.alreadyExists
342 | }
343 | throw Error.systemError("file creation during file descriptor create", errno)
| `- error: cannot find 'errno' in scope
344 | }
345 | return FileDescriptor(rawValue: newFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:355:15: error: cannot find 'symlinkat' in scope
353 | /// ``Error/systemError(_:_:)`` for anything else.
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
| `- error: cannot find 'symlinkat' in scope
356 | if errno == EEXIST {
357 | throw Error.alreadyExists
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:356:16: error: cannot find 'errno' in scope
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
356 | if errno == EEXIST {
| `- error: cannot find 'errno' in scope
357 | throw Error.alreadyExists
358 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:356:25: error: cannot find 'EEXIST' in scope
354 | public static func makeSymlink(_ fd: FileDescriptor, _ name: FilePath.Component, target: String) throws {
355 | guard symlinkat(target, fd.rawValue, name.string) == 0 else {
356 | if errno == EEXIST {
| `- error: cannot find 'EEXIST' in scope
357 | throw Error.alreadyExists
358 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:359:88: error: cannot find 'errno' in scope
357 | throw Error.alreadyExists
358 | }
359 | throw Error.systemError("symlink creation during file descriptor symlink", errno)
| `- error: cannot find 'errno' in scope
360 | }
361 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:388:25: error: cannot find 'readlinkat' in scope
386 | while true {
387 | var buffer = [CChar](repeating: 0, count: capacity)
388 | let count = readlinkat(fd.rawValue, name.string, &buffer, capacity)
| `- error: cannot find 'readlinkat' in scope
389 | guard count >= 0 else {
390 | let readlinkErrno = errno
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:390:37: error: cannot find 'errno' in scope
388 | let count = readlinkat(fd.rawValue, name.string, &buffer, capacity)
389 | guard count >= 0 else {
390 | let readlinkErrno = errno
| `- error: cannot find 'errno' in scope
391 | switch try entryType(fd, name) {
392 | case nil:
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:405:89: error: cannot find 'ENAMETOOLONG' in scope
403 | // The buffer was filled, so the target may have been cut off. Retry with a larger one.
404 | guard capacity < maximumSymlinkTargetLength else {
405 | throw Error.systemError("symlink read during file descriptor readlink", ENAMETOOLONG)
| `- error: cannot find 'ENAMETOOLONG' in scope
406 | }
407 | capacity *= 2
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:425:15: error: cannot find 'unlinkat' in scope
423 | }
424 |
425 | guard unlinkat(fd.rawValue, filename.string, 0) != 0 else {
| `- error: cannot find 'unlinkat' in scope
426 | return
427 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:429:15: error: cannot find 'errno' in scope
427 | }
428 |
429 | guard errno != ENOENT else {
| `- error: cannot find 'errno' in scope
430 | return
431 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:429:24: error: cannot find 'ENOENT' in scope
427 | }
428 |
429 | guard errno != ENOENT else {
| `- error: cannot find 'ENOENT' in scope
430 | return
431 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:15: error: cannot find 'errno' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'errno' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:24: error: cannot find 'EPERM' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'EPERM' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:33: error: cannot find 'errno' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'errno' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:433:42: error: cannot find 'EISDIR' in scope
431 | }
432 |
433 | guard errno == EPERM || errno == EISDIR else {
| `- error: cannot find 'EISDIR' in scope
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
435 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:434:83: error: cannot find 'errno' in scope
432 |
433 | guard errno == EPERM || errno == EISDIR else {
434 | throw Error.systemError("file removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
435 | }
436 |
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:27: error: cannot find 'openat' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:64: error: cannot find 'O_NOFOLLOW' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:77: error: cannot find 'O_RDONLY' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:88: error: cannot find 'O_DIRECTORY' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:437:102: error: cannot find 'O_CLOEXEC' in scope
435 | }
436 |
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:439:85: error: cannot find 'errno' in scope
437 | let componentFd = openat(fd.rawValue, filename.string, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
438 | guard componentFd >= 0 else {
439 | throw Error.systemError("directory open during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
440 | }
441 | let componentFileDescriptor = FileDescriptor(rawValue: componentFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:447:84: error: cannot find 'errno' in scope
445 | let ownedFd = dupCloseOnExec(componentFd)
446 | guard ownedFd >= 0 else {
447 | throw Error.systemError("directory dup during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:449:25: error: cannot find 'fdopendir' in scope
447 | throw Error.systemError("directory dup during file descriptor unlink", errno)
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
| `- error: cannot find 'fdopendir' in scope
450 | let savedErrno = errno
451 | close(ownedFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:450:30: error: cannot find 'errno' in scope
448 | }
449 | guard let dir = fdopendir(ownedFd) else {
450 | let savedErrno = errno
| `- error: cannot find 'errno' in scope
451 | close(ownedFd)
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:451:13: error: cannot find 'close' in scope
449 | guard let dir = fdopendir(ownedFd) else {
450 | let savedErrno = errno
451 | close(ownedFd)
| `- error: cannot find 'close' in scope
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
453 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:454:17: error: cannot find 'closedir' in scope
452 | throw Error.systemError("directory opendir during file descriptor unlink", savedErrno)
453 | }
454 | defer { closedir(dir) }
| `- error: cannot find 'closedir' in scope
455 |
456 | while let entry = readdir(dir) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:456:27: error: cannot find 'readdir' in scope
454 | defer { closedir(dir) }
455 |
456 | while let entry = readdir(dir) {
| `- error: cannot find 'readdir' in scope
457 | let childComponent = withUnsafePointer(to: entry.pointee.d_name) {
458 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:458:68: error: cannot find 'NAME_MAX' in scope
456 | while let entry = readdir(dir) {
457 | let childComponent = withUnsafePointer(to: entry.pointee.d_name) {
458 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
| `- error: cannot find 'NAME_MAX' in scope
459 | let name = String(decodingCString: $0, as: UTF8.self)
460 | return FilePath.Component(name)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:464:101: error: cannot find 'errno' in scope
462 | }
463 | guard let childComponent else {
464 | throw Error.systemError("directory entry processing during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
465 | }
466 | try unlinkRecursive(componentFileDescriptor, filename: childComponent)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:469:12: error: cannot find 'unlinkat' in scope
467 | }
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
| `- error: cannot find 'unlinkat' in scope
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
471 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:469:51: error: cannot find 'AT_REMOVEDIR' in scope
467 | }
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
| `- error: cannot find 'AT_REMOVEDIR' in scope
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
471 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:470:88: error: cannot find 'errno' in scope
468 |
469 | if unlinkat(fd.rawValue, filename.string, AT_REMOVEDIR) != 0 {
470 | throw Error.systemError("directory removal during file descriptor unlink", errno)
| `- error: cannot find 'errno' in scope
471 | }
472 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:563:77: error: cannot find 'errno' in scope
561 | let dupFd = dupCloseOnExec(fd.rawValue)
562 | guard dupFd >= 0 else {
563 | throw Error.systemError("dup during file descriptor enumerate", errno)
| `- error: cannot find 'errno' in scope
564 | }
565 | guard let dir = fdopendir(dupFd) else {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:565:25: error: cannot find 'fdopendir' in scope
563 | throw Error.systemError("dup during file descriptor enumerate", errno)
564 | }
565 | guard let dir = fdopendir(dupFd) else {
| `- error: cannot find 'fdopendir' in scope
566 | let savedErrno = errno
567 | try? FileDescriptor(rawValue: dupFd).close()
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:566:30: error: cannot find 'errno' in scope
564 | }
565 | guard let dir = fdopendir(dupFd) else {
566 | let savedErrno = errno
| `- error: cannot find 'errno' in scope
567 | try? FileDescriptor(rawValue: dupFd).close()
568 | throw Error.systemError("fdopendir during file descriptor enumerate", savedErrno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:570:17: error: cannot find 'closedir' in scope
568 | throw Error.systemError("fdopendir during file descriptor enumerate", savedErrno)
569 | }
570 | defer { closedir(dir) }
| `- error: cannot find 'closedir' in scope
571 |
572 | while let entry = readdir(dir) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:572:27: error: cannot find 'readdir' in scope
570 | defer { closedir(dir) }
571 |
572 | while let entry = readdir(dir) {
| `- error: cannot find 'readdir' in scope
573 | let name = withUnsafePointer(to: entry.pointee.d_name) {
574 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:574:68: error: cannot find 'NAME_MAX' in scope
572 | while let entry = readdir(dir) {
573 | let name = withUnsafePointer(to: entry.pointee.d_name) {
574 | $0.withMemoryRebound(to: UInt8.self, capacity: Int(NAME_MAX) + 1) {
| `- error: cannot find 'NAME_MAX' in scope
575 | String(decodingCString: $0, as: UTF8.self)
576 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:27: error: cannot find 'openat' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'openat' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:53: error: cannot find 'O_NOFOLLOW' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_NOFOLLOW' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:66: error: cannot find 'O_RDONLY' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_RDONLY' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:77: error: cannot find 'O_DIRECTORY' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_DIRECTORY' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:594:91: error: cannot find 'O_CLOEXEC' in scope
592 | // entering a real directory and not a symlink that was swapped in
593 | // between readdir and here.
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
| `- error: cannot find 'O_CLOEXEC' in scope
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:596:84: error: cannot find 'errno' in scope
594 | let childFd = openat(fd.rawValue, name, O_NOFOLLOW | O_RDONLY | O_DIRECTORY | O_CLOEXEC | resolveBeneathFlag)
595 | guard childFd >= 0 else {
596 | throw Error.systemError("openat during file descriptor enumerate", errno)
| `- error: cannot find 'errno' in scope
597 | }
598 | let childDescriptor = FileDescriptor(rawValue: childFd)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:606:20: error: cannot find 'DT_REG' in scope
604 | private static func resolveEntryType(parentFd: Int32, name: String, dtype: UInt8) -> EntryType {
605 | switch dtype {
606 | case UInt8(DT_REG): return .regular
| `- error: cannot find 'DT_REG' in scope
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:607:20: error: cannot find 'DT_DIR' in scope
605 | switch dtype {
606 | case UInt8(DT_REG): return .regular
607 | case UInt8(DT_DIR): return .directory
| `- error: cannot find 'DT_DIR' in scope
608 | case UInt8(DT_LNK): return .symlink
609 | case UInt8(DT_UNKNOWN):
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:608:20: error: cannot find 'DT_LNK' in scope
606 | case UInt8(DT_REG): return .regular
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
| `- error: cannot find 'DT_LNK' in scope
609 | case UInt8(DT_UNKNOWN):
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:609:20: error: cannot find 'DT_UNKNOWN' in scope
607 | case UInt8(DT_DIR): return .directory
608 | case UInt8(DT_LNK): return .symlink
609 | case UInt8(DT_UNKNOWN):
| `- error: cannot find 'DT_UNKNOWN' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:611:25: error: cannot find 'stat' in scope
609 | case UInt8(DT_UNKNOWN):
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
| `- error: cannot find 'stat' in scope
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:612:19: error: cannot find 'fstatat' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
| `- error: cannot find 'fstatat' in scope
613 | return entryType(forMode: stbuf.st_mode)
614 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:612:51: error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
610 | // Some filesystems (NFS, ext2/3) report DT_UNKNOWN; fall back to fstatat.
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
| `- error: cannot find 'AT_SYMLINK_NOFOLLOW' in scope
613 | return entryType(forMode: stbuf.st_mode)
614 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:29: error: extraneous argument label 'forMode:' in call
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| `- error: extraneous argument label 'forMode:' in call
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:52: error: missing argument for parameter #2 in call
174 | /// - name: The name of a direct child of that directory.
175 | /// - Throws: `FileDescriptorOps.Error.systemError` if the entry cannot be inspected.
176 | public static func entryType(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> EntryType? {
| `- note: 'entryType' declared here
177 | try status(fd, name)?.type
178 | }
:
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| `- error: missing argument for parameter #2 in call
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:613:20: error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
611 | var stbuf = stat()
612 | guard fstatat(parentFd, name, &stbuf, AT_SYMLINK_NOFOLLOW) == 0 else { return .other }
613 | return entryType(forMode: stbuf.st_mode)
| |- error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
| |- note: coalesce using '??' to provide a default when the optional value contains 'nil'
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
614 | default: return .other
615 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:619:23: error: cannot find 'os_S_IFMT' in scope
617 |
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
619 | switch mode & os_S_IFMT {
| `- error: cannot find 'os_S_IFMT' in scope
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:620:14: error: cannot find 'os_S_IFREG' in scope
618 | private static func entryType(forMode mode: mode_t) -> EntryType {
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
| `- error: cannot find 'os_S_IFREG' in scope
621 | case os_S_IFDIR: return .directory
622 | case os_S_IFLNK: return .symlink
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:621:14: error: cannot find 'os_S_IFDIR' in scope
619 | switch mode & os_S_IFMT {
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
| `- error: cannot find 'os_S_IFDIR' in scope
622 | case os_S_IFLNK: return .symlink
623 | default: return .other
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:622:14: error: cannot find 'os_S_IFLNK' in scope
620 | case os_S_IFREG: return .regular
621 | case os_S_IFDIR: return .directory
622 | case os_S_IFLNK: return .symlink
| `- error: cannot find 'os_S_IFLNK' in scope
623 | default: return .other
624 | }
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:28: error: extraneous argument label 'forMode:' in call
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| `- error: extraneous argument label 'forMode:' in call
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:51: error: missing argument for parameter #2 in call
174 | /// - name: The name of a direct child of that directory.
175 | /// - Throws: `FileDescriptorOps.Error.systemError` if the entry cannot be inspected.
176 | public static func entryType(_ fd: FileDescriptor, _ name: FilePath.Component) throws -> EntryType? {
| `- note: 'entryType' declared here
177 | try status(fd, name)?.type
178 | }
:
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| `- error: missing argument for parameter #2 in call
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
/host/spi-builder-workspace/Sources/ContainerizationOS/FileDescriptorOps.swift:634:19: error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
632 | #endif
633 | return FileStatus(
634 | type: entryType(forMode: stbuf.st_mode),
| |- error: value of optional type 'FileDescriptorOps.EntryType?' must be unwrapped to a value of type 'FileDescriptorOps.EntryType'
| |- note: coalesce using '??' to provide a default when the optional value contains 'nil'
| `- note: force-unwrap using '!' to abort execution if the optional value contains 'nil'
635 | permissions: FilePermissions(rawValue: stbuf.st_mode & 0o7777),
636 | size: Int64(stbuf.st_size),
[880/1699] Compiling s3_lib.cc
[880/1699] Compiling s3_both.cc
[880/1699] Compiling handshake_server.cc
[880/1699] Compiling s3_pkt.cc
[880/1699] Compiling ssl_asn1.cc
[880/1699] Compiling ssl_aead_ctx.cc
BUILD FAILURE 6.3 android