On 2026-02-23 15:54, Jean-Max Redonnet wrote:
Hi Drew!
For the moment I do not have enough space on my disk to install a
virtual machine running forky. Sorry.
Getting an example reproducing the problem is quite easy: Once vtk9 and
libvtk9-java are properly installed with dependencies, just grab any
java example from https://examples.vtk.org/site/Java/
Thanks Jean-Max. https://examples.vtk.org/site/Java/ is helpful.
Kitware seems to be treating java support as deprecated.
The doc link http://www.vtk.org/Wiki/VTK/Tutorials/JavaEnvironmentSetup
for setting up java for VTK is broken.
Compile it, run it and admire the crash... At least if your computer
acts exactly as mine.
Yeah, compiling it is quite the issue, before even thinking about
libucs. There are bigger problems here than libvtk9-java. java doesn't
even know where it's own libraries (libjawt.so) are,
java.lang.UnsatisfiedLinkError:
/usr/lib/x86_64-linux-gnu/java/vtk-Linux-x86_64/libvtkRenderingCoreJava.so:
libjawt.so: cannot open shared object file: No such file or directory
which doesn't bode well for getting libvtk9-java to operate painlessly.
But with some stubborness, your CylinderExample.java can be made to
display a red cylinder, fully rotatable.
$
LD_LIBRARY_PATH=/usr/lib/jvm/java-21-openjdk-amd64/lib/:/usr/lib/x86_64-linux-gnu/java/vtk-Linux-x86_64/
java -cp "/usr/share/java/vtk9.jar" CylinderExample.java
java.lang.UnsatisfiedLinkError:
/usr/lib/x86_64-linux-gnu/java/vtk-Linux-x86_64/libvtkRenderingMatplotlibJava.so:
/usr/lib/x86_64-linux-gnu/java/vtk-Linux-x86_64/../../libvtkWrappingPythonCore3.13-9.5.so.1:
undefined symbol: PyExc_ValueError
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at
java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:331)
at
java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:197)
at
java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:139)
at
java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:259)
at
java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:251)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2451)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:916)
at java.base/java.lang.System.loadLibrary(System.java:2063)
at vtk.vtkNativeLibrary.LoadLibrary(vtkNativeLibrary.java:255)
at
vtk.vtkNativeLibrary.LoadAllNativeLibraries(vtkNativeLibrary.java:192)
at CylinderExample.<clinit>(CylinderExample.java:17)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:536)
at java.base/java.lang.Class.forName(Class.java:515)
at
jdk.compiler/com.sun.tools.javac.launcher.Main.execute(Main.java:432)
at jdk.compiler/com.sun.tools.javac.launcher.Main.run(Main.java:208)
at jdk.compiler/com.sun.tools.javac.launcher.Main.main(Main.java:135)
vtkRenderingMatplotlibJava not loaded
I'm not sure what to make of the undefined PyExc_ValueError. Looks like
libvtkWrappingPythonCore3.13-9.5.so.1 needs to link to libpython3.13.so.
But it's not preventing your cylinder from displaying.
Looks like the libucs crash has been resolved.