Build Information
Failed to build FastCSV, reference v1.1.1 (436401), with Swift 6.2 for Android on 4 May 2026 02:56:11 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/wombat2k/FastCSV.git
Reference: v1.1.1
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/wombat2k/FastCSV
* tag v1.1.1 -> FETCH_HEAD
HEAD is now at 4364015 Fix iOS 15 compatibility (resolves #1)
Cloned https://github.com/wombat2k/FastCSV.git
Revision (git rev-parse @):
4364015d5c0597157ca9e932e01944d452019a28
SUCCESS checkout https://github.com/wombat2k/FastCSV.git at v1.1.1
========================================
Build
========================================
Selected platform: android
Swift version: 6.2
Building package at path: $PWD
https://github.com/wombat2k/FastCSV.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:cb98f9856cb1288a0028ff0e63d4de86ca92d5e7890400e3e915f7ea3943ed55
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.2-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--11D90AFD9DD3AB2.txt
[3/22] Emitting module FastCSV
[4/24] Compiling FastCSV CSVParser.swift
[5/24] Compiling FastCSV CleanupTracker.swift
[6/24] Compiling FastCSV ByteStreamReader.swift
/host/spi-builder-workspace/Sources/FastCSV/Protocols/ByteStreamReader.swift:35:45: error: cannot find 'open' in scope
33 |
34 | init(url: URL) throws {
35 | let opened = url.path.withCString { open($0, O_RDONLY) }
| `- error: cannot find 'open' in scope
36 | guard opened >= 0 else {
37 | throw CSVError.invalidFile(message: "Could not open file at \(url.path)")
/host/spi-builder-workspace/Sources/FastCSV/Protocols/ByteStreamReader.swift:35:54: error: cannot find 'O_RDONLY' in scope
33 |
34 | init(url: URL) throws {
35 | let opened = url.path.withCString { open($0, O_RDONLY) }
| `- error: cannot find 'O_RDONLY' in scope
36 | guard opened >= 0 else {
37 | throw CSVError.invalidFile(message: "Could not open file at \(url.path)")
/host/spi-builder-workspace/Sources/FastCSV/Protocols/ByteStreamReader.swift:43:17: error: cannot find 'read' in scope
41 |
42 | func readBytes(into buffer: UnsafeMutablePointer<UInt8>, maxLength: Int) -> Int {
43 | let n = read(fd, buffer, maxLength)
| `- error: cannot find 'read' in scope
44 | return n > 0 ? n : 0
45 | }
/host/spi-builder-workspace/Sources/FastCSV/Protocols/ByteStreamReader.swift:49:13: error: cannot find 'close' in scope
47 | func cleanup() {
48 | guard !didClose else { return }
49 | _ = close(fd)
| `- error: cannot find 'close' in scope
50 | didClose = true
51 | }
/host/spi-builder-workspace/Sources/FastCSV/Writing/CSVWriter.swift:42:41: error: cannot find 'open' in scope
40 | /// Create a writer that writes to a file URL.
41 | public init(toURL url: URL, config: CSVWriterConfig = CSVWriterConfig()) throws {
42 | let fd = url.path.withCString { open($0, O_WRONLY | O_CREAT | O_TRUNC, 0o644) }
| `- error: cannot find 'open' in scope
43 | guard fd >= 0 else {
44 | throw CSVError.writeError(message: "Could not open file for writing at \(url.path)")
/host/spi-builder-workspace/Sources/FastCSV/Writing/CSVWriter.swift:42:50: error: cannot find 'O_WRONLY' in scope
40 | /// Create a writer that writes to a file URL.
41 | public init(toURL url: URL, config: CSVWriterConfig = CSVWriterConfig()) throws {
42 | let fd = url.path.withCString { open($0, O_WRONLY | O_CREAT | O_TRUNC, 0o644) }
| `- error: cannot find 'O_WRONLY' in scope
43 | guard fd >= 0 else {
44 | throw CSVError.writeError(message: "Could not open file for writing at \(url.path)")
/host/spi-builder-workspace/Sources/FastCSV/Writing/CSVWriter.swift:42:61: error: cannot find 'O_CREAT' in scope
40 | /// Create a writer that writes to a file URL.
41 | public init(toURL url: URL, config: CSVWriterConfig = CSVWriterConfig()) throws {
42 | let fd = url.path.withCString { open($0, O_WRONLY | O_CREAT | O_TRUNC, 0o644) }
| `- error: cannot find 'O_CREAT' in scope
43 | guard fd >= 0 else {
44 | throw CSVError.writeError(message: "Could not open file for writing at \(url.path)")
/host/spi-builder-workspace/Sources/FastCSV/Writing/CSVWriter.swift:42:71: error: cannot find 'O_TRUNC' in scope
40 | /// Create a writer that writes to a file URL.
41 | public init(toURL url: URL, config: CSVWriterConfig = CSVWriterConfig()) throws {
42 | let fd = url.path.withCString { open($0, O_WRONLY | O_CREAT | O_TRUNC, 0o644) }
| `- error: cannot find 'O_TRUNC' in scope
43 | guard fd >= 0 else {
44 | throw CSVError.writeError(message: "Could not open file for writing at \(url.path)")
[7/24] Compiling FastCSV CSVWriter.swift
/host/spi-builder-workspace/Sources/FastCSV/Protocols/ByteStreamReader.swift:35:45: error: cannot find 'open' in scope
33 |
34 | init(url: URL) throws {
35 | let opened = url.path.withCString { open($0, O_RDONLY) }
| `- error: cannot find 'open' in scope
36 | guard opened >= 0 else {
37 | throw CSVError.invalidFile(message: "Could not open file at \(url.path)")
/host/spi-builder-workspace/Sources/FastCSV/Protocols/ByteStreamReader.swift:35:54: error: cannot find 'O_RDONLY' in scope
33 |
34 | init(url: URL) throws {
35 | let opened = url.path.withCString { open($0, O_RDONLY) }
| `- error: cannot find 'O_RDONLY' in scope
36 | guard opened >= 0 else {
37 | throw CSVError.invalidFile(message: "Could not open file at \(url.path)")
/host/spi-builder-workspace/Sources/FastCSV/Protocols/ByteStreamReader.swift:43:17: error: cannot find 'read' in scope
41 |
42 | func readBytes(into buffer: UnsafeMutablePointer<UInt8>, maxLength: Int) -> Int {
43 | let n = read(fd, buffer, maxLength)
| `- error: cannot find 'read' in scope
44 | return n > 0 ? n : 0
45 | }
/host/spi-builder-workspace/Sources/FastCSV/Protocols/ByteStreamReader.swift:49:13: error: cannot find 'close' in scope
47 | func cleanup() {
48 | guard !didClose else { return }
49 | _ = close(fd)
| `- error: cannot find 'close' in scope
50 | didClose = true
51 | }
/host/spi-builder-workspace/Sources/FastCSV/Writing/CSVWriter.swift:42:41: error: cannot find 'open' in scope
40 | /// Create a writer that writes to a file URL.
41 | public init(toURL url: URL, config: CSVWriterConfig = CSVWriterConfig()) throws {
42 | let fd = url.path.withCString { open($0, O_WRONLY | O_CREAT | O_TRUNC, 0o644) }
| `- error: cannot find 'open' in scope
43 | guard fd >= 0 else {
44 | throw CSVError.writeError(message: "Could not open file for writing at \(url.path)")
/host/spi-builder-workspace/Sources/FastCSV/Writing/CSVWriter.swift:42:50: error: cannot find 'O_WRONLY' in scope
40 | /// Create a writer that writes to a file URL.
41 | public init(toURL url: URL, config: CSVWriterConfig = CSVWriterConfig()) throws {
42 | let fd = url.path.withCString { open($0, O_WRONLY | O_CREAT | O_TRUNC, 0o644) }
| `- error: cannot find 'O_WRONLY' in scope
43 | guard fd >= 0 else {
44 | throw CSVError.writeError(message: "Could not open file for writing at \(url.path)")
/host/spi-builder-workspace/Sources/FastCSV/Writing/CSVWriter.swift:42:61: error: cannot find 'O_CREAT' in scope
40 | /// Create a writer that writes to a file URL.
41 | public init(toURL url: URL, config: CSVWriterConfig = CSVWriterConfig()) throws {
42 | let fd = url.path.withCString { open($0, O_WRONLY | O_CREAT | O_TRUNC, 0o644) }
| `- error: cannot find 'O_CREAT' in scope
43 | guard fd >= 0 else {
44 | throw CSVError.writeError(message: "Could not open file for writing at \(url.path)")
/host/spi-builder-workspace/Sources/FastCSV/Writing/CSVWriter.swift:42:71: error: cannot find 'O_TRUNC' in scope
40 | /// Create a writer that writes to a file URL.
41 | public init(toURL url: URL, config: CSVWriterConfig = CSVWriterConfig()) throws {
42 | let fd = url.path.withCString { open($0, O_WRONLY | O_CREAT | O_TRUNC, 0o644) }
| `- error: cannot find 'O_TRUNC' in scope
43 | guard fd >= 0 else {
44 | throw CSVError.writeError(message: "Could not open file for writing at \(url.path)")
[8/24] Compiling FastCSV CSVError.swift
[9/24] Compiling FastCSV CSVConfig.swift
[10/24] Compiling FastCSV Delimiter.swift
[11/24] Compiling FastCSV CSVRowDecoder.swift
[12/24] Compiling FastCSV CSVRowEncoder.swift
[13/24] Compiling FastCSV FastCSV.swift
[14/24] Compiling FastCSV CSVArrayIterator.swift
[15/24] Compiling FastCSV CSVDecodableIterator.swift
[16/24] Compiling FastCSV CSVDictionaryIterator.swift
[17/24] Compiling FastCSV CSVRowIterator.swift
[18/24] Compiling FastCSV CSVArrayResult.swift
[19/24] Compiling FastCSV CSVDateStrategy.swift
[20/24] Compiling FastCSV CSVDictionaryResult.swift
[21/24] Compiling FastCSV CSVFormat.swift
[22/24] Compiling FastCSV CSVIteratorResult.swift
[23/24] Compiling FastCSV CSVValue.swift
/host/spi-builder-workspace/Sources/FastCSV/Models/CSVValue.swift:153:26: error: cannot find 'strtod' in scope
151 | let cStr = temp.baseAddress!.assumingMemoryBound(to: CChar.self)
152 | var endPtr: UnsafeMutablePointer<CChar>?
153 | let result = strtod(cStr, &endPtr)
| `- error: cannot find 'strtod' in scope
154 |
155 | guard let end = endPtr, end == cStr + bytes.count else { return nil }
/host/spi-builder-workspace/Sources/FastCSV/Models/CSVValue.swift:175:26: error: cannot find 'strtof' in scope
173 | let cStr = temp.baseAddress!.assumingMemoryBound(to: CChar.self)
174 | var endPtr: UnsafeMutablePointer<CChar>?
175 | let result = strtof(cStr, &endPtr)
| `- error: cannot find 'strtof' in scope
176 |
177 | guard let end = endPtr, end == cStr + bytes.count else { return nil }
[24/24] Compiling FastCSV ByteChunkReader.swift
/host/spi-builder-workspace/Sources/FastCSV/Models/CSVValue.swift:153:26: error: cannot find 'strtod' in scope
151 | let cStr = temp.baseAddress!.assumingMemoryBound(to: CChar.self)
152 | var endPtr: UnsafeMutablePointer<CChar>?
153 | let result = strtod(cStr, &endPtr)
| `- error: cannot find 'strtod' in scope
154 |
155 | guard let end = endPtr, end == cStr + bytes.count else { return nil }
/host/spi-builder-workspace/Sources/FastCSV/Models/CSVValue.swift:175:26: error: cannot find 'strtof' in scope
173 | let cStr = temp.baseAddress!.assumingMemoryBound(to: CChar.self)
174 | var endPtr: UnsafeMutablePointer<CChar>?
175 | let result = strtof(cStr, &endPtr)
| `- error: cannot find 'strtof' in scope
176 |
177 | guard let end = endPtr, end == cStr + bytes.count else { return nil }
BUILD FAILURE 6.2 android