GraalVM: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 25: Line 25:


|-
|-
| valign="top" colspan="2"|
| valign="top"|
<source lang="bash">
<source lang="bash">
# for oracle linux, debian, redhat
# for oracle linux, debian, redhat
Line 31: Line 31:
sudo apt install build-essential libz-dev zlib1g-dev
sudo apt install build-essential libz-dev zlib1g-dev
sudo dnf install gcc glibc-devel zlib-devel libstdc++-static
sudo dnf install gcc glibc-devel zlib-devel libstdc++-static
</source>


| valign="top"|
<source lang="bash">
# to use xcode in macos
# to use xcode in macos
xcode-select --install
xcode-select --install
# to use glibc in alpine
apk add --no-cache libc6-compat
</source>
</source>
|}
|}
Line 66: Line 71:
* [https://developer.okta.com/blog/2019/11/27/graalvm-java-binaries GraalVM Mix JavaScript and Java]
* [https://developer.okta.com/blog/2019/11/27/graalvm-java-binaries GraalVM Mix JavaScript and Java]
* [https://medium.com/graalvm/3-ways-to-polyglot-with-graalvm-fb28c1542b45 GraalVM Polyglot Programming]
* [https://medium.com/graalvm/3-ways-to-polyglot-with-graalvm-fb28c1542b45 GraalVM Polyglot Programming]
* [https://medium.com/@john_freeman/native-javac-with-graalvm-ddcc18a53edb Native javac built with GraalVM]
* [[Debian/GraalVM]]
* [[Debian/GraalVM]]
* [[Fedora/GraalVM]]
* [[Fedora/GraalVM]]
* [[Ubuntu/GraalVM]]
* [[Ubuntu/GraalVM]]
* [[MacOS/GraalVM]]


| valign="top" |
| valign="top" |
* [https://blogs.oracle.com/developers/post/building-cross-platform-native-images-with-graalvm GraalVM: Build a Cross Platform Native Images]
* [https://blog.softwaremill.com/small-fast-docker-images-using-graalvms-native-image-99c0bc92e70b Small & fast Docker images using GraalVM]
* [https://blog.softwaremill.com/small-fast-docker-images-using-graalvms-native-image-99c0bc92e70b Small & fast Docker images using GraalVM]
* [https://www.batey.info/graalvm-docker-small-images.html Tiny docker images for Java with GraalVM]
* [https://www.batey.info/graalvm-docker-small-images.html Tiny docker images for Java with GraalVM]
* [https://codetinkering.com/install-graalvm-native-image-mac/ Install GraalVM & Native-Image on a Mac]
* [https://codetinkering.com/install-graalvm-native-image-mac/ Install GraalVM & Native-Image on a Mac]
* [https://www.graalvm.org/22.0/reference-manual/js/ GraalVM: JavaScript Implementation]
* [https://www.graalvm.org/22.0/reference-manual/js/JavaScriptCompatibility/ GraalVM: JavaScript Compatibility]
* [https://zeringue.io/post/graalvm-gradle-docker/ Build Slim Java Native Container]
* [https://zeringue.io/post/graalvm-gradle-docker/ Build Slim Java Native Container]
* [https://medium.com/@john_freeman/native-javac-with-graalvm-ddcc18a53edb Native javac built with GraalVM]
* [https://www.graalvm.org/docs/getting-started/macos/ GraalVM on macOS Platforms]
* [https://www.graalvm.org/docs/getting-started/macos/ GraalVM on macOS Platforms]
* [https://github.com/graalvm/mandrel/releases Mandrel: Download]
|-
| colspan="3" |
----
|-
| valign="top" |
* [https://www.graalvm.org/22.0/reference-manual/native-image/StaticImages/ GraalVM » Static & Mostly Static Images]
| valign="top" |
| valign="top" |
|-
| colspan="3" |
----
'''Getting Started:'''
----
|-
| valign="top" |
* [https://www.graalvm.org/22.0/docs/getting-started/ Get Started with » GraalVM » 22.0]
| valign="top" |
* [https://www.graalvm.org/22.0/docs/getting-started/linux/  Get Started with » GraalVM » 22.0 » Linux]
| valign="top" |
* [https://www.graalvm.org/22.0/docs/getting-started/container-images/ Get Started with » GraalVM » 22.0 » Docker]
|-
| colspan="3" |
----
|-
| valign="top" |
* [[SDKMan]]
| valign="top" |
| valign="top" |


|}
|}

Latest revision as of 21:46, 3 March 2024

export GRAALVM_HOME=/d/opt/cli/mandrel-java11-21.2.0.0-Final
export PATH=$GRAALVM_HOME/bin:$PATH

OR

export GRAALVM_HOME=/d/opt/cli/graalvm-ce-java11-21.2.0
export PATH=$GRAALVM_HOME/bin:$PATH
gu install native-image
set GRAALVM_HOME=D:\opt\cli\mandrel-java11-21.2.0.0-Final
set PATH=%GRAALVM_HOME%/bin;%PATH%

OR

set GRAALVM_HOME=D:\opt\cli\graalvm-ce-java11-21.2.0
set PATH=%GRAALVM_HOME%/bin;%PATH%
gu install native-image
# for oracle linux, debian, redhat
sudo yum install gcc glibc-devel zlib-devel
sudo apt install build-essential libz-dev zlib1g-dev
sudo dnf install gcc glibc-devel zlib-devel libstdc++-static
# to use xcode in macos
xcode-select --install
# to use glibc in alpine
apk add --no-cache libc6-compat

Build a Shared Library

To build a native image as a shared library of a Java class file, pass --shared to the native image builder. The created shared library will have the main method of the given Java class as its entrypoint method.

native-image class [libraryname] --shared

To build a native image as a shared library of a JAR file, use:

native-image -jar jarfile [libraryname] --shared

Note: if you build a shared library where you do not specify a main class, you must append the -H:Name= flag to specify the library name: -H:Name=libraryname.

References



Getting Started: