Build Information
Failed to build swift-java-jni-core, reference 0.5.1 (b440a0), with Swift 6.3 for Wasm on 23 Apr 2026 14:43:18 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swiftlang/swift-java-jni-core.git
Reference: 0.5.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/swiftlang/swift-java-jni-core
* tag 0.5.1 -> FETCH_HEAD
HEAD is now at b440a0b Prefer unsafeBitcast on arrays, the as! is costly (#21)
Cloned https://github.com/swiftlang/swift-java-jni-core.git
Revision (git rev-parse @):
b440a0be98381550cf189c903782e817619ffa05
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/swiftlang/swift-java-jni-core.git at 0.5.1
========================================
Build
========================================
Selected platform: wasm
Swift version: 6.3
Building package at path: $PWD
https://github.com/swiftlang/swift-java-jni-core.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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:wasm-6.3-latest swift build --swift-sdk swift-6.3-RELEASE_wasm 2>&1
wasm-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:d69f4e7582c319245442d62a08b2d7c7fd5a0c0c69f5d2ef11d1530cd8d3329b
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:wasm-6.3-latest
Building for debugging...
[0/3] Write sources
[1/3] Compiling CSwiftJavaJNI dummy.c
[2/3] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/25] Emitting module SwiftJavaJNICore
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/JavaEnvironment+Refs.swift:45:21: error: cannot find 'getenv' in scope
43 | /// `SWIFT_JAVA_JNI_EXCEPTION_DESCRIBE_OOM` to `true` or `1` to enable.
44 | private let describeOOMException: Bool = {
45 | guard let value = getenv("SWIFT_JAVA_JNI_EXCEPTION_DESCRIBE_OOM") else {
| `- error: cannot find 'getenv' in scope
46 | return false
47 | }
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/LockedState.swift:45:30: warning: UnsafeMutablePointer<Void> has been replaced by UnsafeMutableRawPointer
43 | #endif
44 |
45 | typealias PlatformLock = UnsafeMutablePointer<Primitive>
| `- warning: UnsafeMutablePointer<Void> has been replaced by UnsafeMutableRawPointer
46 | var _platformLock: PlatformLock
47 |
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/ThreadLocalStorage.swift:28:13: error: var '_globalTlsValue' is not concurrency-safe because it is nonisolated global shared mutable state [#MutableGlobalVariable]
26 |
27 | #if !(canImport(Darwin) || canImport(Bionic) || canImport(Glibc) || canImport(Musl) || canImport(WinSDK))
28 | private var _globalTlsValue: UnsafeMutableRawPointer?
| |- error: var '_globalTlsValue' is not concurrency-safe because it is nonisolated global shared mutable state [#MutableGlobalVariable]
| |- note: convert '_globalTlsValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_globalTlsValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | #endif
30 |
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[5/27] Compiling SwiftJavaJNICore LockedState.swift
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/LockedState.swift:45:30: warning: UnsafeMutablePointer<Void> has been replaced by UnsafeMutableRawPointer
43 | #endif
44 |
45 | typealias PlatformLock = UnsafeMutablePointer<Primitive>
| `- warning: UnsafeMutablePointer<Void> has been replaced by UnsafeMutableRawPointer
46 | var _platformLock: PlatformLock
47 |
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/ThreadLocalStorage.swift:28:13: error: var '_globalTlsValue' is not concurrency-safe because it is nonisolated global shared mutable state [#MutableGlobalVariable]
26 |
27 | #if !(canImport(Darwin) || canImport(Bionic) || canImport(Glibc) || canImport(Musl) || canImport(WinSDK))
28 | private var _globalTlsValue: UnsafeMutableRawPointer?
| |- error: var '_globalTlsValue' is not concurrency-safe because it is nonisolated global shared mutable state [#MutableGlobalVariable]
| |- note: convert '_globalTlsValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_globalTlsValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | #endif
30 |
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[6/27] Compiling SwiftJavaJNICore ThreadLocalStorage.swift
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/LockedState.swift:45:30: warning: UnsafeMutablePointer<Void> has been replaced by UnsafeMutableRawPointer
43 | #endif
44 |
45 | typealias PlatformLock = UnsafeMutablePointer<Primitive>
| `- warning: UnsafeMutablePointer<Void> has been replaced by UnsafeMutableRawPointer
46 | var _platformLock: PlatformLock
47 |
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/ThreadLocalStorage.swift:28:13: error: var '_globalTlsValue' is not concurrency-safe because it is nonisolated global shared mutable state [#MutableGlobalVariable]
26 |
27 | #if !(canImport(Darwin) || canImport(Bionic) || canImport(Glibc) || canImport(Musl) || canImport(WinSDK))
28 | private var _globalTlsValue: UnsafeMutableRawPointer?
| |- error: var '_globalTlsValue' is not concurrency-safe because it is nonisolated global shared mutable state [#MutableGlobalVariable]
| |- note: convert '_globalTlsValue' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_globalTlsValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | #endif
30 |
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[7/27] Compiling SwiftJavaJNICore JavaType.swift
[8/27] Compiling SwiftJavaJNICore JavaValue.swift
[9/27] Compiling SwiftJavaJNICore Mangling.swift
[10/27] Compiling SwiftJavaJNICore JavaValue+Array.swift
[11/27] Compiling SwiftJavaJNICore JavaValue+Bool.swift
[12/27] Compiling SwiftJavaJNICore JavaValue+FloatingPoint.swift
[13/27] Compiling SwiftJavaJNICore JavaEnvironment+Refs.swift
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/JavaEnvironment+Refs.swift:45:21: error: cannot find 'getenv' in scope
43 | /// `SWIFT_JAVA_JNI_EXCEPTION_DESCRIBE_OOM` to `true` or `1` to enable.
44 | private let describeOOMException: Bool = {
45 | guard let value = getenv("SWIFT_JAVA_JNI_EXCEPTION_DESCRIBE_OOM") else {
| `- error: cannot find 'getenv' in scope
46 | return false
47 | }
[14/27] Compiling SwiftJavaJNICore JavaEnvironment.swift
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/JavaEnvironment+Refs.swift:45:21: error: cannot find 'getenv' in scope
43 | /// `SWIFT_JAVA_JNI_EXCEPTION_DESCRIBE_OOM` to `true` or `1` to enable.
44 | private let describeOOMException: Bool = {
45 | guard let value = getenv("SWIFT_JAVA_JNI_EXCEPTION_DESCRIBE_OOM") else {
| `- error: cannot find 'getenv' in scope
46 | return false
47 | }
[15/27] Compiling SwiftJavaJNICore JavaExceptionType.swift
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/JavaEnvironment+Refs.swift:45:21: error: cannot find 'getenv' in scope
43 | /// `SWIFT_JAVA_JNI_EXCEPTION_DESCRIBE_OOM` to `true` or `1` to enable.
44 | private let describeOOMException: Bool = {
45 | guard let value = getenv("SWIFT_JAVA_JNI_EXCEPTION_DESCRIBE_OOM") else {
| `- error: cannot find 'getenv' in scope
46 | return false
47 | }
[16/27] Compiling SwiftJavaJNICore JNIError.swift
[17/27] Compiling SwiftJavaJNICore JavaAnnotation.swift
[18/27] Compiling SwiftJavaJNICore JavaDemanglingError.swift
[19/27] Compiling SwiftJavaJNICore JavaType+JNI.swift
[20/27] Compiling SwiftJavaJNICore JavaType+JavaSource.swift
[21/27] Compiling SwiftJavaJNICore JavaType+SwiftNames.swift
[22/27] Compiling SwiftJavaJNICore MethodSignature.swift
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/JavaVirtualMachine.swift:442:22: error: cannot find 'dlsym' in scope
440 |
441 | private func symbol<T>(_ handle: DylibType, _ name: String) -> T? {
442 | guard let result = dlsym(handle, name) else {
| `- error: cannot find 'dlsym' in scope
443 | return nil
444 | }
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/JavaVirtualMachine.swift:535:15: error: cannot find 'dlopen' in scope
533 | let dylib = LoadLibraryA(libjvmPath.path)
534 | #else
535 | let dylib = dlopen(libjvmPath.path, RTLD_NOW)
| `- error: cannot find 'dlopen' in scope
536 | #endif
537 |
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/JavaVirtualMachine.swift:535:39: error: cannot find 'RTLD_NOW' in scope
533 | let dylib = LoadLibraryA(libjvmPath.path)
534 | #else
535 | let dylib = dlopen(libjvmPath.path, RTLD_NOW)
| `- error: cannot find 'RTLD_NOW' in scope
536 | #endif
537 |
[23/27] Compiling SwiftJavaJNICore SwiftJavaJNICore.swift
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/JavaVirtualMachine.swift:442:22: error: cannot find 'dlsym' in scope
440 |
441 | private func symbol<T>(_ handle: DylibType, _ name: String) -> T? {
442 | guard let result = dlsym(handle, name) else {
| `- error: cannot find 'dlsym' in scope
443 | return nil
444 | }
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/JavaVirtualMachine.swift:535:15: error: cannot find 'dlopen' in scope
533 | let dylib = LoadLibraryA(libjvmPath.path)
534 | #else
535 | let dylib = dlopen(libjvmPath.path, RTLD_NOW)
| `- error: cannot find 'dlopen' in scope
536 | #endif
537 |
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/JavaVirtualMachine.swift:535:39: error: cannot find 'RTLD_NOW' in scope
533 | let dylib = LoadLibraryA(libjvmPath.path)
534 | #else
535 | let dylib = dlopen(libjvmPath.path, RTLD_NOW)
| `- error: cannot find 'RTLD_NOW' in scope
536 | #endif
537 |
[24/27] Compiling SwiftJavaJNICore JavaVirtualMachine.swift
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/JavaVirtualMachine.swift:442:22: error: cannot find 'dlsym' in scope
440 |
441 | private func symbol<T>(_ handle: DylibType, _ name: String) -> T? {
442 | guard let result = dlsym(handle, name) else {
| `- error: cannot find 'dlsym' in scope
443 | return nil
444 | }
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/JavaVirtualMachine.swift:535:15: error: cannot find 'dlopen' in scope
533 | let dylib = LoadLibraryA(libjvmPath.path)
534 | #else
535 | let dylib = dlopen(libjvmPath.path, RTLD_NOW)
| `- error: cannot find 'dlopen' in scope
536 | #endif
537 |
/host/spi-builder-workspace/Sources/SwiftJavaJNICore/VirtualMachine/JavaVirtualMachine.swift:535:39: error: cannot find 'RTLD_NOW' in scope
533 | let dylib = LoadLibraryA(libjvmPath.path)
534 | #else
535 | let dylib = dlopen(libjvmPath.path, RTLD_NOW)
| `- error: cannot find 'RTLD_NOW' in scope
536 | #endif
537 |
[25/27] Compiling SwiftJavaJNICore JavaValue+Integers.swift
[26/27] Compiling SwiftJavaJNICore JavaValue+String.swift
[27/27] Compiling SwiftJavaJNICore UnsafeRawBufferPointer+getJNIValue.swift
BUILD FAILURE 6.3 wasm