Build Information
Failed to build DataCache, reference master (bcb54d), with Swift 6.4 for Wasm on 19 Sep 2026 01:54:24 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/huynguyencong/DataCache.git
Reference: master
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/huynguyencong/DataCache
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at bcb54d3 Update Podspec tag and package iOS version
Cloned https://github.com/huynguyencong/DataCache.git
Revision (git rev-parse @):
bcb54d313a6ab16fc3f8fa5884ec0f5f331c6ae3
SUCCESS checkout https://github.com/huynguyencong/DataCache.git at master
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.4
Building package at path: $PWD
https://github.com/huynguyencong/DataCache.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-1":/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:wasm-6.4-latest swift build --swift-sdk swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm 2>&1
wasm-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:4328fdb43c680d205c1d6761b1e3267aa38277eefdda9ddfb17b6a0f1a77857a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:wasm-6.4-latest
Building for debugging...
[Planning deferred tasks]
error: SwiftCompile normal wasm32 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/Sources/DataCache.swift:22:47: [1;31merror: [1;39mcannot find type 'TimeInterval' in scope[0;0m
[0;36m20 |[0;0m static let cacheDirectoryPrefix = "com.nch.cache."
[0;36m21 |[0;0m static let ioQueuePrefix = "com.nch.queue."
[0;36m22 |[0;0m static let defaultMaxCachePeriodInSecond: [4;39mTimeInterval[0;0m = 60 * 60 * 24 * 7 // a week
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'TimeInterval' in scope[0;0m
[0;36m23 |[0;0m
[0;36m24 |[0;0m public static let instance = DataCache(name: "default")
/host/spi-builder-workspace/Sources/DataCache.swift:28:20: [1;31merror: [1;39mcannot find 'NSCache' in scope[0;0m
[0;36m26 |[0;0m let cachePath: String
[0;36m27 |[0;0m
[0;36m28 |[0;0m let memCache = [4;39mNSCache[0;0m<AnyObject, AnyObject>()
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find 'NSCache' in scope[0;0m
[0;36m29 |[0;0m let ioQueue: DispatchQueue
[0;36m30 |[0;0m let fileManager: FileManager
/host/spi-builder-workspace/Sources/DataCache.swift:29:18: [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m27 |[0;0m
[0;36m28 |[0;0m let memCache = NSCache<AnyObject, AnyObject>()
[0;36m29 |[0;0m let ioQueue: [4;39mDispatchQueue[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'DispatchQueue' in scope[0;0m
[0;36m30 |[0;0m let fileManager: FileManager
[0;36m31 |[0;0m
/host/spi-builder-workspace/Sources/DataCache.swift:30:22: [1;31merror: [1;39mcannot find type 'FileManager' in scope[0;0m
[0;36m28 |[0;0m let memCache = NSCache<AnyObject, AnyObject>()
[0;36m29 |[0;0m let ioQueue: DispatchQueue
[0;36m30 |[0;0m let fileManager: [4;39mFileManager[0;0m
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'FileManager' in scope[0;0m
[0;36m31 |[0;0m
[0;36m32 |[0;0m /// Name of cache
/host/spi-builder-workspace/Sources/DataCache.swift:69:29: [1;31merror: [1;39mcannot find type 'Data' in scope[0;0m
[0;36m67 |[0;0m
[0;36m68 |[0;0m /// Write data for key. This is an async operation.
[0;36m69 |[0;0m public func write(data: [4;39mData[0;0m, forKey key: String) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'Data' in scope[0;0m
[0;36m70 |[0;0m memCache.setObject(data as AnyObject, forKey: key as AnyObject)
[0;36m71 |[0;0m writeDataToDisk(data: data, key: key)
/host/spi-builder-workspace/Sources/DataCache.swift:74:40: [1;31merror: [1;39mcannot find type 'Data' in scope[0;0m
[0;36m72 |[0;0m }
[0;36m73 |[0;0m
[0;36m74 |[0;0m private func writeDataToDisk(data: [4;39mData[0;0m, key: String) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'Data' in scope[0;0m
[0;36m75 |[0;0m ioQueue.async {
[0;36m76 |[0;0m if self.fileManager.fileExists(atPath: self.cachePath) == false {
/host/spi-builder-workspace/Sources/DataCache.swift:89:48: [1;31merror: [1;39mcannot find type 'Data' in scope[0;0m
[0;36m87 |[0;0m
[0;36m88 |[0;0m /// Read data for key
[0;36m89 |[0;0m public func readData(forKey key:String) -> [4;39mData[0;0m? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'Data' in scope[0;0m
[0;36m90 |[0;0m var data = memCache.object(forKey: key as AnyObject) as? Data
[0;36m91 |[0;0m
/host/spi-builder-workspace/Sources/DataCache.swift:103:57: [1;31merror: [1;39mcannot find type 'Data' in scope[0;0m
[0;36m101 |[0;0m
[0;36m102 |[0;0m /// Read data from disk for key
[0;36m103 |[0;0m public func readDataFromDisk(forKey key: String) -> [4;39mData[0;0m? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'Data' in scope[0;0m
[0;36m104 |[0;0m return self.fileManager.contents(atPath: cachePath(forKey: key))
[0;36m105 |[0;0m }
/host/spi-builder-workspace/Sources/DataCache.swift:124:31: [1;31merror: [1;39mcannot find type 'NSCoding' in scope[0;0m
[0;36m122 |[0;0m ///
[0;36m123 |[0;0m /// NOTE: Can't write `UIImage` with this method. Please use `writeImage(_:forKey:)` to write an image
[0;36m124 |[0;0m public func write(object: [4;39mNSCoding[0;0m, forKey key: String) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSCoding' in scope[0;0m
[0;36m125 |[0;0m let data = NSKeyedArchiver.archivedData(withRootObject: object)
[0;36m126 |[0;0m write(data: data, forKey: key)
/host/spi-builder-workspace/Sources/DataCache.swift:145:51: [1;31merror: [1;39mcannot find type 'NSObject' in scope[0;0m
[0;36m143 |[0;0m
[0;36m144 |[0;0m /// Read an object for key. This object must inherit from `NSObject` and implement NSCoding protocol. `String`, `Array`, `Dictionary` conform to this method
[0;36m145 |[0;0m public func readObject(forKey key: String) -> [4;39mNSObject[0;0m? {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSObject' in scope[0;0m
[0;36m146 |[0;0m let data = readData(forKey: key)
[0;36m147 |[0;0m
/host/spi-builder-workspace/Sources/DataCache.swift:293:6: [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m291 |[0;0m
[0;36m292 |[0;0m /// Clean expired disk cache. This is an async operation.
[0;36m293 |[0;0m @objc public func cleanExpiredDiskCache() {
[0;36m|[0;0m `- [1;31merror: [1;39mObjective-C interoperability is disabled[0;0m
[0;36m294 |[0;0m cleanExpiredDiskCache(completion: nil)
[0;36m295 |[0;0m }
/host/spi-builder-workspace/Sources/DataCache.swift:303:5: [1;33mwarning: [1;39mnon-'@objc' instance method declared in extension cannot be overridden; use 'public' instead; this will be an error in a future Swift language mode[0;0m
[0;36m301 |[0;0m - parameter completionHandler: Called after the operation completes.
[0;36m302 |[0;0m */
[0;36m303 |[0;0m open func cleanExpiredDiskCache(completion handler: (()->())? = nil) {
[0;36m|[0;0m `- [1;33mwarning: [1;39mnon-'@objc' instance method declared in extension cannot be overridden; use 'public' instead; this will be an error in a future Swift language mode[0;0m
[0;36m304 |[0;0m
[0;36m305 |[0;0m // Do things in cocurrent io queue
/host/spi-builder-workspace/Sources/DataCache.swift:367:83: [1;31merror: [1;39mcannot find type 'URL' in scope[0;0m
[0;36m365 |[0;0m
[0;36m366 |[0;0m // This method is from Kingfisher
[0;36m367 |[0;0m fileprivate func travelCachedFiles(onlyForCacheSize: Bool) -> (urlsToDelete: [[4;39mURL[0;0m], diskCacheSize: UInt, cachedFiles: [URL: URLResourceValues]) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'URL' in scope[0;0m
[0;36m368 |[0;0m
[0;36m369 |[0;0m let diskCacheURL = URL(fileURLWithPath: cachePath)
/host/spi-builder-workspace/Sources/DataCache.swift:367:124: [1;31merror: [1;39mcannot find type 'URL' in scope[0;0m
[0;36m365 |[0;0m
[0;36m366 |[0;0m // This method is from Kingfisher
[0;36m367 |[0;0m fileprivate func travelCachedFiles(onlyForCacheSize: Bool) -> (urlsToDelete: [URL], diskCacheSize: UInt, cachedFiles: [[4;39mURL[0;0m: URLResourceValues]) {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'URL' in scope[0;0m
[0;36m368 |[0;0m
[0;36m369 |[0;0m let diskCacheURL = URL(fileURLWithPath: cachePath)
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/DataCache.swift /host/spi-builder-workspace/Sources/Dictionary+Cache.swift /host/spi-builder-workspace/Sources/String+MD5.swift -target wasm32-unknown-wasip1 -disable-objc-interop -sdk /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -sysroot /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/WASI.sdk -I /host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -resource-dir /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static -use-static-resource-dir -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -resource-dir -Xcc /root/.swiftpm/swift-sdks/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm.artifactbundle/swift-6.4.x-DEVELOPMENT-SNAPSHOT-2026-09-04-a_wasm/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/clang -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-webassembly-wasm32/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/DataCache.build/Debug-webassembly-wasm32/DataCache-t.build/DerivedSources-normal/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/DataCache.build/Debug-webassembly-wasm32/DataCache-t.build/DerivedSources/wasm32 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/DataCache.build/Debug-webassembly-wasm32/DataCache-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name DataCache -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/DataCache.build/Debug-webassembly-wasm32/DataCache-t.build/Objects-normal/wasm32/DataCache_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/DataCache.build/Debug-webassembly-wasm32/DataCache-t.build/Objects-normal/wasm32/Modules/DataCache.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/DataCache.build/Debug-webassembly-wasm32/DataCache-t.build/Objects-normal/wasm32/Modules/DataCache.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/DataCache.build/Debug-webassembly-wasm32/DataCache-t.build/Objects-normal/wasm32/DataCache-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/DataCache.build/Debug-webassembly-wasm32/DataCache-t.build/Objects-normal/wasm32/DataCache-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/DataCache.build/Debug-webassembly-wasm32/DataCache-t.build/Objects-normal/wasm32/DataCache-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/DataCache.build/Debug-webassembly-wasm32/DataCache-t.build/Objects-normal/wasm32/Modules/DataCache.swiftmodule
[22 / 30] DataCache
error: Build failed
BUILD FAILURE 6.4 wasm