The Swift Package Index logo.Swift Package Index

Build Information

Failed to build ReadiumZIPFoundation, reference develop (adb49c), with Swift 6.2 for Android on 6 Nov 2025 15:18:07 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/readium/ZIPFoundation.git
Reference: develop
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/readium/ZIPFoundation
 * branch            develop    -> FETCH_HEAD
 * [new branch]      develop    -> origin/develop
HEAD is now at adb49c8 3.0.1 (#15)
Cloned https://github.com/readium/ZIPFoundation.git
Revision (git rev-parse @):
adb49c8bfe060cc187370b12fa081012a6440b86
SUCCESS checkout https://github.com/readium/ZIPFoundation.git at develop
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/readium/ZIPFoundation.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:d70d83f328e9f1ae04a4e17e63e2d335ae10639f90ee796a5fe3bfb139eab948
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/Sources/ZIPFoundation/Resources/PrivacyInfo.xcprivacy
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--11D90AFD9DD3AB2.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/19] Emitting module ReadiumZIPFoundation
/host/spi-builder-workspace/Sources/ZIPFoundation/Data+Serialization.swift:22:1: warning: extension declares a conformance of imported type 'OpaquePointer' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 20 | extension FILEPointer: @unchecked @retroactive Sendable {}
 21 | #else
 22 | extension FILEPointer: @unchecked Sendable {}
    | |- warning: extension declares a conformance of imported type 'OpaquePointer' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 23 | #endif
 24 |
/host/spi-builder-workspace/Sources/ZIPFoundation/Data+Serialization.swift:22:35: warning: conformance of 'OpaquePointer' to protocol 'Sendable' was already stated in the type's module 'Swift'
 20 | extension FILEPointer: @unchecked @retroactive Sendable {}
 21 | #else
 22 | extension FILEPointer: @unchecked Sendable {}
    |                                   `- warning: conformance of 'OpaquePointer' to protocol 'Sendable' was already stated in the type's module 'Swift'
 23 | #endif
 24 |
Swift.OpaquePointer:2:11: note: 'OpaquePointer' declares conformance to protocol 'Sendable' here
1 | @available(*, unavailable)
2 | extension OpaquePointer : Sendable {
  |           `- note: 'OpaquePointer' declares conformance to protocol 'Sendable' here
3 | }
/host/spi-builder-workspace/Sources/ZIPFoundation/Date+ZIP.swift:77:11: error: cannot find type 'stat' in scope
75 | }
76 |
77 | extension stat {
   |           `- error: cannot find type 'stat' in scope
78 |
79 |     var lastAccessDate: Date {
[4/21] Compiling ReadiumZIPFoundation SharedMutableValue.swift
[5/21] Compiling ReadiumZIPFoundation URL+ZIP.swift
[6/21] Compiling ReadiumZIPFoundation Archive+BackingConfiguration.swift
[7/21] Compiling ReadiumZIPFoundation Archive+Helpers.swift
[8/21] Compiling ReadiumZIPFoundation Archive+Progress.swift
[9/21] Compiling ReadiumZIPFoundation Archive.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Data+Compression.swift:184:51: error: cannot pass function of type '(UnsafeMutableRawBufferPointer) async throws -> ()' to parameter expecting synchronous function type
182 |             zipCRC32 = inputChunk.crc32(checksum: zipCRC32)
183 |             stream.avail_in = UInt32(inputChunk.count)
184 |             try inputChunk.withUnsafeMutableBytes { (rawBufferPointer) in
    |                                                   `- error: cannot pass function of type '(UnsafeMutableRawBufferPointer) async throws -> ()' to parameter expecting synchronous function type
185 |                 if let baseAddress = rawBufferPointer.baseAddress {
186 |                     let pointer = baseAddress.assumingMemoryBound(to: UInt8.self)
    :
207 |
208 |                     outputChunk.count = bufferSize - Int(stream.avail_out)
209 |                     try await consumer(outputChunk)
    |                         `- note: 'async' inferred from asynchronous operation used here
210 |                 } while stream.avail_out == 0
211 |             }
/host/spi-builder-workspace/Sources/ZIPFoundation/Data+Compression.swift:229:46: error: cannot pass function of type '(UnsafeMutableRawBufferPointer) async throws -> ()' to parameter expecting synchronous function type
227 |             var chunk = try await provider(position, bufferSize)
228 |             position += Int64(chunk.count)
229 |             try chunk.withUnsafeMutableBytes { (rawBufferPointer) in
    |                                              `- error: cannot pass function of type '(UnsafeMutableRawBufferPointer) async throws -> ()' to parameter expecting synchronous function type
230 |                 if let baseAddress = rawBufferPointer.baseAddress, rawBufferPointer.count > 0 {
231 |                     let pointer = baseAddress.assumingMemoryBound(to: UInt8.self)
    :
250 |                         let remainingLength = UInt32(bufferSize) - stream.avail_out
251 |                         outputData.count = Int(remainingLength)
252 |                         try await consumer(outputData)
    |                             `- note: 'async' inferred from asynchronous operation used here
253 |                         if !skipCRC32 { unzipCRC32 = outputData.crc32(checksum: unzipCRC32) }
254 |                     } while stream.avail_out == 0
[10/21] Compiling ReadiumZIPFoundation Data+Compression.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Data+Compression.swift:184:51: error: cannot pass function of type '(UnsafeMutableRawBufferPointer) async throws -> ()' to parameter expecting synchronous function type
182 |             zipCRC32 = inputChunk.crc32(checksum: zipCRC32)
183 |             stream.avail_in = UInt32(inputChunk.count)
184 |             try inputChunk.withUnsafeMutableBytes { (rawBufferPointer) in
    |                                                   `- error: cannot pass function of type '(UnsafeMutableRawBufferPointer) async throws -> ()' to parameter expecting synchronous function type
185 |                 if let baseAddress = rawBufferPointer.baseAddress {
186 |                     let pointer = baseAddress.assumingMemoryBound(to: UInt8.self)
    :
207 |
208 |                     outputChunk.count = bufferSize - Int(stream.avail_out)
209 |                     try await consumer(outputChunk)
    |                         `- note: 'async' inferred from asynchronous operation used here
210 |                 } while stream.avail_out == 0
211 |             }
/host/spi-builder-workspace/Sources/ZIPFoundation/Data+Compression.swift:229:46: error: cannot pass function of type '(UnsafeMutableRawBufferPointer) async throws -> ()' to parameter expecting synchronous function type
227 |             var chunk = try await provider(position, bufferSize)
228 |             position += Int64(chunk.count)
229 |             try chunk.withUnsafeMutableBytes { (rawBufferPointer) in
    |                                              `- error: cannot pass function of type '(UnsafeMutableRawBufferPointer) async throws -> ()' to parameter expecting synchronous function type
230 |                 if let baseAddress = rawBufferPointer.baseAddress, rawBufferPointer.count > 0 {
231 |                     let pointer = baseAddress.assumingMemoryBound(to: UInt8.self)
    :
250 |                         let remainingLength = UInt32(bufferSize) - stream.avail_out
251 |                         outputData.count = Int(remainingLength)
252 |                         try await consumer(outputData)
    |                             `- note: 'async' inferred from asynchronous operation used here
253 |                         if !skipCRC32 { unzipCRC32 = outputData.crc32(checksum: unzipCRC32) }
254 |                     } while stream.avail_out == 0
[11/21] Compiling ReadiumZIPFoundation Data+Serialization.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Data+Serialization.swift:22:1: warning: extension declares a conformance of imported type 'OpaquePointer' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 20 | extension FILEPointer: @unchecked @retroactive Sendable {}
 21 | #else
 22 | extension FILEPointer: @unchecked Sendable {}
    | |- warning: extension declares a conformance of imported type 'OpaquePointer' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 23 | #endif
 24 |
/host/spi-builder-workspace/Sources/ZIPFoundation/Data+Serialization.swift:22:35: warning: conformance of 'OpaquePointer' to protocol 'Sendable' was already stated in the type's module 'Swift'
 20 | extension FILEPointer: @unchecked @retroactive Sendable {}
 21 | #else
 22 | extension FILEPointer: @unchecked Sendable {}
    |                                   `- warning: conformance of 'OpaquePointer' to protocol 'Sendable' was already stated in the type's module 'Swift'
 23 | #endif
 24 |
Swift.OpaquePointer:2:11: note: 'OpaquePointer' declares conformance to protocol 'Sendable' here
1 | @available(*, unavailable)
2 | extension OpaquePointer : Sendable {
  |           `- note: 'OpaquePointer' declares conformance to protocol 'Sendable' here
3 | }
[12/21] Compiling ReadiumZIPFoundation DataSource.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Data+Serialization.swift:22:1: warning: extension declares a conformance of imported type 'OpaquePointer' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 20 | extension FILEPointer: @unchecked @retroactive Sendable {}
 21 | #else
 22 | extension FILEPointer: @unchecked Sendable {}
    | |- warning: extension declares a conformance of imported type 'OpaquePointer' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
 23 | #endif
 24 |
/host/spi-builder-workspace/Sources/ZIPFoundation/Data+Serialization.swift:22:35: warning: conformance of 'OpaquePointer' to protocol 'Sendable' was already stated in the type's module 'Swift'
 20 | extension FILEPointer: @unchecked @retroactive Sendable {}
 21 | #else
 22 | extension FILEPointer: @unchecked Sendable {}
    |                                   `- warning: conformance of 'OpaquePointer' to protocol 'Sendable' was already stated in the type's module 'Swift'
 23 | #endif
 24 |
Swift.OpaquePointer:2:11: note: 'OpaquePointer' declares conformance to protocol 'Sendable' here
1 | @available(*, unavailable)
2 | extension OpaquePointer : Sendable {
  |           `- note: 'OpaquePointer' declares conformance to protocol 'Sendable' here
3 | }
[13/21] Compiling ReadiumZIPFoundation Date+ZIP.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Date+ZIP.swift:77:11: error: cannot find type 'stat' in scope
75 | }
76 |
77 | extension stat {
   |           `- error: cannot find type 'stat' in scope
78 |
79 |     var lastAccessDate: Date {
[14/21] Compiling ReadiumZIPFoundation Entry+Serialization.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Date+ZIP.swift:77:11: error: cannot find type 'stat' in scope
75 | }
76 |
77 | extension stat {
   |           `- error: cannot find type 'stat' in scope
78 |
79 |     var lastAccessDate: Date {
[15/21] Compiling ReadiumZIPFoundation Entry+ZIP64.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Entry.swift:29:25: error: binary operator '&' cannot be applied to operands of type 'mode_t' (aka 'UInt32') and 'Int32'
 27 |
 28 |         init(mode: mode_t) {
 29 |             switch mode & S_IFMT {
    |                         |- error: binary operator '&' cannot be applied to operands of type 'mode_t' (aka 'UInt32') and 'Int32'
    |                         `- note: overloads for '&' exist with these partially matching parameter lists: (Int32, Int32), (UInt32, UInt32)
 30 |             case S_IFDIR:
 31 |                 self = .directory
/host/spi-builder-workspace/Sources/ZIPFoundation/Entry.swift:159:92: error: binary operator '&' cannot be applied to operands of type 'mode_t' (aka 'UInt32') and 'Int32'
157 |         switch osType {
158 |         case .unix, .osx:
159 |             let mode = mode_t(self.centralDirectoryStructure.externalFileAttributes >> 16) & S_IFMT
    |                                                                                            |- error: binary operator '&' cannot be applied to operands of type 'mode_t' (aka 'UInt32') and 'Int32'
    |                                                                                            `- note: overloads for '&' exist with these partially matching parameter lists: (Int32, Int32), (UInt32, UInt32)
160 |             switch mode {
161 |             case S_IFREG:
[16/21] Compiling ReadiumZIPFoundation Entry.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Entry.swift:29:25: error: binary operator '&' cannot be applied to operands of type 'mode_t' (aka 'UInt32') and 'Int32'
 27 |
 28 |         init(mode: mode_t) {
 29 |             switch mode & S_IFMT {
    |                         |- error: binary operator '&' cannot be applied to operands of type 'mode_t' (aka 'UInt32') and 'Int32'
    |                         `- note: overloads for '&' exist with these partially matching parameter lists: (Int32, Int32), (UInt32, UInt32)
 30 |             case S_IFDIR:
 31 |                 self = .directory
/host/spi-builder-workspace/Sources/ZIPFoundation/Entry.swift:159:92: error: binary operator '&' cannot be applied to operands of type 'mode_t' (aka 'UInt32') and 'Int32'
157 |         switch osType {
158 |         case .unix, .osx:
159 |             let mode = mode_t(self.centralDirectoryStructure.externalFileAttributes >> 16) & S_IFMT
    |                                                                                            |- error: binary operator '&' cannot be applied to operands of type 'mode_t' (aka 'UInt32') and 'Int32'
    |                                                                                            `- note: overloads for '&' exist with these partially matching parameter lists: (Int32, Int32), (UInt32, UInt32)
160 |             switch mode {
161 |             case S_IFREG:
[17/21] Compiling ReadiumZIPFoundation FileDataSource.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/FileDataSource.swift:120:9: error: cannot find 'ftruncate' in scope
118 |
119 |     func truncate(to length: UInt64) async throws {
120 |         ftruncate(fileno(file), off_t(length))
    |         `- error: cannot find 'ftruncate' in scope
121 |         try checkNoError()
122 |     }
/host/spi-builder-workspace/Sources/ZIPFoundation/FileDataSource.swift:144:30: error: cannot find 'errno' in scope
142 |         let fsRepr = FileManager.default.fileSystemRepresentation(withPath: path)
143 |         guard let file = fopen(fsRepr, mode.rawValue) else {
144 |             throw POSIXError(errno, path: path)
    |                              `- error: cannot find 'errno' in scope
145 |         }
146 |         return file
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:196:15: error: cannot find 'lchmod' in scope
194 |         let fileSystemRepresentation = self.fileSystemRepresentation(withPath: url.path)
195 |         let modeT = posixPermissions.uint16Value
196 |         guard lchmod(fileSystemRepresentation, mode_t(modeT)) == 0 else {
    |               `- error: cannot find 'lchmod' in scope
197 |             throw POSIXError(errno, path: url.path)
198 |         }
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:197:30: error: cannot find 'errno' in scope
195 |         let modeT = posixPermissions.uint16Value
196 |         guard lchmod(fileSystemRepresentation, mode_t(modeT)) == 0 else {
197 |             throw POSIXError(errno, path: url.path)
    |                              `- error: cannot find 'errno' in scope
198 |         }
199 |     }
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:203:24: error: cannot find 'stat' in scope
201 |     func setSymlinkModificationDate(_ modificationDate: Date, ofItemAtURL url: URL) throws {
202 |         let fileSystemRepresentation = self.fileSystemRepresentation(withPath: url.path)
203 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
204 |         guard lstat(fileSystemRepresentation, &fileStat) == 0 else {
205 |             throw POSIXError(errno, path: url.path)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:204:15: error: cannot find 'lstat' in scope
202 |         let fileSystemRepresentation = self.fileSystemRepresentation(withPath: url.path)
203 |         var fileStat = stat()
204 |         guard lstat(fileSystemRepresentation, &fileStat) == 0 else {
    |               `- error: cannot find 'lstat' in scope
205 |             throw POSIXError(errno, path: url.path)
206 |         }
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:205:30: error: cannot find 'errno' in scope
203 |         var fileStat = stat()
204 |         guard lstat(fileSystemRepresentation, &fileStat) == 0 else {
205 |             throw POSIXError(errno, path: url.path)
    |                              `- error: cannot find 'errno' in scope
206 |         }
207 |
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:215:34: error: cannot find 'errno' in scope
213 |         try array.withUnsafeBufferPointer {
214 |             guard lutimes(fileSystemRepresentation, $0.baseAddress) == 0 else {
215 |                 throw POSIXError(errno, path: url.path)
    |                                  `- error: cannot find 'errno' in scope
216 |             }
217 |         }
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:244:72: error: cannot find 'S_IFMT' in scope
242 |         switch osType {
243 |         case .unix, .osx:
244 |             let permissions = mode_t(externalFileAttributes >> 16) & (~S_IFMT)
    |                                                                        `- error: cannot find 'S_IFMT' in scope
245 |             let defaultPermissions = entryType == .directory ? defaultDirectoryPermissions : defaultFilePermissions
246 |             return permissions == 0 ? defaultPermissions : UInt16(permissions)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:256:30: error: cannot find 'S_IFREG' in scope
254 |         switch type {
255 |         case .file:
256 |             typeInt = UInt16(S_IFREG)
    |                              `- error: cannot find 'S_IFREG' in scope
257 |         case .directory:
258 |             typeInt = UInt16(S_IFDIR)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:258:30: error: cannot find 'S_IFDIR' in scope
256 |             typeInt = UInt16(S_IFREG)
257 |         case .directory:
258 |             typeInt = UInt16(S_IFDIR)
    |                              `- error: cannot find 'S_IFDIR' in scope
259 |         case .symlink:
260 |             typeInt = UInt16(S_IFLNK)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:260:30: error: cannot find 'S_IFLNK' in scope
258 |             typeInt = UInt16(S_IFDIR)
259 |         case .symlink:
260 |             typeInt = UInt16(S_IFLNK)
    |                              `- error: cannot find 'S_IFLNK' in scope
261 |         }
262 |         var externalFileAttributes = UInt32(typeInt|UInt16(permissions))
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:270:24: error: cannot find 'stat' in scope
268 |         let fileManager = FileManager()
269 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: URL.path)
270 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
271 |         lstat(entryFileSystemRepresentation, &fileStat)
272 |         let permissions = fileStat.st_mode
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:271:9: error: cannot find 'lstat' in scope
269 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: URL.path)
270 |         var fileStat = stat()
271 |         lstat(entryFileSystemRepresentation, &fileStat)
    |         `- error: cannot find 'lstat' in scope
272 |         let permissions = fileStat.st_mode
273 |         return UInt16(permissions)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:282:24: error: cannot find 'stat' in scope
280 |         }
281 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
282 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
283 |         lstat(entryFileSystemRepresentation, &fileStat)
284 | #if os(macOS) || os(iOS) || os(tvOS) || os(visionOS) || os(watchOS)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:283:9: error: cannot find 'lstat' in scope
281 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
282 |         var fileStat = stat()
283 |         lstat(entryFileSystemRepresentation, &fileStat)
    |         `- error: cannot find 'lstat' in scope
284 | #if os(macOS) || os(iOS) || os(tvOS) || os(visionOS) || os(watchOS)
285 |         let modTimeSpec = fileStat.st_mtimespec
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:301:24: error: cannot find 'stat' in scope
299 |         }
300 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
301 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
302 |         lstat(entryFileSystemRepresentation, &fileStat)
303 |         guard fileStat.st_size >= 0 else {
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:302:9: error: cannot find 'lstat' in scope
300 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
301 |         var fileStat = stat()
302 |         lstat(entryFileSystemRepresentation, &fileStat)
    |         `- error: cannot find 'lstat' in scope
303 |         guard fileStat.st_size >= 0 else {
304 |             throw CocoaError(.fileReadTooLarge, userInfo: [NSFilePathErrorKey: url.path])
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:316:24: error: cannot find 'stat' in scope
314 |         }
315 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
316 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
317 |         lstat(entryFileSystemRepresentation, &fileStat)
318 |         return Entry.EntryType(mode: mode_t(fileStat.st_mode))
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:317:9: error: cannot find 'lstat' in scope
315 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
316 |         var fileStat = stat()
317 |         lstat(entryFileSystemRepresentation, &fileStat)
    |         `- error: cannot find 'lstat' in scope
318 |         return Entry.EntryType(mode: mode_t(fileStat.st_mode))
319 |     }
[18/21] Compiling ReadiumZIPFoundation FileManager+ZIP.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/FileDataSource.swift:120:9: error: cannot find 'ftruncate' in scope
118 |
119 |     func truncate(to length: UInt64) async throws {
120 |         ftruncate(fileno(file), off_t(length))
    |         `- error: cannot find 'ftruncate' in scope
121 |         try checkNoError()
122 |     }
/host/spi-builder-workspace/Sources/ZIPFoundation/FileDataSource.swift:144:30: error: cannot find 'errno' in scope
142 |         let fsRepr = FileManager.default.fileSystemRepresentation(withPath: path)
143 |         guard let file = fopen(fsRepr, mode.rawValue) else {
144 |             throw POSIXError(errno, path: path)
    |                              `- error: cannot find 'errno' in scope
145 |         }
146 |         return file
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:196:15: error: cannot find 'lchmod' in scope
194 |         let fileSystemRepresentation = self.fileSystemRepresentation(withPath: url.path)
195 |         let modeT = posixPermissions.uint16Value
196 |         guard lchmod(fileSystemRepresentation, mode_t(modeT)) == 0 else {
    |               `- error: cannot find 'lchmod' in scope
197 |             throw POSIXError(errno, path: url.path)
198 |         }
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:197:30: error: cannot find 'errno' in scope
195 |         let modeT = posixPermissions.uint16Value
196 |         guard lchmod(fileSystemRepresentation, mode_t(modeT)) == 0 else {
197 |             throw POSIXError(errno, path: url.path)
    |                              `- error: cannot find 'errno' in scope
198 |         }
199 |     }
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:203:24: error: cannot find 'stat' in scope
201 |     func setSymlinkModificationDate(_ modificationDate: Date, ofItemAtURL url: URL) throws {
202 |         let fileSystemRepresentation = self.fileSystemRepresentation(withPath: url.path)
203 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
204 |         guard lstat(fileSystemRepresentation, &fileStat) == 0 else {
205 |             throw POSIXError(errno, path: url.path)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:204:15: error: cannot find 'lstat' in scope
202 |         let fileSystemRepresentation = self.fileSystemRepresentation(withPath: url.path)
203 |         var fileStat = stat()
204 |         guard lstat(fileSystemRepresentation, &fileStat) == 0 else {
    |               `- error: cannot find 'lstat' in scope
205 |             throw POSIXError(errno, path: url.path)
206 |         }
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:205:30: error: cannot find 'errno' in scope
203 |         var fileStat = stat()
204 |         guard lstat(fileSystemRepresentation, &fileStat) == 0 else {
205 |             throw POSIXError(errno, path: url.path)
    |                              `- error: cannot find 'errno' in scope
206 |         }
207 |
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:215:34: error: cannot find 'errno' in scope
213 |         try array.withUnsafeBufferPointer {
214 |             guard lutimes(fileSystemRepresentation, $0.baseAddress) == 0 else {
215 |                 throw POSIXError(errno, path: url.path)
    |                                  `- error: cannot find 'errno' in scope
216 |             }
217 |         }
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:244:72: error: cannot find 'S_IFMT' in scope
242 |         switch osType {
243 |         case .unix, .osx:
244 |             let permissions = mode_t(externalFileAttributes >> 16) & (~S_IFMT)
    |                                                                        `- error: cannot find 'S_IFMT' in scope
245 |             let defaultPermissions = entryType == .directory ? defaultDirectoryPermissions : defaultFilePermissions
246 |             return permissions == 0 ? defaultPermissions : UInt16(permissions)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:256:30: error: cannot find 'S_IFREG' in scope
254 |         switch type {
255 |         case .file:
256 |             typeInt = UInt16(S_IFREG)
    |                              `- error: cannot find 'S_IFREG' in scope
257 |         case .directory:
258 |             typeInt = UInt16(S_IFDIR)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:258:30: error: cannot find 'S_IFDIR' in scope
256 |             typeInt = UInt16(S_IFREG)
257 |         case .directory:
258 |             typeInt = UInt16(S_IFDIR)
    |                              `- error: cannot find 'S_IFDIR' in scope
259 |         case .symlink:
260 |             typeInt = UInt16(S_IFLNK)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:260:30: error: cannot find 'S_IFLNK' in scope
258 |             typeInt = UInt16(S_IFDIR)
259 |         case .symlink:
260 |             typeInt = UInt16(S_IFLNK)
    |                              `- error: cannot find 'S_IFLNK' in scope
261 |         }
262 |         var externalFileAttributes = UInt32(typeInt|UInt16(permissions))
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:270:24: error: cannot find 'stat' in scope
268 |         let fileManager = FileManager()
269 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: URL.path)
270 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
271 |         lstat(entryFileSystemRepresentation, &fileStat)
272 |         let permissions = fileStat.st_mode
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:271:9: error: cannot find 'lstat' in scope
269 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: URL.path)
270 |         var fileStat = stat()
271 |         lstat(entryFileSystemRepresentation, &fileStat)
    |         `- error: cannot find 'lstat' in scope
272 |         let permissions = fileStat.st_mode
273 |         return UInt16(permissions)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:282:24: error: cannot find 'stat' in scope
280 |         }
281 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
282 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
283 |         lstat(entryFileSystemRepresentation, &fileStat)
284 | #if os(macOS) || os(iOS) || os(tvOS) || os(visionOS) || os(watchOS)
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:283:9: error: cannot find 'lstat' in scope
281 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
282 |         var fileStat = stat()
283 |         lstat(entryFileSystemRepresentation, &fileStat)
    |         `- error: cannot find 'lstat' in scope
284 | #if os(macOS) || os(iOS) || os(tvOS) || os(visionOS) || os(watchOS)
285 |         let modTimeSpec = fileStat.st_mtimespec
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:301:24: error: cannot find 'stat' in scope
299 |         }
300 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
301 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
302 |         lstat(entryFileSystemRepresentation, &fileStat)
303 |         guard fileStat.st_size >= 0 else {
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:302:9: error: cannot find 'lstat' in scope
300 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
301 |         var fileStat = stat()
302 |         lstat(entryFileSystemRepresentation, &fileStat)
    |         `- error: cannot find 'lstat' in scope
303 |         guard fileStat.st_size >= 0 else {
304 |             throw CocoaError(.fileReadTooLarge, userInfo: [NSFilePathErrorKey: url.path])
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:316:24: error: cannot find 'stat' in scope
314 |         }
315 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
316 |         var fileStat = stat()
    |                        `- error: cannot find 'stat' in scope
317 |         lstat(entryFileSystemRepresentation, &fileStat)
318 |         return Entry.EntryType(mode: mode_t(fileStat.st_mode))
/host/spi-builder-workspace/Sources/ZIPFoundation/FileManager+ZIP.swift:317:9: error: cannot find 'lstat' in scope
315 |         let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
316 |         var fileStat = stat()
317 |         lstat(entryFileSystemRepresentation, &fileStat)
    |         `- error: cannot find 'lstat' in scope
318 |         return Entry.EntryType(mode: mode_t(fileStat.st_mode))
319 |     }
[19/21] Compiling ReadiumZIPFoundation Archive+Reading.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Archive+Reading.swift:42:34: error: cannot find 'errno' in scope
 40 |             let destinationRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
 41 |             guard let destinationFile: FILEPointer = fopen(destinationRepresentation, "wb+") else {
 42 |                 throw POSIXError(errno, path: url.path)
    |                                  `- error: cannot find 'errno' in scope
 43 |             }
 44 |             defer { fclose(destinationFile) }
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/Archive+Writing.swift:71:34: error: cannot find 'errno' in scope
 69 |             let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: fileURL.path)
 70 |             guard let entryFile: FILEPointer = fopen(entryFileSystemRepresentation, "rb") else {
 71 |                 throw POSIXError(errno, path: url.path)
    |                                  `- error: cannot find 'errno' in scope
 72 |             }
 73 |             defer { fclose(entryFile) }
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
[20/21] Compiling ReadiumZIPFoundation Archive+Writing.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Archive+Reading.swift:42:34: error: cannot find 'errno' in scope
 40 |             let destinationRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
 41 |             guard let destinationFile: FILEPointer = fopen(destinationRepresentation, "wb+") else {
 42 |                 throw POSIXError(errno, path: url.path)
    |                                  `- error: cannot find 'errno' in scope
 43 |             }
 44 |             defer { fclose(destinationFile) }
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/Archive+Writing.swift:71:34: error: cannot find 'errno' in scope
 69 |             let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: fileURL.path)
 70 |             guard let entryFile: FILEPointer = fopen(entryFileSystemRepresentation, "rb") else {
 71 |                 throw POSIXError(errno, path: url.path)
    |                                  `- error: cannot find 'errno' in scope
 72 |             }
 73 |             defer { fclose(entryFile) }
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
[21/21] Compiling ReadiumZIPFoundation Archive+ZIP64.swift
/host/spi-builder-workspace/Sources/ZIPFoundation/Archive+Reading.swift:42:34: error: cannot find 'errno' in scope
 40 |             let destinationRepresentation = fileManager.fileSystemRepresentation(withPath: url.path)
 41 |             guard let destinationFile: FILEPointer = fopen(destinationRepresentation, "wb+") else {
 42 |                 throw POSIXError(errno, path: url.path)
    |                                  `- error: cannot find 'errno' in scope
 43 |             }
 44 |             defer { fclose(destinationFile) }
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
/host/spi-builder-workspace/Sources/ZIPFoundation/Archive+Writing.swift:71:34: error: cannot find 'errno' in scope
 69 |             let entryFileSystemRepresentation = fileManager.fileSystemRepresentation(withPath: fileURL.path)
 70 |             guard let entryFile: FILEPointer = fopen(entryFileSystemRepresentation, "rb") else {
 71 |                 throw POSIXError(errno, path: url.path)
    |                                  `- error: cannot find 'errno' in scope
 72 |             }
 73 |             defer { fclose(entryFile) }
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/errno.h:58:9: note: macro 'errno' unavailable: structure not supported
56 |  * thread.
57 |  */
58 | #define errno (*__errno())
   |         `- note: macro 'errno' unavailable: structure not supported
59 |
60 | __END_DECLS
BUILD FAILURE 6.2 android