palantir / gradle-graal

A plugin for Gradle that adds tasks to download, extract and interact with GraalVM tooling.
Apache License 2.0
228 stars 27 forks source link

Plugin downloads GraalVM 19.2.0, but native-image not found #223

Open martijndwars opened 5 years ago

martijndwars commented 5 years ago

What happened?

I added this plugin (version: 0.6.0-25-g2b2309b) to a Gradle project and ran ./gradlew nativeImage. It downloaded GraalVM to ~/.gradle/caches/com.palantir.graal/19.2.0/graalvm-ce-19.2.0/ and then tried to run ~.gradle/caches/com.palantir.graal/19.2.0/graalvm-ce-19.2.0/Contents/Home/bin/native-image. However, this binary seems to be missing from the download, and I get the following error:

Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command '~/.gradle/caches/com.palantir.graal/19.2.0/graalvm-ce-19.2.0/Contents/Home/bin/native-image''
        at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:237)
        at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:214)
        at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:364)
        at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:87)
        at org.gradle.internal.operations.CurrentBuildOperationPreservingRunnable.run(CurrentBuildOperationPreservingRunnable.java:42)
        ... 3 more
Caused by: net.rubygrapefruit.platform.NativeException: Could not start '~/.gradle/caches/com.palantir.graal/19.2.0/graalvm-ce-19.2.0/Contents/Home/bin/native-image'
        at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27)
        at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36)
        at org.gradle.process.internal.ExecHandleRunner.startProcess(ExecHandleRunner.java:98)
        at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:71)
        ... 4 more
Caused by: java.io.IOException: Cannot run program "~/.gradle/caches/com.palantir.graal/19.2.0/graalvm-ce-19.2.0/Contents/Home/bin/native-image" (in directory "~/<snip>"): error=2, No such file or directory
        at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25)
        ... 7 more
Caused by: java.io.IOException: error=2, No such file or directory
        ... 8 more

What did you want to happen?

Generate a native image, do not produce an error.

quchie commented 4 years ago

Looks like graavm missed it. Try upgrading it to 19.2.1:

graal { graalVersion '19.2.1' mainClass mainClassName outputName 'hello-world' }