Package Details: native-image-jdk11-bin 20.1.0-1

Git Clone URL: https://aur.archlinux.org/native-image-jdk11-bin.git (read-only, click to copy)
Package Base: native-image-jdk11-bin
Description: Plugin to turn GraalVM-based applications into native binary images (Java 11 version)
Upstream URL: https://github.com/oracle/graal
Licenses: custom
Submitter: lucaswerkmeister
Maintainer: lucaswerkmeister
Last Packager: lucaswerkmeister
Votes: 4
Popularity: 1.00
First Submitted: 2019-11-25 00:21
Last Updated: 2020-05-22 09:31

Latest Comments

lucaswerkmeister commented on 2020-06-07 19:55

That’s very strange, archlinux-java offers both GraalVM and OpenJDK on my system:

$ archlinux-java status
Available Java environments:
  java-11-graalvm (default)
  java-11-openjdk
  java-8-graalvm
  java-8-openjdk

mdedetrich commented on 2020-06-07 19:12

So thats interesting, I have both java-11-graalvm and jdk11-openjdk installed so I think that its jdk11-openjdk which is visible in the path. The problem is that if I use the archlinux-java tool (which is what is used to swap between different JDK's) I only get java-11-openjdk.

lucaswerkmeister commented on 2020-06-07 15:40

On my system /usr/lib/jvm/default/bin is in the PATH, and the default JVM is java-11-graalvm, so native-image ends up in the PATH. I’m not sure if there’s much more that the package can do – I can’t just symlink native-image directly into /usr/bin, for instance, because then it’s no longer possible to install the jdk8 and jdk11 packages in parallel.

mdedetrich commented on 2020-06-07 10:44

So I just tried installing this and I noticed that native-image is not on my path. Is the package meant to handle this or should I set up the PATH/symlink manually?

lucaswerkmeister commented on 2019-12-04 20:23

Indeed, thanks a lot! I’ve updated that package.

mcescher commented on 2019-12-04 10:23

Adding options=('staticlibs') to jdk11-graalvm-bin's PKGBUILD resolves the issue.

mcescher commented on 2019-12-04 10:12

I think the problem is that in jdk11-graalvm-bin files are missing, namely lib/*.a.

During installation those files are apparently removed, maybe in this step:

==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...

In order to verify this I've renamed /usr/lib/jvm/java11-graalvm and extracted the distribution archive manually into /usr/lib/jvm/java11-graalvm and retried running native-image and then it worked

lucaswerkmeister commented on 2019-11-25 00:34

Note: this package isn’t functional yet, but I didn’t have the time to make it work (and wanted to publish it together with the other parts of GraalVM 19.3.0).

Error: Building images for org.graalvm.nativeimage.Platform$LINUX_AMD64 requires static JDK libraries.
Use JDK from https://github.com/graalvm/openjdk8-jvmci-builder/releases or https://github.com/graalvm/labs-openjdk-11/releases
Missing libraries:java, nio, net, zip
Error: Use -H:+ReportExceptionStackTraces to print stacktrace of underlying exception
Error: Image build request failed with exit status 1

I’ll try to look into this soon, but if you figure out how to make it work, please let me know!