Variable | Package: net.jlinker | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version

## *jni-ld-path-p*

This variable is used when the jlinker native implementation is initialized.

Some versions of the Java VM require that the environment variable LD_LIBRARY_PATH (DYLD_LIBRARY_PATH on macOS) include the path(s) to the Java VM shared libraries, even though the Java VM shared library is loaded by Lisp. If the setting is required, it must be done before Lisp is started - using (setf sys:getenv) (after Lisp has started) is not sufficient. If the setting is required, but not there, the Java VM exits the application unconditionally with the message

      Error occurred during initialization of VM
      Unable to load native library: libjvm.so: cannot open shared object file:

Thus, the setting of the environment variable is outside the control of the Lisp application. If the variable `*jni-ld-path-p*` is non-`nil`, we attempt to determine if LD_LIBRARY_PATH (DYLD_LIBRARY_PATH on macOS) is set correctly, and if not, signal a continuable error.

The initial value of this variable is `t` in the linux86 port of ACL. The initial value of this variable is `nil` in all other ports.

If the value of the variable is a string, we look for a file with that name in all the directories mentioned in LD_LIBRARY_PATH (DYLD_LIBRARY_PATH on macOS). If the value of the variable is some other non-`nil` value, we look for a file named "libjvm.so", "libjvm.dll", or "libjvm.dylib", as approriate for the current operating system.

See jlinker.htm for general information on the jLinker facility.

Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version