Build Information
Failed to build Vega, reference v1.1.0 (8fbbdd), with Swift 6.3 for Android on 23 Oct 2026 04:47:19 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344849-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.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/grepjava/vega.git
Reference: v1.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/grepjava/vega
* tag v1.1.0 -> FETCH_HEAD
HEAD is now at 8fbbddd Vega 1.1.0: RELEASE.md dated, the README's status and BoringSSL example on 1.1
Cloned https://github.com/grepjava/vega.git
Revision (git rev-parse @):
8fbbddd150471e949c6b825443cdda23bc9666c8
SUCCESS checkout https://github.com/grepjava/vega.git at v1.1.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.3
Building package at path: $PWD
https://github.com/grepjava/vega.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344849-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:ec170ed262d75c9e928493cd00a486dad2d4f04db1b55d884efec7db42d0226b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:android-6.3-latest
Building for debugging...
[0/450] Write sources
[1/450] Write swift-version-272D24FF697CF451.txt
[2/450] Write sources
[4/454] Compiling a_i2d_fp.cc
[5/454] Write sources
[15/454] Compiling a_octet.cc
[16/454] Write sources
[27/454] Compiling CVegaTLS cvega_verify.c
[28/454] Compiling CVegaTLS cvega_tls.c
[29/454] Compiling a_dup.cc
[30/454] Compiling a_object.cc
[31/454] Compiling CVegaTLS cvega_digest.c
[32/454] Compiling a_int.cc
[33/454] Compiling CVegaTLS cvega_crypto.c
[34/454] Compiling fiat_p256_adx_sqr.S
[35/454] Compiling CVegaCompress cvega_compress.c
[36/454] Compiling fiat_curve25519_adx_mul.S
[37/454] Compiling fiat_p256_adx_mul.S
[38/454] Compiling fiat_curve25519_adx_square.S
[39/454] Compiling a_mbstr.cc
[40/462] Compiling a_gentm.cc
[42/462] Emitting module VegaCrypto
[42/463] Compiling tls_record.cc
[43/463] Compiling tls_method.cc
[44/463] Compiling tls13_server.cc
[45/463] Compiling tls13_enc.cc
[46/463] Compiling tls13_client.cc
[47/463] Compiling tls13_both.cc
[48/463] Compiling t1_enc.cc
[49/463] Compiling ssl_session.cc
[50/463] Compiling ssl_versions.cc
[51/463] Compiling ssl_transcript.cc
[52/463] Compiling ssl_stat.cc
[53/463] Compiling ssl_x509.cc
[55/463] Compiling VegaCrypto TrustRoots.swift
[56/463] Compiling VegaCrypto AEAD.swift
[57/463] Compiling VegaCrypto CertificateKey.swift
[58/463] Compiling VegaCrypto CertificateVerifier.swift
[59/463] Compiling VegaCrypto Hash.swift
[60/463] Compiling VegaCrypto Keys.swift
[61/463] Compiling VegaWire Bytes.swift
/host/spi-builder-workspace/Sources/VegaWire/Bytes.swift:172:1: warning: '@usableFromInline' attribute has no effect on '@inlinable' global function 'writeDecimal'
170 | @inlinable
171 | @discardableResult
172 | @usableFromInline package func writeDecimal(_ value: Int, _ p: UnsafeMutablePointer<UInt8>) -> Int {
| `- warning: '@usableFromInline' attribute has no effect on '@inlinable' global function 'writeDecimal'
173 | if value == 0 { p[0] = cZero; return 1 }
174 | var tmp = (UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0),
/host/spi-builder-workspace/Sources/VegaWire/Bytes.swift:94:12: error: cannot find 'memcmp' in scope
92 | package func equalsExact(_ p: UnsafePointer<UInt8>, _ n: Int, _ literal: StaticString) -> Bool {
93 | guard n == literal.utf8CodeUnitCount else { return false }
94 | return memcmp(p, literal.utf8Start, n) == 0
| `- error: cannot find 'memcmp' in scope
95 | }
96 |
/host/spi-builder-workspace/Sources/VegaWire/Bytes.swift:126:21: error: cannot find 'memchr' in scope
124 | // memchr is vectorised in every libc worth using; hand-rolling a loop here
125 | // measurably loses on long header values.
126 | guard let hit = memchr(p, Int32(needle), n) else { return -1 }
| `- error: cannot find 'memchr' in scope
127 | return UnsafeRawPointer(hit) - UnsafeRawPointer(p)
128 | }
[62/463] Compiling VegaWire Allocation.swift
[63/463] Compiling VegaWire ByteBuffer.swift
/host/spi-builder-workspace/Sources/VegaWire/ByteBuffer.swift:49:27: error: cannot find 'malloc' in scope
47 | public init(capacity: Int) {
48 | if capacity > 0 {
49 | guard let p = malloc(capacity) else {
| `- error: cannot find 'malloc' in scope
50 | allocationFailed(capacity, "a new buffer")
51 | }
/host/spi-builder-workspace/Sources/VegaWire/ByteBuffer.swift:138:27: error: cannot find 'realloc' in scope
136 | while newCap < need { newCap &*= 2 }
137 | if let old = storage {
138 | guard let p = realloc(old, newCap) else {
| `- error: cannot find 'realloc' in scope
139 | allocationFailed(newCap, "a growing buffer")
140 | }
/host/spi-builder-workspace/Sources/VegaWire/ByteBuffer.swift:143:27: error: cannot find 'malloc' in scope
141 | storage = UnsafeMutableRawPointer(p).assumingMemoryBound(to: UInt8.self)
142 | } else {
143 | guard let p = malloc(newCap) else {
| `- error: cannot find 'malloc' in scope
144 | allocationFailed(newCap, "a growing buffer")
145 | }
/host/spi-builder-workspace/Sources/VegaWire/ByteBuffer.swift:158:13: error: cannot find 'memmove' in scope
156 | if readerIndex == 0 { return }
157 | if n > 0 {
158 | memmove(storage.unsafelyUnwrapped, storage.unsafelyUnwrapped + readerIndex, n)
| `- error: cannot find 'memmove' in scope
159 | }
160 | readerIndex = 0
/host/spi-builder-workspace/Sources/VegaWire/ByteBuffer.swift:170:9: error: cannot find 'memcpy' in scope
168 | if n == 0 { return }
169 | reserve(n)
170 | memcpy(storage.unsafelyUnwrapped + writerIndex, p, n)
| `- error: cannot find 'memcpy' in scope
171 | writerIndex &+= n
172 | }
/host/spi-builder-workspace/Sources/VegaWire/ByteBuffer.swift:272:30: error: cannot find 'free' in scope
270 | @inlinable
271 | public mutating func destroy() {
272 | if let s = storage { free(s) }
| `- error: cannot find 'free' in scope
273 | storage = nil
274 | capacity = 0
error: emit-module command failed with exit code 1 (use -v to see invocation)
[64/463] Emitting module VegaWire
/host/spi-builder-workspace/Sources/VegaWire/ByteBuffer.swift:49:27: error: cannot find 'malloc' in scope
47 | public init(capacity: Int) {
48 | if capacity > 0 {
49 | guard let p = malloc(capacity) else {
| `- error: cannot find 'malloc' in scope
50 | allocationFailed(capacity, "a new buffer")
51 | }
/host/spi-builder-workspace/Sources/VegaWire/ByteBuffer.swift:158:13: error: cannot find 'memmove' in scope
156 | if readerIndex == 0 { return }
157 | if n > 0 {
158 | memmove(storage.unsafelyUnwrapped, storage.unsafelyUnwrapped + readerIndex, n)
| `- error: cannot find 'memmove' in scope
159 | }
160 | readerIndex = 0
/host/spi-builder-workspace/Sources/VegaWire/ByteBuffer.swift:170:9: error: cannot find 'memcpy' in scope
168 | if n == 0 { return }
169 | reserve(n)
170 | memcpy(storage.unsafelyUnwrapped + writerIndex, p, n)
| `- error: cannot find 'memcpy' in scope
171 | writerIndex &+= n
172 | }
/host/spi-builder-workspace/Sources/VegaWire/ByteBuffer.swift:272:30: error: cannot find 'free' in scope
270 | @inlinable
271 | public mutating func destroy() {
272 | if let s = storage { free(s) }
| `- error: cannot find 'free' in scope
273 | storage = nil
274 | capacity = 0
/host/spi-builder-workspace/Sources/VegaWire/Bytes.swift:172:1: warning: '@usableFromInline' attribute has no effect on '@inlinable' global function 'writeDecimal'
170 | @inlinable
171 | @discardableResult
172 | @usableFromInline package func writeDecimal(_ value: Int, _ p: UnsafeMutablePointer<UInt8>) -> Int {
| `- warning: '@usableFromInline' attribute has no effect on '@inlinable' global function 'writeDecimal'
173 | if value == 0 { p[0] = cZero; return 1 }
174 | var tmp = (UInt8(0), UInt8(0), UInt8(0), UInt8(0), UInt8(0),
/host/spi-builder-workspace/Sources/VegaWire/Bytes.swift:94:12: error: cannot find 'memcmp' in scope
92 | package func equalsExact(_ p: UnsafePointer<UInt8>, _ n: Int, _ literal: StaticString) -> Bool {
93 | guard n == literal.utf8CodeUnitCount else { return false }
94 | return memcmp(p, literal.utf8Start, n) == 0
| `- error: cannot find 'memcmp' in scope
95 | }
96 |
/host/spi-builder-workspace/Sources/VegaWire/Bytes.swift:126:21: error: cannot find 'memchr' in scope
124 | // memchr is vectorised in every libc worth using; hand-rolling a loop here
125 | // measurably loses on long header values.
126 | guard let hit = memchr(p, Int32(needle), n) else { return -1 }
| `- error: cannot find 'memchr' in scope
127 | return UnsafeRawPointer(hit) - UnsafeRawPointer(p)
128 | }
[64/463] Compiling ssl_file.cc
[64/463] Compiling ssl_cipher.cc
[64/463] Compiling ssl_credential.cc
[64/463] Compiling ssl_privkey.cc
[65/463] Compiling VegaCrypto CryptoError.swift
[65/463] Compiling ssl_lib.cc
[65/463] Compiling ssl_key_share.cc
BUILD FAILURE 6.3 android