java.lang.UnsatisfiedLinkError: org.jblas.NativeBlas.dcopy(I[DII[DII)V

Hi everybody,
I am having this issue I can’t solve. I tried installing libgfortran3 and also the steps in https://forum.step.esa.int/t/error-in-applying-ers-orbit-informations/23195/12.

The log is:
java.lang.UnsatisfiedLinkError: org.jblas.NativeBlas.dcopy(I[DII[DII)V
at org.jblas.NativeBlas.dcopy(Native Method)
at org.jblas.ComplexDoubleMatrix.real(ComplexDoubleMatrix.java:917)
at org.jlinda.core.utils.SarUtils.intensity(SarUtils.java:152)
at org.jlinda.core.utils.SarUtils.magnitude(SarUtils.java:156)
at org.jlinda.core.coregistration.utils.CoregistrationUtils.crossCorrelateFFT(CoregistrationUtils.java:219)
at org.esa.s1tbx.insar.gpf.OffsetTrackingOp.getOffsets(OffsetTrackingOp.java:877)
Caused: org.esa.snap.core.gpf.OperatorException: org.jblas.NativeBlas.dcopy(I[DII[DII)V
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:432)
at org.esa.s1tbx.insar.gpf.OffsetTrackingOp.getOffsets(OffsetTrackingOp.java:892)
at org.esa.s1tbx.insar.gpf.OffsetTrackingOp.access$000(OffsetTrackingOp.java:72)
at org.esa.s1tbx.insar.gpf.OffsetTrackingOp$1.process(OffsetTrackingOp.java:578)
at org.esa.snap.core.util.ThreadRunnable.run(ThreadRunnable.java:23)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused: org.esa.snap.core.gpf.OperatorException: org.jblas.NativeBlas.dcopy(I[DII[DII)V
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:432)
at org.esa.s1tbx.insar.gpf.OffsetTrackingOp.computeSlaveGCPs(OffsetTrackingOp.java:596)
at org.esa.s1tbx.insar.gpf.OffsetTrackingOp.computeVelocity(OffsetTrackingOp.java:518)
at org.esa.s1tbx.insar.gpf.OffsetTrackingOp.computeTileStack(OffsetTrackingOp.java:413)
Caused: org.esa.snap.core.gpf.OperatorException: org.jblas.NativeBlas.dcopy(I[DII[DII)V
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:432)
at org.esa.s1tbx.insar.gpf.OffsetTrackingOp.computeTileStack(OffsetTrackingOp.java:508)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeRect(OperatorImageTileStack.java:122)
at org.esa.snap.core.gpf.internal.OperatorImageTileStack.computeTile(OperatorImageTileStack.java:86)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(Unknown Source)
at javax.media.jai.OpImage.getTile(Unknown Source)
at javax.media.jai.PlanarImage.getData(Unknown Source)
at com.bc.ceres.glevel.MultiLevelImage.getData(MultiLevelImage.java:64)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:449)
at org.esa.snap.core.gpf.internal.OperatorContext.getSourceTile(OperatorContext.java:435)
at org.esa.snap.core.gpf.internal.OperatorImage.computeRect(OperatorImage.java:75)
[catch] at javax.media.jai.SourcelessOpImage.computeTile(Unknown Source)
at com.sun.media.jai.util.SunTileScheduler.scheduleTile(Unknown Source)
at javax.media.jai.OpImage.getTile(Unknown Source)
at com.sun.media.jai.util.RequestJob.compute(Unknown Source)
at com.sun.media.jai.util.WorkerThread.run(Unknown Source)

Please help!
Thanks

You should mention your platform and SNAP version. Someone with the same platform may have already found a solution. The problem comes from the jblas package. The gfortran version used by jblas has changed over time, so without more details we can’t be much help.

Ok, sorry. Snap 8 (last update) and ubuntu 18.4.5
I just return to snap 7 and “offset tracking” works but have a problem applying the Orbit file. I can update Snap to 8 again.
Thanks!

I fired up a VM with Mint 19, which is based on Ubuntu 18.04. Searching in
the “home” directory:

$ find .snap -name \*jblas\*.jar
~/.snap/system/modules/ext/org.jlinda.jlinda-nest/org-jblas/jblas.jar
~/.snap/system/modules/ext/org.jlinda.jlinda-core/org-jblas/jblas.jar

They are the same:

$ cmp $(find ~/.snap -name \*jblas\*.jar)
$ [no news is good news]

Extract the files to a scratch folder and look for libgfortan and libjblas:

$ mkdir tmp
$ cd tmp
$ ~/snap/jre/bin/jar -xf ~/.snap/system/modules/ext/org.jlinda.jlinda-nest/org-jblas/jblas.jar
$ ls
lib  META-INF  org
$ cd lib/static/Linux/amd64/
$ ls
libgfortran-4.so  libjblas_arch_flavor.so  libquadmath-0.so  sse3
$ ls sse3
libjblas.so

$ ldd sse3/libjblas.so
linux-vdso.so.1 (0x00007ffff744d000)
libgfortran.so.5 => /usr/lib/x86_64-linux-gnu/libgfortran.so.5 (0x00007f014ebc2000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f014e7d1000)
libquadmath.so.0 => /usr/lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f014e591000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f014e1f3000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f014dfdb000)
/lib64/ld-linux-x86-64.so.2 (0x00007f01509ce000)

I don't see a reference to `libgfortran3`.  Do you have `/usr/lib/x86_64-linux-gnu/libgfortran.so.5`?  If not, you should be able to get it from an official Ubuntu package.
1 Like