|
This version is still in development and is not considered stable yet. For the latest stable version, please use ol.vips 0.1.0! |
GraalVM Native Image
ol.vips supports Oracle GraalVM Native Image 25 or newer.
Build requirements
-
Include the native companion jar for the target platform.
-
Follow the babashka.ffi Native Image requirements, including libffi support.
ol.vipsneeds libffi for C functions with variable argument lists. -
In addition to those options, enable
-H:+SharedArenaSupportfor stream I/O.
The ol.vips jar includes the resource and reflection metadata needed by
Native Image. No additional metadata is required for the bundled native
libraries or for closing image handles.
Initialization and runtime
Initialize the Clojure namespaces at build time, as described in the
babashka.ffi guide. Call v/init! and other image functions only after the
executable starts, not at the top level of a namespace during compilation.
The bundled native libraries are extracted at runtime. The extraction directory
must be writable; set -Dol.vips.native.cache-root=/path to choose it.
The executable still needs the operating system’s shared libraries and, unless
linked statically, libffi.