Error in Applying ERS orbit informations

Hi all,

I’am performing the tutorial with ERS images on S1TBX (California subsidence)
I have downloaded the ERS images and uploaded in SNAP.
But when I was applying orbit Information I was not able to finish the procedure, because there has been an error:
The message is:
A problem occurred during the target product initialisation.
Type: OperatorExcepion
Message: org.jblas.NativeBlas.dgemM(CCIIID[DII[DIID[DII)V

where am I wrong?

SNAP is running on ubuntu 20.04

this is a Linux-related error, a solution was provided here: Error of Interferogram in SNAP

i tried to do so, but the system does’nt find this pakage.
I have asked a solution to the Italian ubuntu community

well it’s a heavy problem.
currently it is impossible to run SNAP with Ubuntu 20.04 because libgfortran3 is no more available.
I have downloaded with the browser the package but after its installation the problem continues to go on because of the loss of some dependencies.
So I wiil return to 18.04 in the next week

Interesting. Debian-based distributions, which include Ubuntu, provide many different dynamically loaded libraries for the Basic Linear Algebra Subprograms (BLAS), using the “alternatives” mechanism to choose the one that will be used. With Ubuntu 20.04, the R stats package stopped working because the installation had set the BLAS alternative to a version that conflicted with the standard R installation.

The error message points to the BLAS dgemm routine for matrix multiplication.

You might try installing the Intel Math Kernel Library following the instructions at Entry for Sun, 15 Apr 2018 #18: Adding Intel MKL easily via a simple script.

thank you. I will try.
It seems that there are some problems in Focal Fossa…

there are also rumors about strong kernel modifications

If users don’t start using Focal Fossa and finding (and reporting) problems, they won’t get fixed.

After more research, I’m not sure the jblas.jar will use the Intel MKS. The documents explicitly say it uses either the netlib reference BLAS or Atlas optimized BLAS. Ubuntu 20.04 has a jblas package that uses a newer gfortran library:

fossa@gwlaptop:/mnt/c/Users/gwhite$ apt-file list jblas
jblas: /usr/lib/jni/libjblas.so
jblas: /usr/lib/jni/libjblas_arch_flavor.so
jblas: /usr/share/doc/jblas/README.md
jblas: /usr/share/doc/jblas/changelog.Debian.gz
jblas: /usr/share/doc/jblas/copyright
jblas: /usr/share/java/jblas-1.2.4-SNAPSHOT.jar
jblas: /usr/share/java/jblas.jar
fossa@gwlaptop:/mnt/c/Users/gwhite$ ldd  /usr/lib/jni/libjblas.so
        linux-vdso.so.1 (0x00007fffc0fc6000)
        liblapack.so.3 => /lib/x86_64-linux-gnu/liblapack.so.3 (0x00007f86295d0000)
        libf77blas.so.3 => /lib/x86_64-linux-gnu/libf77blas.so.3 (0x00007f86295a0000)
        libcblas.so.3 => /lib/x86_64-linux-gnu/libcblas.so.3 (0x00007f8629570000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8629370000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8629221000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f86291fe000)
        libgfortran.so.5 => /lib/x86_64-linux-gnu/libgfortran.so.5 (0x00007f8628f20000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f862b614000)
        libatlas.so.3 => /lib/x86_64-linux-gnu/libatlas.so.3 (0x00007f8628b90000)
        libquadmath.so.0 => /lib/x86_64-linux-gnu/libquadmath.so.0 (0x00007f8628b40000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f8628b20000)

I can reproduce the error on my system, which does have the Intel MKL installed. I have two Ubuntu 20.04 systems. On the one without SNAP installed, the distro jblas package
passes the self-test, but on the one with SNAP installed the test fails. I don’t think this has anything to do with SNAP, as other packages have installed different BLAS libraries. There are many reports of the org.jblas CONFIG BLAS native library not found in path. problem. I’m continuing to investigate.

jblas.jar has a simple test which(as expected) fails:

~/snap/jre/bin/java -jar ~/snap/s1tbx/modules/ext/org.jlinda.jlinda-core/org-jblas/jblas.jar
-- org.jblas INFO jblas version is 1.2.4
Simple benchmark for jblas

Running sanity benchmarks.

checking vector addition... ok
-- org.jblas CONFIG BLAS native library not found in path. Copying native library from the archive. Consider installing the library somewhere in the path (for Windows: PATH, for Linux: LD_LIBRARY_PATH).
-- org.jblas CONFIG ArchFlavor native library not found in path. Copying native library libjblas_arch_flavor from the archive. Consider installing the library somewhere in the path (for Windows: PATH, for Linux: LD_LIBRARY_PATH).
-- org.jblas CONFIG Loading libjblas_arch_flavor.so from /lib/static/Linux/amd64/, copying to libjblas_arch_flavor.so.
-- org.jblas ERROR Couldn't load copied link file: java.lang.UnsatisfiedLinkError: /tmp/jblas8826054659035303574/libjblas_arch_flavor.so: libgfortran.so.3: cannot open shared object file: No such file or directory.

On Linux 64bit, you need additional support libraries.
You need to install libgfortran3.

For example for debian or Ubuntu, type "sudo apt-get install libgfortran3"

For more information, see https://github.com/mikiobraun/jblas/wiki/Missing-Libraries
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.jblas.NativeBlas.dgemm(CCIIID[DII[DIID[DII)V
	at org.jblas.NativeBlas.dgemm(Native Method)
	at org.jblas.SimpleBlas.gemm(SimpleBlas.java:247)
	at org.jblas.DoubleMatrix.mmuli(DoubleMatrix.java:1781)
	at org.jblas.DoubleMatrix.mmul(DoubleMatrix.java:3138)
	at org.jblas.util.SanityChecks.checkMatrixMultiplication(SanityChecks.java:91)
	at org.jblas.util.SanityChecks.main(SanityChecks.java:182)
	at org.jblas.benchmark.Main.main(Main.java:114)
-- org.jblas INFO Deleting /tmp/jblas8826054659035303574/libjblas_arch_flavor.so
-- org.jblas INFO Deleting /tmp/jblas8826054659035303574

The line: -- org.jblas CONFIG BLAS native library not found in path. Copying native library from the archive. Consider installing the library somewhere in the path (for Windows: PATH, for Linux: LD_LIBRARY_PATH) indicates that jblas first looks for a suitable BLAS library already installed. If that fails it attempts to use the library from the jar archive, whch has the libgfortran dependency.

Yes… and this is the problem…

Does your distro jblas pass the self-test:

<snap_dir>/jre/bin/java -jar /usr/share/java/jblas.jar

i’m out of office today. Tomorrow afternoon I will verify
thank you

Hi, I have tried to do this, and the answer is “this file or directory does not exist”

I tried to install libgfortran3 forcing the action

sudo dpkg -i --force-depends libgfortran3_6.4.0-17ubuntu1_amd64.

but there are some unsatisfied dependencies:

  1. gcc-6-base (= 6.4.0-17ubuntu1) it is impossible to install
  2. libquadmath0 which is not to be installed

the last *libgfortran3 is compiled with Gcc-6 which is now no more supported

‘libfortran3’ from NASA’s OCSSW software “works for me”. The NASA software is distributed as git bundles, but libgfortran.so.3 was added to the git repository after the bundle was created, so you need to download and extract the bundle and then
git pull to get libgfortran.so.3:

$ cd /tmp
$ wget https://oceandata.sci.gsfc.nasa.gov/ocssw/opt-linux_64.bundle
--2020-05-22 09:10:18--  https://oceandata.sci.gsfc.nasa.gov/ocssw/opt-linux_64.bundle
Resolving oceandata.sci.gsfc.nasa.gov (oceandata.sci.gsfc.nasa.gov)... 169.154.128.84, 2001:4d0:2418:128::84
Connecting to oceandata.sci.gsfc.nasa.gov (oceandata.sci.gsfc.nasa.gov)|169.154.128.84|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 146899322 (140M) [application/octet-stream]
Saving to: ‘opt-linux_64.bundle’

opt-linux_64.bundle           100%[=================================================>] 140.09M  10.2MB/s    in 13s

2020-05-22 09:10:31 (10.7 MB/s) - ‘opt-linux_64.bundle’ saved [146899322/146899322]

$ file opt-linux_64.bundle
opt-linux_64.bundle: Git bundle
$ git clone -b v7.5 opt-linux_64.bundle
Cloning into 'opt-linux_64'...
Receiving objects: 100% (1786/1786), 140.09 MiB | 30.37 MiB/s, done.
Resolving deltas: 100% (846/846), done.
Updating files: 100% (668/668), done.
$ cd opt-linux_64/
$ git remote set-url origin https://oceandata.sci.gsfc.nasa.gov/ocssw/opt-linux_64.git
fossa@gwlaptop:/tmp/opt-linux_64$ git pull
From https://oceandata.sci.gsfc.nasa.gov/ocssw/opt-linux_64
   5b2529c..a4024af  v7.5       -> origin/v7.5
   5b2529c..a4024af  master     -> origin/master
Updating 5b2529c..a4024af
Fast-forward
 lib/libgfortran.so.3      | Bin 0 -> 988064 bytes
 liboc.so => lib/liboc.so  | Bin
 lib/libstdc++.so.6        | Bin 0 -> 989840 bytes
 {oc => lib/oc}/libcore.so | Bin
 4 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100755 lib/libgfortran.so.3
 rename liboc.so => lib/liboc.so (100%)
 create mode 100755 lib/libstdc++.so.6
 rename {oc => lib/oc}/libcore.so (100%)
$ sudo cp -p lib/libgfortran.so.3 /usr/lib
3 Likes

very thanks.
I will try to do so as soon as possible, perhaps tomorrow!

I have done what you have written.
it’s all ok!

very, very thanks

Thanks for this thread! Actually it solved another issue for me

One more solution to install libgfortran3 in Ubuntu20.04 and greater versions.

  1. First download the gcc-6-base and libgfortran3 from below site.
    https://gist.github.com/sakethramanujam/faf5b677b6505437dbdd82170ac55322

  2. Install these packages using this command (installation in root preferable )
    sudo dpkg -i <package.deb>
    first install gcc and then libfortran3 using above command.

Its working for me.

1 Like