Problems loading system or internal gdal version

snap 8.0 on linux.
I lately updated snap 8.0 to fix the problem loading the precise Orbits in the ApplyOrbitFile Operator.
Since then I face the problem that the TerrainCorrection operator is not working anymore because of loading gdal. I tried to use the internal SNAP version following the steps here:

here is the error message, when forcing snap to use the internal gdal version:

INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: GDAL 2.4.4 found on system. JNI driver will be used.
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Internal GDAL 3.0.0 set to be used by SNAP.
Native library load failed.
java.lang.UnsatisfiedLinkError: no gdaljni in java.library.path
SEVERE: org.esa.s2tbx.dataio.gdal.GDALLoader: Failed to initialize GDAL native drivers. GDAL readers and writers were disabled.java.lang.reflect.InvocationTargetException
WARNING: org.esa.snap.core.util.ServiceLoader: org.esa.snap.core.gpf.OperatorSpi: Provider org.esa.s2tbx.dataio.mosaic.S2tbxMosaicOp$Spi could not be instantiated
java.lang.NoClassDefFoundError: com/vividsolutions/jts/geom/Envelope
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
at java.lang.Class.getDeclaredFields(Class.java:1916)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.processAnnotationsRec(AnnotationOperatorDescriptorBody.java:78)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.processAnnotations(AnnotationOperatorDescriptorBody.java:68)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.(AnnotationOperatorDescriptorBody.java:34)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptor.(AnnotationOperatorDescriptor.java:20)
at org.esa.snap.core.gpf.OperatorSpi.(OperatorSpi.java:115)
at org.esa.snap.core.gpf.OperatorSpi.(OperatorSpi.java:99)
at org.esa.s2tbx.dataio.mosaic.S2tbxMosaicOp$Spi.(S2tbxMosaicOp.java:749)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at org.esa.snap.core.util.ServiceLoader.loadServices(ServiceLoader.java:40)
at org.esa.snap.core.gpf.internal.OperatorSpiRegistryImpl.loadOperatorSpis(OperatorSpiRegistryImpl.java:77)
at org.esa.snap.core.gpf.GPF.(GPF.java:105)
at org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterActivator.start(ToolAdapterActivator.java:19)
at org.esa.snap.runtime.Engine.informActivators(Engine.java:222)
at org.esa.snap.runtime.Engine.lambda$start$0(Engine.java:121)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:189)
at org.esa.snap.runtime.Engine.start(Engine.java:121)
at org.esa.snap.runtime.Engine.start(Engine.java:90)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
Caused by: java.lang.ClassNotFoundException: com.vividsolutions.jts.geom.Envelope
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 35 more
WARNING: org.esa.snap.core.util.ServiceLoader: org.esa.snap.core.gpf.OperatorSpi: Provider org.esa.s2tbx.dataio.mosaic.S2tbxMosaicOp$Spi could not be instantiated
java.lang.NoClassDefFoundError: com/vividsolutions/jts/geom/Envelope
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
at java.lang.Class.getDeclaredFields(Class.java:1916)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.processAnnotationsRec(AnnotationOperatorDescriptorBody.java:78)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.processAnnotations(AnnotationOperatorDescriptorBody.java:68)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.(AnnotationOperatorDescriptorBody.java:34)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptor.(AnnotationOperatorDescriptor.java:20)
at org.esa.snap.core.gpf.OperatorSpi.(OperatorSpi.java:115)
at org.esa.snap.core.gpf.OperatorSpi.(OperatorSpi.java:99)
at org.esa.s2tbx.dataio.mosaic.S2tbxMosaicOp$Spi.(S2tbxMosaicOp.java:749)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at org.esa.snap.core.util.ServiceLoader.loadServices(ServiceLoader.java:40)
at org.esa.snap.core.gpf.internal.OperatorSpiRegistryImpl.loadOperatorSpis(OperatorSpiRegistryImpl.java:77)
at org.esa.snap.core.gpf.GPF.(GPF.java:105)
at org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterActivator.start(ToolAdapterActivator.java:19)
at org.esa.snap.runtime.Engine.informActivators(Engine.java:222)
at org.esa.snap.runtime.Engine.lambda$start$0(Engine.java:121)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:189)
at org.esa.snap.runtime.Engine.start(Engine.java:121)
at org.esa.snap.runtime.Engine.start(Engine.java:90)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
Caused by: java.lang.ClassNotFoundException: com.vividsolutions.jts.geom.Envelope
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 35 more
WARNING: org.esa.snap.core.util.ServiceLoader: org.esa.snap.core.gpf.OperatorSpi: Provider org.esa.smos.ee2netcdf.NetcdfExportOp$Spi could not be instantiated
java.lang.NoClassDefFoundError: Lcom/vividsolutions/jts/geom/Geometry;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
at java.lang.Class.getDeclaredFields(Class.java:1916)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.processAnnotationsRec(AnnotationOperatorDescriptorBody.java:78)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.processAnnotations(AnnotationOperatorDescriptorBody.java:68)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptorBody.(AnnotationOperatorDescriptorBody.java:34)
at org.esa.snap.core.gpf.descriptor.AnnotationOperatorDescriptor.(AnnotationOperatorDescriptor.java:20)
at org.esa.snap.core.gpf.OperatorSpi.(OperatorSpi.java:115)
at org.esa.snap.core.gpf.OperatorSpi.(OperatorSpi.java:99)
at org.esa.smos.ee2netcdf.NetcdfExportOp$Spi.(NetcdfExportOp.java:124)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
at org.esa.snap.core.util.ServiceLoader.loadServices(ServiceLoader.java:40)
at org.esa.snap.core.gpf.internal.OperatorSpiRegistryImpl.loadOperatorSpis(OperatorSpiRegistryImpl.java:77)
at org.esa.snap.core.gpf.GPF.(GPF.java:105)
at org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterActivator.start(ToolAdapterActivator.java:19)
at org.esa.snap.runtime.Engine.informActivators(Engine.java:222)
at org.esa.snap.runtime.Engine.lambda$start$0(Engine.java:121)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:189)
at org.esa.snap.runtime.Engine.start(Engine.java:121)
at org.esa.snap.runtime.Engine.start(Engine.java:90)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
Caused by: java.lang.ClassNotFoundException: com.vividsolutions.jts.geom.Geometry
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 35 more
INFO: org.esa.snap.core.gpf.operators.tooladapter.ToolAdapterIO: Initializing external tool adapters
INFO: org.esa.snap.core.util.EngineVersionCheckActivator: Please check regularly for new updates for the best SNAP experience.
INFO: org.esa.s2tbx.dataio.gdal.GDALVersion: Internal GDAL 3.0.0 set to be used by SNAP.
INFO: org.hsqldb.persist.Logger: dataFileCache open start
java.lang.ArithmeticException: / by zero
at javax.media.jai.PlanarImage.XToTileX(PlanarImage.java:832)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.createLocks(OperatorImageTileStack.java:190)
at org.esa.snap.core.gpf.internal.OperatorContext.setTargetImages(OperatorContext.java:750)
at org.esa.snap.core.gpf.internal.OperatorContext.initializeOperator(OperatorContext.java:531)
at org.esa.snap.core.gpf.internal.OperatorContext.getTargetProduct(OperatorContext.java:298)
at org.esa.snap.core.gpf.Operator.getTargetProduct(Operator.java:385)
at org.esa.snap.core.gpf.graph.NodeContext.initTargetProduct(NodeContext.java:77)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:199)
at org.esa.snap.core.gpf.graph.GraphContext.initNodeContext(GraphContext.java:182)
at org.esa.snap.core.gpf.graph.GraphContext.initOutput(GraphContext.java:166)
at org.esa.snap.core.gpf.graph.GraphContext.(GraphContext.java:85)
at org.esa.snap.core.gpf.graph.GraphContext.(GraphContext.java:58)
at org.esa.snap.core.gpf.graph.GraphProcessor.executeGraph(GraphProcessor.java:118)
at org.esa.snap.core.gpf.main.DefaultCommandLineContext.executeGraph(DefaultCommandLineContext.java:86)
at org.esa.snap.core.gpf.main.CommandLineTool.executeGraph(CommandLineTool.java:547)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraph(CommandLineTool.java:391)
at org.esa.snap.core.gpf.main.CommandLineTool.runGraphOrOperator(CommandLineTool.java:287)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:188)
at org.esa.snap.core.gpf.main.CommandLineTool.run(CommandLineTool.java:121)
at org.esa.snap.core.gpf.main.GPT.run(GPT.java:54)
at org.esa.snap.core.gpf.main.GPT.main(GPT.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.esa.snap.runtime.Launcher.lambda$run$0(Launcher.java:55)
at org.esa.snap.runtime.Engine.runClientCode(Engine.java:189)
at org.esa.snap.runtime.Launcher.run(Launcher.java:51)
at org.esa.snap.runtime.Launcher.main(Launcher.java:31)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
Error: / by zero

Any help is much appreciated.

Hello,

I want to understand if gdal worked before installing the updates.

The cause of the error seems to be:

Which linux distribution are you using?

Thanks for your reply.

I just deleted the whole .snap folder and restarted it again. After that it works nicley again. So I found a easy and practical solution. thanks again.

1 Like

A year later and after updating snap 8 on Fedora 35 today, gpt gives;

Native library load failed.
java.lang.UnsatisfiedLinkError: no gdaljni in java.library.path

I renamed ~.snap and restarted the SNAP GUI, but gpt still gives the above error.

Does this mean that it worked before the update of SNAP? (on the Fedora 35 machine)

I am asking this because, according to
Fedora Linux release history
Fedora Linux 35 was released on November 2, 2021.

SNAP GDAL bundle compiled libraries are from December 2019.

Therefore, incompatibility may happen…

Yes. it was working until recently. A few weeks ago when I got caught up in red tape and snow storms. I just got back to it today and an update was available.

Fedora does get updates on a daily basis, and there have been some bigger than usual changes recently for security problems. I use zsh as my shell program.

% cd ~/.snap/auxdata/gdal
% for f in $(find . -name \*.so\*) ; do ldd $f ; done
[ no issues found loading any of the 5 libraries (including libgdalalljni.so)]

Since the error refers to gdaljni, I tried ln -s libgdlalljni.so libgdaljni.so and get:
no gdalconstjni in java.library.path. libgdalconstjni.so is in ~/.snap/auxdata/gdal-2.2.0-linux/lib/jni/.

SNAP 8 uses GDAL 3.0.0, this version 2.2.0 must be from on older SNAP version.
Try to clean old things (clean the “.snap” directory).

The first thing I did was move the ~/.snap directory and let snap rebuilt it per the advertised “solution”.

I no longer have ~/.snap/auxdata/gdal-2.2.0-linux/ outside of backups from 2019. I reformatted my system disk for btrfs when I installed Fedora 35. I do have a bunch of
gdal-reader-ui files that aren’t in my Windows install.

I uninstalled and reinstalled SNAP 8 (preserving user files) and the gdal-reader-ui files are no longer present. This might be related to the fact that I had the NASA SeaDAS 8 reader, but removed it when I updated SNAP 8 (NASA says it is only compatible with early
SNAP 8 versions).

After reinstalling SNAP 8, the error “Native library load failed” is still present?

After the reinstall the error is not present.

1 Like