我已安装ccx(Calculix解算器程序)来解决物理问题。预处理器cgx工作正常,但是当我在终端中运行带有.inp文件(abaqus)的ccx时,会出现错误:
ccx: symbol lookup error: ccx: undefined symbol: _gfortran_internal_malloc
当我只运行没有flag或.inp文件的ccx时,结果是:
Usage: CalculiX.exe -i jobname
我在我的ubuntu 14.04计算机上安装了libgfortran3(64位:x86_64)并链接" libgfortran.so.3.0.0"文件在" / usr / lib / x86_64 /"使用创建的参考对象文件" libgfortran.so.2" (calculix需要该文件'因为应用程序在32位上运行)。如果没有该参考文件ccx不能完全工作,这就是为什么我必须链接它。我使用Calculix 2.8p2。
答案 0 :(得分:0)
如果您的应用程序是32位,则需要32位库才能工作。你所做的是安装64位库,然后将它们符号链接到32位库的位置。这满足了库“存在”但它不能用于32位程序。
我的图书馆位置与您的不同,但请注意它们不同:
64位libgfortran.so
$ file /usr/lib64/gcc/x86_64-pc-linux-gnu/5.2.0/libgfortran.so.3.0.0
/usr/lib64/gcc/x86_64-pc-linux-gnu/5.2.0/libgfortran.so.3.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
32位libgfortran.so
$ file /usr/lib64/gcc/x86_64-pc-linux-gnu/5.2.0/32/libgfortran.so.3.0.0
/usr/lib64/gcc/x86_64-pc-linux-gnu/5.2.0/32/libgfortran.so.3.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
其次,如果您的程序需要libgfortran.so.2
,那么将libfortran.so.3
版本的.menu ul li
符号链接将不起作用。库版本号的更改是一个很好的信号,它们不兼容且不可互换。您需要找到一个为i386架构提供旧库的软件包。这可能意味着从旧版本的ubuntu安装软件包。