Build Information
Failed to build Readium, reference 4.0.0-alpha.2 (e23361), with Swift 6.3 for Android on 27 Sep 2026 00:19:16 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-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
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/readium/swift-toolkit.git
Reference: 4.0.0-alpha.2
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/swift-toolkit
* tag 4.0.0-alpha.2 -> FETCH_HEAD
HEAD is now at e23361a 4.0.0-alpha.2 (#902)
Cloned https://github.com/readium/swift-toolkit.git
Revision (git rev-parse @):
e23361a748afa66d0095b75897e834de47b249cc
SUCCESS checkout https://github.com/readium/swift-toolkit.git at 4.0.0-alpha.2
========================================
Build
========================================
Selected platform: android
Swift version: 6.3
Building package at path: $PWD
https://github.com/readium/swift-toolkit.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-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>&1
android-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:8ca9e1e6d70fd53f5b05e4f64d92569d697563f7f457a1485802bc9eb2cd1382
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.3-latest
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/readium/ZIPFoundation.git
Fetching https://github.com/readium/Fuzi.git
Fetching https://github.com/marmelroy/Zip.git
Fetching https://github.com/scinfu/SwiftSoup.git
[1/2000] Fetching zip
[461/2845] Fetching zip, fuzi
[1239/5190] Fetching zip, fuzi, swift-docc-plugin
[1541/11138] Fetching zip, fuzi, swift-docc-plugin, zipfoundation
[8344/18117] Fetching zip, fuzi, swift-docc-plugin, zipfoundation, swiftsoup
Fetched https://github.com/readium/Fuzi.git from cache (0.72s)
[11759/17272] Fetching zip, swift-docc-plugin, zipfoundation, swiftsoup
Fetched https://github.com/marmelroy/Zip.git from cache (0.73s)
[10457/15272] Fetching swift-docc-plugin, zipfoundation, swiftsoup
Fetched https://github.com/apple/swift-docc-plugin from cache (0.85s)
Fetched https://github.com/scinfu/SwiftSoup.git from cache (0.85s)
Fetched https://github.com/readium/ZIPFoundation.git from cache (0.85s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (1.73s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3831] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.56s)
Computing version for https://github.com/readium/ZIPFoundation.git
Computed https://github.com/readium/ZIPFoundation.git at 3.0.1 (0.71s)
Computing version for https://github.com/marmelroy/Zip.git
Computed https://github.com/marmelroy/Zip.git at 2.1.2 (0.16s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.18s)
Computing version for https://github.com/readium/Fuzi.git
Computed https://github.com/readium/Fuzi.git at 4.0.1 (0.15s)
Computing version for https://github.com/scinfu/SwiftSoup.git
Computed https://github.com/scinfu/SwiftSoup.git at 2.13.9 (0.13s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/marmelroy/Zip.git
Working copy of https://github.com/marmelroy/Zip.git resolved at 2.1.2
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/readium/ZIPFoundation.git
Working copy of https://github.com/readium/ZIPFoundation.git resolved at 3.0.1
Creating working copy for https://github.com/readium/Fuzi.git
Working copy of https://github.com/readium/Fuzi.git resolved at 4.0.1
Creating working copy for https://github.com/scinfu/SwiftSoup.git
Working copy of https://github.com/scinfu/SwiftSoup.git resolved at 2.13.9
warning: 'zipfoundation': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/host/spi-builder-workspace/.build/checkouts/ZIPFoundation/Sources/ZIPFoundation/Resources/PrivacyInfo.xcprivacy
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/31] Copying Info.plist
[2/31] Copying W3CAccessibilityMetadataDisplayGuide.strings
[5/31] Copying Info.plist
[7/31] Copying W3CAccessibilityMetadataDisplayGuide.strings
[8/31] Copying Info.plist
[9/31] Copying Localizable.strings
[11/31] Copying Info.plist
[13/31] Copying Localizable.strings
[14/31] Copying Assets
[15/31] Write sources
[16/31] Copying Publications
[17/31] Write sources
[21/31] Copying Assets
[22/31] Write sources
[27/31] Compiling Minizip ioapi.c
[28/31] Write swift-version-272D24FF697CF451.txt
[29/31] Compiling Minizip unzip.c
[30/31] Compiling Minizip zip.c
error: emit-module command failed with exit code 1 (use -v to see invocation)
[32/117] Emitting module ReadiumZIPFoundation
/host/spi-builder-workspace/.build/checkouts/ZIPFoundation/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 {
[33/119] Emitting module SwiftSoup
[34/126] Compiling ReadiumFuzi Element.swift
/host/spi-builder-workspace/.build/checkouts/Fuzi/Sources/Document.swift:23:8: error: no such module 'libxml2'
21 |
22 | import Foundation
23 | import libxml2
| `- error: no such module 'libxml2'
24 |
25 | /// XML document which can be searched and queried.
error: emit-module command failed with exit code 1 (use -v to see invocation)
[35/126] Emitting module ReadiumFuzi
/host/spi-builder-workspace/.build/checkouts/Fuzi/Sources/Document.swift:23:8: error: no such module 'libxml2'
21 |
22 | import Foundation
23 | import libxml2
| `- error: no such module 'libxml2'
24 |
25 | /// XML document which can be searched and queried.
[36/126] Compiling TestPublications resource_bundle_accessor.swift
[37/126] Emitting module TestPublications
[38/126] Compiling TestPublications TestPublications.swift
[39/127] Compiling ReadiumZIPFoundation SharedMutableValue.swift
[40/127] Compiling ReadiumZIPFoundation URL+ZIP.swift
[43/127] Compiling SwiftSoup StreamReader.swift
[44/127] Compiling SwiftSoup String.swift
[45/127] Compiling SwiftSoup StringBuilder.swift
[46/127] Compiling SwiftSoup StringUtil.swift
[47/127] Compiling SwiftSoup StructuralEvaluator.swift
[49/127] Compiling ReadiumFuzi Queryable.swift
/host/spi-builder-workspace/.build/checkouts/Fuzi/Sources/Document.swift:23:8: error: no such module 'libxml2'
21 |
22 | import Foundation
23 | import libxml2
| `- error: no such module 'libxml2'
24 |
25 | /// XML document which can be searched and queried.
[50/127] Compiling SwiftSoup Attribute.swift
[51/127] Compiling SwiftSoup Attributes.swift
[52/127] Compiling SwiftSoup BinarySearch.swift
[53/127] Compiling SwiftSoup BooleanAttribute.swift
[54/127] Compiling SwiftSoup ByteSlice.swift
[55/127] Compiling SwiftSoup CharacterExt.swift
[56/127] Compiling SwiftSoup CharacterReader.swift
[57/127] Compiling SwiftSoup Cleaner.swift
[58/127] Compiling ReadiumFuzi NodeSet.swift
/host/spi-builder-workspace/.build/checkouts/Fuzi/Sources/Document.swift:23:8: error: no such module 'libxml2'
21 |
22 | import Foundation
23 | import libxml2
| `- error: no such module 'libxml2'
24 |
25 | /// XML document which can be searched and queried.
[59/127] Compiling Zip ZipUtilities.swift
[60/127] Compiling ReadiumFuzi Error.swift
/host/spi-builder-workspace/.build/checkouts/Fuzi/Sources/Document.swift:23:8: error: no such module 'libxml2'
21 |
22 | import Foundation
23 | import libxml2
| `- error: no such module 'libxml2'
24 |
25 | /// XML document which can be searched and queried.
[61/127] Compiling ReadiumFuzi Document.swift
/host/spi-builder-workspace/.build/checkouts/Fuzi/Sources/Document.swift:23:8: error: no such module 'libxml2'
21 |
22 | import Foundation
23 | import libxml2
| `- error: no such module 'libxml2'
24 |
25 | /// XML document which can be searched and queried.
[62/127] Compiling ReadiumFuzi Helpers.swift
/host/spi-builder-workspace/.build/checkouts/Fuzi/Sources/Document.swift:23:8: error: no such module 'libxml2'
21 |
22 | import Foundation
23 | import libxml2
| `- error: no such module 'libxml2'
24 |
25 | /// XML document which can be searched and queried.
[63/127] Compiling ReadiumFuzi Node.swift
/host/spi-builder-workspace/.build/checkouts/Fuzi/Sources/Document.swift:23:8: error: no such module 'libxml2'
21 |
22 | import Foundation
23 | import libxml2
| `- error: no such module 'libxml2'
24 |
25 | /// XML document which can be searched and queried.
[64/127] Compiling SwiftSoup LRUCache.swift
/host/spi-builder-workspace/.build/checkouts/ZIPFoundation/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/.build/checkouts/ZIPFoundation/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
[65/127] Compiling SwiftSoup Mutex.swift
/host/spi-builder-workspace/.build/checkouts/ZIPFoundation/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/.build/checkouts/ZIPFoundation/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
/host/spi-builder-workspace/.build/checkouts/Zip/Zip/Zip.swift:209:51: error: cannot find type 'FILE' in scope
207 |
208 | var writeBytes: UInt64 = 0
209 | var filePointer: UnsafeMutablePointer<FILE>?
| `- error: cannot find type 'FILE' in scope
210 | filePointer = fopen(fullPath, "wb")
211 | while filePointer != nil {
BUILD FAILURE 6.3 android