`libgfortran.so.3:无法打开共享对象文件:没有此文件或目录`但该文件存在

`libgfortran.so.3:无法打开共享对象文件:没有此文件或目录`但该文件存在

我想评估 PARDISO(https://www.pardiso-project.org/) 求解器。我在 Ubuntu 20.04 LTS 上使用 MATLAB 2020b 对其进行测试。当我下载相应的文件并想要运行测试时,出现错误,Invalid MEX-file '/home/<username>/Documents/PARDISO/ipopt.mexa64': libgfortran.so.3: cannot open shared object file: No such file or directory.mexa64文件存在。我搜索了这个错误,发现我很可能需要 gfortran3 来运行这个文件,但 Ubuntu 20.04 LTS 不再支持 gfortran3。我该怎么办?还有其他可能解决这个问题吗?

答案1

我遇到了和你完全相同的问题,我只需复制现有的 libfortran3 安装即可解决这个问题。链接是“https://www.dropbox.com/s/01zxukpydgi749a/libgfort.tar?dl=1”,选择 32 位或 64 位选项,然后将其解压到安装pardiso文件夹中。

确保使用命令将 libfortran 添加到路径中

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your path here/pardiso_install_folder

完成后,通过执行以下操作检查 .mexa64 可执行文件是否已链接所有必需的库

ldd ipopt.mexa64

pardiso安装文件夹中并链接相应的库。我对这一切也还很陌生,所以如果它有效的话请告诉我。

答案2

我能够解决这个问题

  1. 首先找到 matlab 的 libgfortran 文件,对我来说它位于<YOUR MATLAB PATH>/MATLAB/sys/os/glnxa64/libgfortran.so.3.0.0
  2. 在同一路径下创建此文件的链接ln -s libgfortran.so.3.0.0 libgfortran.so.3

错误随后消失了。希望这对某人有帮助。

相关内容