符号查找错误:未定义符号:_gfortran_internal_malloc64

符号查找错误:未定义符号:_gfortran_internal_malloc64

这里是 Ubuntu 13.04。

我试图使用一个名为的程序smartpca,第一次尝试使用它时,它引发了关于的依赖性错误liblapack

我安装了 libatlas3-base,问题解决了。然后又出现了另一个关于 的错误libgfortran.so.1。由于我安装了所有软件包,所以我在和libfortran之间创建了一个链接。libgfortran.so.3libgfortran.so.1

然后我再次运行该程序并引发了该错误:

./smartpca: symbol lookup error: ./smartpca: undefined symbol: _gfortran_internal_malloc64

据我所知,在 Fedora 上你必须安装gfortran 4.1

我该如何解决这个问题?

答案1

好的,我找到了解决方案。我需要从源代码制作 EIGENSOFT。这有帮助:

这是在 Ubuntu 计算机上安装 eigensoft 的一种方法。

首先安装依赖项:gfortran liblapack-dev

现在 cd 到 src 目录并按如下方式构建:$ make all $ make install

此时,eigensoft/bin 目录中应该有一些文件。请注意,安装不需要管理员权限,也不会将文件放在 eigensoft 目录树之外的任何地方。

要卸载,请进入 src 目录并运行:$ make clobber

要检查 eigensoft 是否已恢复到预安装状态,请检查 git 状态,看看 eigensoft 是否已从 git repo 克隆。

答案2

适用于 Matlab R2012a、Ubuntu 13.04

错误:

libgfortran.so.1:无法打开共享对象文件:没有此文件或目录 /MATLAB/share/libfst.so:未定义符号:_gfortran_internal_malloc64

解决方案:

  1. 去:http://heasarc.gsfc.nasa.gov/lheasoft/linux.html
  2. 下载适用于 64 位 Linux (x86_64) 的 libgfortran 补丁http://heasarc.gsfc.nasa.gov/FTP/software/lheasoft/release/updates/heasoft6.14-libgfortran-pc-linux64.tar.gz
  3. 解压并将文件复制到 /usr/lib/x86_64-linux-gnu/
  4. 享受!

相关内容