
我一直在使用多線程線性代數包傑布拉斯在 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