Build Information
Failed to build alpaca.swift, reference v0.1.0 (e89aff), with Swift 6.2 for Android on 3 Nov 2026 06:17:57 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-53886769-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.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.4
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/torinriley/alpaca.git
Reference: v0.1.0
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/torinriley/alpaca
* tag v0.1.0 -> FETCH_HEAD
HEAD is now at e89affe Prepare 0.1.0: install via version tag, citation metadata, changelog, release notes
Cloned https://github.com/torinriley/alpaca.git
Revision (git rev-parse @):
e89affe14b1576f47856f1a1a9472f2f17a8e3bf
SUCCESS checkout https://github.com/torinriley/alpaca.git at v0.1.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.2
Building package at path: $PWD
https://github.com/torinriley/alpaca.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-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.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from saguaro1/spi-images
Digest: sha256:9e4b64e17859f153444a8085b41803f96a8252f8f76139cd5e69e2540803aa5a
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.2-latest
Building for debugging...
[0/16] Write sources
[6/16] Copying Kernels
[7/16] Write swift-version--11D90AFD9DD3AB2.txt
[9/32] Compiling AlpacaCore Sampler.swift
[10/32] Compiling AlpacaCore DType.swift
[11/33] Emitting module AlpacaCore
[12/33] Compiling AlpacaCore MemoryBudget.swift
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:51:54: error: no exact matches in call to global function 'exp'
49 | public static func silu(_ x: Tensor) throws -> Tensor {
50 | try requireF32(x, name: "silu")
51 | let v = try x.toFloatArray().map { $0 / (1 + exp(-$0)) }
| `- error: no exact matches in call to global function 'exp'
52 | return try Tensor(v, shape: x.shape)
53 | }
Foundation.exp:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func exp(_ x: CGFloat) -> CGFloat
| `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/math.h:128:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
126 | long double tanhl(long double __x);
127 |
128 | double exp(double __x);
| `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
129 | float expf(float __x);
130 | long double expl(long double __x);
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:51:59: error: cannot convert value of type 'Float' to expected argument type 'Double'
49 | public static func silu(_ x: Tensor) throws -> Tensor {
50 | try requireF32(x, name: "silu")
51 | let v = try x.toFloatArray().map { $0 / (1 + exp(-$0)) }
| `- error: cannot convert value of type 'Float' to expected argument type 'Double'
52 | return try Tensor(v, shape: x.shape)
53 | }
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:51:52: error: binary operator '+' cannot be applied to operands of type 'Float' and 'CGFloat'
49 | public static func silu(_ x: Tensor) throws -> Tensor {
50 | try requireF32(x, name: "silu")
51 | let v = try x.toFloatArray().map { $0 / (1 + exp(-$0)) }
| |- error: binary operator '+' cannot be applied to operands of type 'Float' and 'CGFloat'
| `- note: overloads for '+' exist with these partially matching parameter lists: (CGFloat, CGFloat), (Double, Double), (Float, Float)
52 | return try Tensor(v, shape: x.shape)
53 | }
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:51:47: error: binary operator '/' cannot be applied to two 'Float' operands
49 | public static func silu(_ x: Tensor) throws -> Tensor {
50 | try requireF32(x, name: "silu")
51 | let v = try x.toFloatArray().map { $0 / (1 + exp(-$0)) }
| |- error: binary operator '/' cannot be applied to two 'Float' operands
| `- note: overloads for '/' exist with these partially matching parameter lists: (CGFloat, CGFloat), (Double, Double), (Duration, Double), (Float, Float)
52 | return try Tensor(v, shape: x.shape)
53 | }
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:171:44: error: no exact matches in call to global function 'exp'
169 | for i in 0..<d { mx = max(mx, v[base + i]) }
170 | var sum: Float = 0
171 | for i in 0..<d { v[base + i] = exp(v[base + i] - mx); sum += v[base + i] }
| `- error: no exact matches in call to global function 'exp'
172 | for i in 0..<d { v[base + i] /= sum }
173 | }
Foundation.exp:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func exp(_ x: CGFloat) -> CGFloat
| `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/math.h:128:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
126 | long double tanhl(long double __x);
127 |
128 | double exp(double __x);
| `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
129 | float expf(float __x);
130 | long double expl(long double __x);
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:171:44: error: no 'exp' candidates produce the expected contextual result type 'Float'
169 | for i in 0..<d { mx = max(mx, v[base + i]) }
170 | var sum: Float = 0
171 | for i in 0..<d { v[base + i] = exp(v[base + i] - mx); sum += v[base + i] }
| `- error: no 'exp' candidates produce the expected contextual result type 'Float'
172 | for i in 0..<d { v[base + i] /= sum }
173 | }
Foundation.exp:1:13: note: 'exp' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func exp(_ x: CGFloat) -> CGFloat
| `- note: 'exp' produces 'CGFloat', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/math.h:128:8: note: 'exp' produces 'Double', not the expected contextual result type 'Float'
126 | long double tanhl(long double __x);
127 |
128 | double exp(double __x);
| `- note: 'exp' produces 'Double', not the expected contextual result type 'Float'
129 | float expf(float __x);
130 | long double expl(long double __x);
[13/33] Compiling AlpacaCore CPUOps.swift
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:51:54: error: no exact matches in call to global function 'exp'
49 | public static func silu(_ x: Tensor) throws -> Tensor {
50 | try requireF32(x, name: "silu")
51 | let v = try x.toFloatArray().map { $0 / (1 + exp(-$0)) }
| `- error: no exact matches in call to global function 'exp'
52 | return try Tensor(v, shape: x.shape)
53 | }
Foundation.exp:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func exp(_ x: CGFloat) -> CGFloat
| `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/math.h:128:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
126 | long double tanhl(long double __x);
127 |
128 | double exp(double __x);
| `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
129 | float expf(float __x);
130 | long double expl(long double __x);
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:51:59: error: cannot convert value of type 'Float' to expected argument type 'Double'
49 | public static func silu(_ x: Tensor) throws -> Tensor {
50 | try requireF32(x, name: "silu")
51 | let v = try x.toFloatArray().map { $0 / (1 + exp(-$0)) }
| `- error: cannot convert value of type 'Float' to expected argument type 'Double'
52 | return try Tensor(v, shape: x.shape)
53 | }
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:51:52: error: binary operator '+' cannot be applied to operands of type 'Float' and 'CGFloat'
49 | public static func silu(_ x: Tensor) throws -> Tensor {
50 | try requireF32(x, name: "silu")
51 | let v = try x.toFloatArray().map { $0 / (1 + exp(-$0)) }
| |- error: binary operator '+' cannot be applied to operands of type 'Float' and 'CGFloat'
| `- note: overloads for '+' exist with these partially matching parameter lists: (CGFloat, CGFloat), (Double, Double), (Float, Float)
52 | return try Tensor(v, shape: x.shape)
53 | }
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:51:47: error: binary operator '/' cannot be applied to two 'Float' operands
49 | public static func silu(_ x: Tensor) throws -> Tensor {
50 | try requireF32(x, name: "silu")
51 | let v = try x.toFloatArray().map { $0 / (1 + exp(-$0)) }
| |- error: binary operator '/' cannot be applied to two 'Float' operands
| `- note: overloads for '/' exist with these partially matching parameter lists: (CGFloat, CGFloat), (Double, Double), (Duration, Double), (Float, Float)
52 | return try Tensor(v, shape: x.shape)
53 | }
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:171:44: error: no exact matches in call to global function 'exp'
169 | for i in 0..<d { mx = max(mx, v[base + i]) }
170 | var sum: Float = 0
171 | for i in 0..<d { v[base + i] = exp(v[base + i] - mx); sum += v[base + i] }
| `- error: no exact matches in call to global function 'exp'
172 | for i in 0..<d { v[base + i] /= sum }
173 | }
Foundation.exp:1:13: note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
1 | public func exp(_ x: CGFloat) -> CGFloat
| `- note: candidate expects value of type 'CGFloat' for parameter #1 (got 'Float')
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/math.h:128:8: note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
126 | long double tanhl(long double __x);
127 |
128 | double exp(double __x);
| `- note: candidate expects value of type 'Double' for parameter #1 (got 'Float')
129 | float expf(float __x);
130 | long double expl(long double __x);
/host/spi-builder-workspace/Sources/AlpacaCore/Operations/CPUOps.swift:171:44: error: no 'exp' candidates produce the expected contextual result type 'Float'
169 | for i in 0..<d { mx = max(mx, v[base + i]) }
170 | var sum: Float = 0
171 | for i in 0..<d { v[base + i] = exp(v[base + i] - mx); sum += v[base + i] }
| `- error: no 'exp' candidates produce the expected contextual result type 'Float'
172 | for i in 0..<d { v[base + i] /= sum }
173 | }
Foundation.exp:1:13: note: 'exp' produces 'CGFloat', not the expected contextual result type 'Float'
1 | public func exp(_ x: CGFloat) -> CGFloat
| `- note: 'exp' produces 'CGFloat', not the expected contextual result type 'Float'
/root/.swiftpm/swift-sdks/swift-6.2-RELEASE-android-0.1.artifactbundle/swift-android/ndk-sysroot/usr/include/math.h:128:8: note: 'exp' produces 'Double', not the expected contextual result type 'Float'
126 | long double tanhl(long double __x);
127 |
128 | double exp(double __x);
| `- note: 'exp' produces 'Double', not the expected contextual result type 'Float'
129 | float expf(float __x);
130 | long double expl(long double __x);
[14/33] Compiling AlpacaCore LlamaCPUModel.swift
[15/33] Compiling AlpacaCore TensorStorage.swift
[16/33] Compiling AlpacaCore KVCache.swift
[17/33] Compiling AlpacaCore LlamaConfig.swift
[18/33] Compiling AlpacaCore Tensor.swift
[19/33] Compiling AlpacaCore TensorError.swift
[20/33] Compiling AlpacaCore Quantization.swift
[21/33] Compiling AlpacaCore ErrorMetrics.swift
[22/33] Compiling AlpacaTokenizers ByteLevel.swift
[23/33] Compiling AlpacaTokenizers BPETokenizer.swift
[24/33] Emitting module AlpacaTokenizers
[26/34] Compiling AlpacaCore LlamaWeights.swift
[26/34] Wrapping AST for AlpacaTokenizers for debugging
BUILD FAILURE 6.2 android