Running into a problem with class Chrono?

There is only one class in SSJ proper that is programmed directly in C: the Chrono class in package util. It uses JNI, the Java Native Interface.
Chrono measures the CPU time used by a program and, before jdk-1.5, there was no Java method for doing this.

It has been a constant source of headaches as it is machine-dependent. The current version of SSJ has precompiled C libraries of the Chrono class
for Windows, and also for 32-bit Intel-like processors running Linux. These libraries are in subdirectory lib of SSJ and are named ssjutil.dll and

If, while running the examples included in SSJ, you run into an error like
Exception in thread "main" java.lang.UnsatisfiedLinkError:
    cannot open shared object file: No such file or directory
        at java.lang.ClassLoader$NativeLibrary.load(Native Method)
        at java.lang.ClassLoader.loadLibrary0(
        at java.lang.ClassLoader.loadLibrary(
        at java.lang.Runtime.loadLibrary0(
        at java.lang.System.loadLibrary(
        at umontreal.iro.lecuyer.util.Chrono.getCpuTime(Unknown Source)
        at umontreal.iro.lecuyer.util.Chrono.init(Unknown Source)
        at umontreal.iro.lecuyer.util.Chrono.(Unknown Source)
then make sure that the LD_LIBRARY_PATH (for Linux/Unix) or the PATH (for Windows) environment variable includes the lib subdirectory of SSJ,
and that the (for Linux/Unix) or the ssjutil.dll (for Windows) libraries are in this subdirectory.
As a last resort, you may consider commenting out all the Chrono statements in the examples.

Another possibility, if you are using JDK-1.5, is to use the class ChronoSingleThread in package util.
It is programmed directly in Java and replaces the Chrono class. But it will not work in JDK-1.4 or earlier versions.