Supported System Configurations

Liberica Native Image Kit Supported System Configurations

Operating Systems, Platforms, and Programming Languages

BellSoft, striving to satisfy the needs of the OpenJDK community, contributes to the known JDK-related open source projects and intends to support all hardware/OS configurations maintained by the designed products.

Liberica Native Image Kit (Liberica NIK) is a tool to boost JVM applications. Derived from GraalVM Community Edition with BellSoft contributions, it transforms the existing bytecode into a highly optimized native executable at build time instead of run time. The resulting file has all the necessary statistically linked native code, contains runtime library and application classes, and preserves dependencies.

This page contains information about system requirements needed for this utility as well as supported languages. Our engineering team ensures its smooth operation for every native image configuration. The packages are guaranteed to succeed under normal conditions. If you face any problems compiling Liberica NIK on the listed platforms, please report a failure to BellSoft.

Liberica NIK is built against JDK 11 and JDK 17 at the moment, with binaries for JDK 8 being under development. It is thoroughly tested with internal testing suites and supported 24/7/365.

Liberica NIK’s builds, being an augmented alternative to GraalVM Native Image™, are receiving extensive platform support and are compatible with the most widespread operating systems. The introduction of native support for Alpine Linux, which uses musl as its standard C library, provides three benefits:

  • no need for installation workarounds,
  • it will always have the same Java runtime when you deploy or develop,
  • a one-size-fits-all JDK solution to cut down on costs.

Three versions of Liberica NIK are available:

  • Full version of Liberica NIK includes LibericaFX, which is based on OpenJFX.
  • Standard version of Liberica NIK is the optimal build that supports plugins to use non-Java programming languages available for your chosen configuration.
  • Core version is best suited for Java development: it contains Liberica VM and native image (derived from GraalVM) with no support for language installables.

We are committed to providing a secure and bug-free experience to our customers with each new version of Liberica Native Image Kit. Services provided by the Java Cryptography Architecture framework and other JDK features should not be impeded by using native image in your projects. No matter which build a client uses, their application should never run into major problems on our watch; but if it does, our support team will resolve the issue at a moment’s notice. Producing quarterly releases, BellSoft delivers fixes, enhancements, and security updates in a timely and consistent matter. The dates of future Liberica NIK releases and expectations regarding their support depend on the Graal Open Source project, and on how it evolves and develops as a result of community efforts.

Visit our Downloads page to get a free Liberica NIK package. If you want to learn how to migrate from Oracle Java SE easily, calculate your savings from choosing flexible support plans, or to discover the benefits of BellSoft’s optimized Java container solutions, contact our engineers.

The following table lists platforms and operating systems supported by Liberica NIK, complete with specific OS versions and future support plans.
Operating SystemPlatformsOS VersionsLiberica NIK 22Liberica NIK 23Support Notes
Windows Server
  • x86 (64 bit)
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows Server 2008 R2
 
Windows Desktop
  • x86 (64 bit)
  • Windows 11
  • Windows 10
  • Windows 8
  • Windows 7 SP1+
 
macOS
  • x86 (64 bit), AArch64 (64 bit)
  • 11.0 Big Sur
  • 10.15 Catalina
  • 10.14 Mojave
  • 11.0 Big Sur
  • 12.0 Monterey
 
Ubuntu Linux
  • x86 (64 bit)
  • AArch64 (64 bit)
  • 15.04, 15.10
  • 16.04 (LTS), 16.10
  • 17.04, 17.10
  • 18.04 (LTS), 18.10
  • 19.04, 19.10
  • 20.04 (LTS)
 
Debian Linux
  • x86 (64 bit)
  • AArch64 (64 bit)
  • 8.x
  • 9.x
  • 10.x
 
Red Hat Enterprise Linux (RHEL)
  • x86 (64 bit)
  • AArch64 (64 bit)
  • 6.x
  • 7.x
  • 8.x
 
CentOS
  • x86 (64 bit)
  • AArch64 (64 bit)
  • 6.x
  • 7.x
  • 8.x
 
Amazon Linux
  • x86 (64 bit)
  • AArch64 (64 bit)
  • Versions 1, 2
 
Oracle Enterprise Linux (OEL)
  • x86 (64 bit)
  • 6.x
  • 7.x
  • 8.x
 
SuSE Linux Enterprise Server (SLES)
  • x86 (64 bit)
  • AArch64 (64 bit)
  • 12 SP1
  • 12 SP2
  • 12 SP3
  • 12 SP4
  • 12 SP5
  • 15
  • 15 SP1
 
OpenSUSE
  • x86 (64 bit)
  • AArch64 (64 bit)
  • Leap
  • Tumbleweed
 
Alpine Linux
  • x86 (64 bit)
  • AArch64 (64 bit)
  • 3.8+
 

Supported languages

Generic, Supported Supported Experimental Planned Not Supported
This table lists the languages supported by Liberica NIK in correspondence to the operating systems. It also conveniently shows which languages are included as an experimental feature, planned to become supported, or not supported in each Liberica NIK release.
OS FamilyPlatformsLanguagesLiberica NIK 22Liberica NIK 23Support Notes
Windows
  • x86 (64 bit)
  • Java
  • JavaScript
  • Node.js
  • LLVM (C/C++, Fortran and others)
  • Python
  • R
  • Ruby
  • WebAssembly
 
macOS
  • x86 (64 bit)
  • Java
  • JavaScript
  • Node.js
  • LLVM (C/C++, Fortran and others)
  • Python
  • R
  • Ruby
  • WebAssembly
 
Linux
  • x86 (64 bit)
  • Java
  • JavaScript
  • Node.js
  • LLVM (C/C++, Fortran and others)
  • Python
  • R
  • Ruby
  • WebAssembly
 
Linux
  • AArch64 (64 bit)
  • Java
  • JavaScript
  • Node.js
  • LLVM (C/C++, Fortran and others)
  • Python
  • R
  • Ruby
  • WebAssembly
provided for evaluation and testing use
Linux musl
  • x86 (64 bit)
  • Java
  • JavaScript
  • Node.js
  • LLVM (C/C++, Fortran and others)
  • Python
  • R
  • Ruby
  • WebAssembly
 
Linux musl
  • AArch64 (64 bit)
  • Java
  • JavaScript
  • Node.js
  • LLVM (C/C++, Fortran and others)
  • Python
  • R
  • Ruby
  • WebAssembly
provided for evaluation and testing use