jblas-project / jblas

Linear Algebra for Java
http://jblas.org
BSD 3-Clause "New" or "Revised" License
590 stars 149 forks source link

libgfortran.so.3 issue on Fedora #98

Open MrSampson opened 6 years ago

MrSampson commented 6 years ago

I thought I would just put this out there for google to traverse:

To get around the libgfortran.so.3 problem on Fedora 26 (libgfortran.so.3 isn't included in 26), I downloaded the x86_64 package from: rpmfind.net

and installed it with the command: sudo rpm -ihv --nodeps --force libgfortran-6.4.1-1.fc25.x86_64.rpm

and the test sequence finally worked fine:

java -server -jar jblas-1.2.4.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 CONFIG Loading libjblas.so from /lib/static/Linux/amd64/sse3/, copying to libjblas.so. checking matrix multiplication... ok checking existence of dsyev...... ok [-0.210656, -0.640445, -0.451188; -0.509085, -0.116445, 0.796815; -0.807515, 0.407556, -0.398408; 0.210656, 0.640445, -0.052780] [17.233688; 1.414214; 0.000000] [-0.470605, 0.782218, 0.408248; -0.571449, 0.082339, -0.816497; -0.672293, -0.617540, 0.408248] [17.233688; 1.414214; 0.000000] checking existence of dgesvd...... ok Checking complex return values... (z = -21.0 + 88.0i) Check whether we're catching XERBLA errors. If you see something like "** On entry to DGEMM parameter number 4 had an illegal value", it didn't work! checking XERBLA... ok Sanity checks passed.

Each benchmark will take about 5 seconds...

Running benchmark "Java matrix multiplication, double precision". n = 10 : 2.596 GFLOPS (6491027 iterations in 5.0 seconds) n = 100 : 2.923 GFLOPS (7309 iterations in 5.0 seconds) n = 1000 : 2.536 GFLOPS (7 iterations in 5.5 seconds)

Running benchmark "Java matrix multiplication, single precision". n = 10 : 2.482 GFLOPS (6206108 iterations in 5.0 seconds) n = 100 : 2.408 GFLOPS (6022 iterations in 5.0 seconds) n = 1000 : 2.381 GFLOPS (7 iterations in 5.9 seconds)

Running benchmark "native matrix multiplication, double precision". n = 10 : 1.934 GFLOPS (4835014 iterations in 5.0 seconds) n = 100 : 8.372 GFLOPS (20931 iterations in 5.0 seconds) n = 1000 : 12.484 GFLOPS (32 iterations in 5.1 seconds)

Running benchmark "native matrix multiplication, single precision". n = 10 : 2.034 GFLOPS (5084278 iterations in 5.0 seconds) n = 100 : 14.752 GFLOPS (36880 iterations in 5.0 seconds) n = 1000 : 24.376 GFLOPS (61 iterations in 5.0 seconds) -- org.jblas INFO Deleting /tmp/jblas4508559549457543065/libjblas.so -- org.jblas INFO Deleting /tmp/jblas4508559549457543065/libjblas_arch_flavor.so -- org.jblas INFO Deleting /tmp/jblas4508559549457543065

diegocrzt commented 6 years ago

Same problem in Arch Linux today, installing gcc6-libs and a symbolic link did the trick here

pacman -S gcc6-libs
ln -s /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.1/libgfortran.so.3 /usr/lib/libgfortran.so.3

Seems that gcc 7 libraries are no more compatible with jblas.

This seems to be related to #87

mikiobraun commented 3 years ago

I did a new release 1.2.5 that has bumped the libgfortran dependency from 3 to 4. Let me know if it works.