我有一个32位Fortran应用程序,我需要在64位ubuntu服务器上运行。我已经在32位ubuntu机器上验证了该应用程序,它运行良好;但是,当我在64位服务器上运行时出现以下错误:
error while loading shared libraries: libgfortran.so.3: cannot open shared object file: No such file or directory
对此做了一些研究,我尝试了下面的内容,但没有任何乐趣:
sudo apt-get install libgfortran3:i386
找不到包ldconfig -v
,在libgfortran.so.3 -> libgfortran.so.3.0.0
... /usr/lib/x86_64-linux-gnu:
LD_LIBRARY_PATH
,但没有做任何事情(虽然我不得不说,一旦我们开始讨论库路径,我的知识会变得非常尖锐......)dpkg --configure --pending
和dpkg --path-include=/usr/lib/x86_64-linux-gnu
。如果可能的话,我想远离创建一个32位的chroot,但是在这一点上,如果还有其他任何事情可以阻止我不必这样做......
你们有没有想过我能做的其他事情?谢谢。
答案 0 :(得分:0)
尝试安装包lib32gfortran3
,因为这将安装32位版本的libgfortran库。在启动程序之前,您最终可能需要设置LD_LIBRARY_PATH="/usr/lib32:"
,但是如果没有它,它可能会运行。
答案 1 :(得分:0)
我不确定这是否是我本人或其他方面的疏忽;但这里有两个步骤解决了这个问题:
sudo apt-get install gfortran
奇怪的是,此时我还是无法将应用程序文件复制/粘贴到其他64位计算机并运行它。相反,我首先必须在每台机器上单独安装gfortran,即使我没有计划编译任何东西。一旦安装了gfortran,应用程序就会运行,无论它在哪里编译......我都认为libgfortran3一定是依赖...