Vtk not loading in Icy version 2.1.x

Hi ,
since the update of ICY 2.1 I can not load the vtk library in icy:
I have tried the 3 versions of java 8 advised (openJDK 64 and 32, oracle java 8), the c++ redistribtable package as recommended in the download page of icy Download - Icy – Open Source Image Processing Software (bioimageanalysis.org) but always get the same usual message

`java.lang.UnsatisfiedLinkError: C:\icy\lib\win64\vtk\vtkRenderingCoreJava.dll: Can’t find dependent libraries

Cannot load VTK library…
I have also tested the version from linux Ubuntu open jdk and got the same message (on a vm, but did not take the time to investigate further here).

Note that vtk is correctly loading from the same computer with the same java version when i use the previous release of icy 2.0.3.

Any clues? Am I the only one been cursed?

many thanks in advance!
Kind regards,

1 Like


I experience the same issue on a Windows 10 machine, using OpenJDK Runtime Environment 1.8.0_242-b08 (64 bit).

Unfortunately I don’t have a solution.


1 Like


I had this issue as well. What helped me was to assure that the bin directory of the Java Runtime environment (sth ending in jre/bin or jre\bin) is on the path - not the bin directory of the JDK. Alternatively I use a script to start Icy from the installation directory (this also works for the Java11 environment). For example on Windows:

cd /d c:\Programs\icy
\Programs\Java\jre8\bin\java.exe -jar icy.jar



Hi all,

Thanks both for report and your inputs on it !
The VTK loading issue can be sometime difficult to catch. What seems important is that when you install the JDK, you should also install the JRE (it asks for that during installation, it’s important to keep it) and get the JAVA_HOME variable properly defined (it should be done when you install he JRE again). If you don’t see the JAVA_HOME variable defined then you can add it yourself so it points to a JRE folder (note that i’m using Oracle Java here).

I made some tests and can confirm that on windows, having JAVA_HOME pointing on a JDK make VTK library loading failing:

If i modify it to point on a JRE it works:

I’m surprised because before i though i only used JDK and I could have VTK working correctly, that is kind of mystery for me as well. I don’t know if this is a difference between JDK7 / JDK8… That may come from the Icy window launcher too (we slightly modified it) but it would be surprising too…

And as @Gucki pointed, on Linux it’s important to launch Icy from its directory and having a script doing that help in getting VTK properly loaded.

Hope that helps.

– Stephane

1 Like