how to install java for HDF5view app for Windows 10

Viewed 1845

I'm getting the following error when I run HDF5view, but can't find instructions on how to install Java, which the error seems to indicate is missing.

PS C:\Users\Doug\AppData\Local\HDF_Group\HDFView> .\HDFView.exe
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:///C:/Users/Doug/AppData/Local/HDF_Group/HDFView/app/mods/slf4j-nop-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/Doug/AppData/Local/HDF_Group/HDFView/app/extra/slf4j-simple-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/C:/Users/Doug/AppData/Local/HDF_Group/HDFView/app/slf4j-nop-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.helpers.NOPLoggerFactory]
java.lang.UnsatisfiedLinkError: C:\Users\Doug\AppData\Local\HDF_Group\HDFView\runtime\bin\hdf5_java.dll: Can't find dependent libraries
        at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
        at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:383)
        at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:227)
        at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:169)
        at java.base/jdk.internal.loader.NativeLibraries.findFromPaths(NativeLibraries.java:310)
        at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:280)
        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2440)
        at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:809)
        at java.base/java.lang.System.loadLibrary(System.java:1893)
        at jarhdf5@1.10.7/hdf.hdf5lib.H5.loadH5Lib(H5.java:315)
        at jarhdf5@1.10.7/hdf.hdf5lib.H5.<clinit>(H5.java:255)
        at jarhdf5@1.10.7/hdf.hdf5lib.HDF5Constants.<clinit>(HDF5Constants.java:29)
        at hdf.object.h5.H5File.<clinit>(H5File.java:115)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:377)
        at hdf.object.FileFormat.<clinit>(FileFormat.java:227)
        at hdf.view.HDFView.createToolbar(HDFView.java:1036)
        at hdf.view.HDFView.createMainWindow(HDFView.java:448)
        at hdf.view.HDFView.openMainWindow(HDFView.java:280)
        at hdf.view.HDFView$39.run(HDFView.java:2571)
        at swt/org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
        at swt/org.eclipse.swt.widgets.Display.syncExec(Display.java:4735)
        at hdf.view.HDFView.main(HDFView.java:2563)
Exception in thread "main" java.lang.UnsatisfiedLinkError: 'int hdf.hdf5lib.H5.H5dont_atexit()'
        at jarhdf5@1.10.7/hdf.hdf5lib.H5.H5dont_atexit(Native Method)
        at jarhdf5@1.10.7/hdf.hdf5lib.H5.loadH5Lib(H5.java:331)
        at jarhdf5@1.10.7/hdf.hdf5lib.H5.<clinit>(H5.java:255)
        at jarhdf5@1.10.7/hdf.hdf5lib.HDF5Constants.<clinit>(HDF5Constants.java:29)
        at hdf.object.h5.H5File.<clinit>(H5File.java:115)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:377)
        at hdf.object.FileFormat.<clinit>(FileFormat.java:227)
        at hdf.view.HDFView.createToolbar(HDFView.java:1036)
        at hdf.view.HDFView.createMainWindow(HDFView.java:448)
        at hdf.view.HDFView.openMainWindow(HDFView.java:280)
        at hdf.view.HDFView$39.run(HDFView.java:2571)
        at swt/org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
        at swt/org.eclipse.swt.widgets.Display.syncExec(Display.java:4735)
        at hdf.view.HDFView.main(HDFView.java:2563)
Failed to launch JVM
PS C:\Users\Doug\AppData\Local\HDF_Group\HDFView>
4 Answers

just had the same issue. You need to add the runtime\bin folder to your Windows path variable.

  • Download the "HDFView-3.1.2-win10_64-vs16.zip" from the HDF Group website
  • Install HDF View app with the included "HDFView-3.1.2.exe"
  • Open the Windows Start menu and type "edit system environment"
  • Select the "Path" variable either from User or System variables and click "Edit"
  • Add a new entry an enter "C:\Users\[USERNAME]\AppData\Local\HDF_Group\HDFView\runtime\bin"
  • Restart Windows, and now you can open "HDF View" from Windows Start menu

That is due to a known issue with the 3.1.2 release. It is documented at the HDFGroup support pages. They have provided a bat script that sets properly the JVM vars. Bellow I paste the code.

@ECHO OFF

setlocal enabledelayedexpansion
pushd %~dp0

rem Adjust the following variable to match your environment
set INSTALLDIR=%cd%
set PATH=%INSTALLDIR%\app;%PATH%
set JAVABIN=%INSTALLDIR%\runtime\bin

rem start "HDFView" "%JAVABIN%\javaw.exe" %JAVAOPTS% -Xmx1024M -Djava.library.path="%INSTALLDIR%\app" -Dhdfview.root="%INSTALLDIR%\app" -jar "%INSTALLDIR%\app\HDFView.jar" %*

rem Default invocation when using modules
start "HDFView" "%JAVABIN%\javaw.exe" %JAVAOPTS% -Xmx1024M -Djava.library.path="%INSTALLDIR%\app;%INSTALLDIR%\app\ext" -Dhdfview.root="%INSTALLDIR%\app" -cp "%INSTALLDIR%\app\*" hdf.view.HDFView %*

exit /b 0

You can download the original code or copy it in a hdfview.bat file on the same folder where you have installed HDFView, run it from the command line and it should work.

There is also a Linux bash script available as the same error it is produced.

I had the same issue. Make sure you have below or above java version installed

openjdk version "15.0.1" 2020-10-20
OpenJDK Runtime Environment (build 15.0.1+9-18)
OpenJDK 64-Bit Server VM (build 15.0.1+9-18, mixed mode)

If that doesn't work run the scripts from HDFgroup to resolve this issue. Scripts can be found at https://support.hdfgroup.org/ftp/HDF5/releases/HDF-JAVA/hdfview-3.1.2/hdfview_scripts/

and the official explanation for the issue can be found at HDFgroup forum https://forum.hdfgroup.org/t/hdfview-3-1-2-issues-and-regressions/7887/3

Hope this helps ;)

If the above solutions do not work, please change the installation directory from C:\Users\xxxx\AppData to C:\ProgramFiles\HDFView (create if not exists) and complete the installation. A successful installation should show the following folders in the installation directory along with the .exe:

  • app
  • runtime
Related