Skip to content

Test: The one-executable gate watches a run for a Java runtime, and says what it does not check - #61

Open
b-re-w wants to merge 1 commit into
extendedfrom
feat/fr19-8-runtime-java-home
Open

b-re-w wants to merge 1 commit into
extendedfrom
feat/fr19-8-runtime-java-home

Conversation

@b-re-w

@b-re-w b-re-w commented Oct 18, 2026

Copy link
Copy Markdown
Member
  • check-one-executable.sh runs the executable once more, alone, and watches it: every file it touches on Linux (strace -f -e trace=file), every library it loads on macOS (DYLD_PRINT_LIBRARIES). It fails if the run looks for a Java runtime: anything under the runner's GRAALVM_HOME or JAVA_HOME, a module image, jvm.cfg, libjvm or libjava. On macOS it also fails on a library outside /usr/lib and /System.
  • A new step, "What this gate does not check, and why", says it plainly: building from source needs a JDK (Gradle, the Kotlin compiler, native-image). Needing only the platform's linker holds only where the renderer arrives prebuilt.
  • strace is added to the Linux packages. README updated.

…ays what it does not check

A native image carries its own runtime, so running it must not look for a Java one. The gate runs
hello-awtfree once more, alone, under strace on Linux (every file access) and with
DYLD_PRINT_LIBRARIES on macOS (every library loaded), and fails on anything under the runner's
JDK or GraalVM, a module image, jvm.cfg, libjvm or libjava, or on macOS a library outside the
system. A step of its own states what the gate cannot check: building from source needs a JDK;
needing only the platform's linker holds where the renderer arrives prebuilt.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant