Hi, I spent all of yesterday figuring out the new release. There are two regressions from my point of view compared to 3.1.1.
Most importantly: The program does not even start any more after installation. Another report of this problem can be found here: Cannot install HDFView.msi; is .exe version available?. Dependencies seem to be broken, but I don’t understand why as it should be self-contained and I cannot find any relevant invormation in the release notes. The exact error message I’m seeing is
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:///C:/Users/user/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/user/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/user/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\user\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
The second problem relates to the installation files: There was an MSI file available previously, which made installation easily scriptable for me. Now, there is a proprietary EXE installer. While it is still possible to obtain an MSI from this installer, the MSI itself does not support standard commandline parameters any more, namely ALLUSERS=1
seems to be ignored. This makes it impossible to install the software for more than one user at a time, which is sort of inconvenient in my case.
I’d be happy to provide more input and/or information needed to get this fixed.