Skip to content

[BUG]: GRAALVM_HOME is not set for GraalVM early-access builds such as 26-ea+13-graal #89

Closed

Description

@linghengqian

Version
vfox-java main (bfcdbcc), vfox 1.0.13

OS
Linux

Describe the bug
Since #57, vfox install java@26.ea.13-graal installs Oracle GraalVM's early-access builds, named 26-ea+13-graal. Using one sets JAVA_HOME but not GRAALVM_HOME, which GraalVM's GA builds get (the e2e suite checks it for 25.0.2-graalce):

$ vfox install java@26.ea.13-graal
...
Install java@26-ea+13-graal success!
$ vfox use --global java@26-ea+13-graal
Now using java@26-ea+13-graal.
$ java -version
java version "26" 2026-03-17
Java(TM) SE Runtime Environment Oracle GraalVM 26-dev+13.1 (build 26+13-jvmci-b01)
Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 26-dev+13.1 (build 26+13-jvmci-b01, mixed mode, sharing)
$ echo "JAVA_HOME=$JAVA_HOME"; echo "GRAALVM_HOME=${GRAALVM_HOME-<unset>}"
JAVA_HOME=~/.vfox/sdks/java
GRAALVM_HOME=<unset>

EnvKeys reads the distribution as the second - part of the installed name, which for an early-access build is the build (ea+13):

local shortname = strings.split(mainSdkInfo.version, "-")[2]

if shortname == "graal" or shortname == "graalce" then
table.insert(envTable, {
key = "GRAALVM_HOME",
value = path,
})
end

PreInstall appends -<short name>, then -fx, to Foojay's version, so reading the last part after dropping a trailing -fx would cover these:

local finalV
if distribution_version.distribution.short_name == "open" then
finalV = jdk.java_version .. fx_suffix
else
finalV = jdk.java_version .. "-" .. distribution_version.distribution.short_name .. fx_suffix
end

Unlike #27, where GRAALVM_HOME stays set after switching away from GraalVM, here it is never set.

Found while working on #86.

Activity

  1. linghengqian commented on Oct 17, 2026

    @linghengqian
    MemberAuthor
    • I am working on the current issue.
  2. self-assigned this
    on Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions