我一直在使用多线程线性代数包杰布拉斯在 Chrome 操作系统上,它是从一些 Java 代码中调用的。当尝试通过 进行矩阵乘法时mmul
,会抛出以下错误:
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)
结束了吉图布,我们被告知此错误可能是由于缺少libgfortran3包裹。我希望从源代码编译它,因为大多数下载似乎都是特定于体系结构的,但我在任何地方都找不到 tarball。我在哪里可以找到它?
答案1
常规的一部分海湾合作委员会
# wget ftp://gcc.gnu.org/pub/gcc/snapshots/7-20161016/gcc-7-20161016.tar.bz2
# bzip2 -d gcc-7-20161016.tar.bz2
# tar tvf gcc-7-20161016.tar |grep libgfortran|head
-rw-r--r-- gccadmin/gcc 5750 2016-09-23 20:36 gcc-7-20161016/gcc/fortran/libgfortran.h
drwxr-xr-x gccadmin/gcc 0 2016-10-16 22:32 gcc-7-20161016/libgfortran/
drwxr-xr-x gccadmin/gcc 0 2016-10-16 22:32 gcc-7-20161016/libgfortran/config/
-rw-r--r-- gccadmin/gcc 12505 2016-01-04 14:30 gcc-7-20161016/libgfortran/config/fpu-387.h
-rw-r--r-- gccadmin/gcc 7835 2016-01-04 14:30 gcc-7-20161016/libgfortran/config/fpu-aix.h
-rw-r--r-- gccadmin/gcc 9161 2016-01-04 14:30 gcc-7-20161016/libgfortran/config/fpu-glibc.h
-rw-r--r-- gccadmin/gcc 8046 2016-01-04 14:30 gcc-7-20161016/libgfortran/config/fpu-sysv.h
-rw-r--r-- gccadmin/gcc 2714 2016-01-04 14:30 gcc-7-20161016/libgfortran/config/fpu-generic.h
-rw-r--r-- gccadmin/gcc 13099 2014-06-17 03:55 gcc-7-20161016/libgfortran/ChangeLog-2013
drwxr-xr-x gccadmin/gcc 0 2016-10-16 22:32 gcc-7-20161016/libgfortran/generated/
#
答案2
除了上述解决方案之外,还需要注意的是杰布拉斯还强加了以下运行时依赖性。
必需的:
gfortran-4.6 libgfortran3
选修的:
gfortran-multilib gfortran-doc gfortran-4.6-multilib gfortran-4.6-doc libgfortran3-dbg