Liking cljdoc? Tell your friends :D

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.vips needs libffi for C functions with variable argument lists.

  • In addition to those options, enable -H:+SharedArenaSupport for 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.

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close