首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ccx - calculix:当我想要执行ccx时,为什么会发生错误?

ccx - calculix:当我想要执行ccx时,为什么会发生错误?
EN

Stack Overflow用户
提问于 2015-10-21 16:58:46
回答 1查看 1.1K关注 0票数 0

我已经安装了ccx (Calculix解决程序)来解决一个物理问题。预处理器cgx工作正常,但是当我在终端中使用.inp文件(abaqus)运行ccx时,会出现一个错误:

代码语言:javascript
复制
ccx: symbol lookup error: ccx: undefined symbol: _gfortran_internal_malloc

当我只运行没有标志或.inp文件的ccx时,结果是:

代码语言:javascript
复制
Usage: CalculiX.exe -i jobname

我在我的ubuntu14.04计算机上安装了libgfortran3 (64位: x86_64),并将"libgfortran.so.3.0.0“文件链接到"/usr/lib/x86_64/”中,并创建了一个引用对象文件"libgfortran.so.2“(calculix需要该文件‘,因为应用程序运行在32位上)。如果没有这个引用文件ccx不能完全工作,所以我必须链接它。我使用Calculix 2.8p2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-21 19:46:30

如果您的应用程序是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位LSB共享对象x86-64,version 1 (SYSV),动态链接,剥离
  • 32位libgfortran.so $ /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位LSB共享对象,Intel 80386,version 1 (SYSV),动态链接,剥离

其次,如果您的程序需要libgfortran.so.2,那么在其位置上的libfortran.so.3版本的符号链接将无法工作。库版本号的更改是一个很好的信号,表明它们是不兼容和不可互换的。您将需要找到一个为i386体系结构提供旧库的包。这可能意味着从较旧版本的ubuntu中安装一个包。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33265117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档