cfdem链接库地址不对的解决方法(liblmp_auto.so)

问题描述

运行了一下教程里的算例,发现log_run_parallel_cfdemSolverPiso_ErgunTestMPI_CFDDEM里显示出现如下错误

cfdemSolverPiso: error while loading shared libraries: liblmp_auto.so: cannot open shared object file: No such file or directory
cfdemSolverPiso: error while loading shared libraries: liblmp_auto.so: cannot open shared object file: No such file or directory
cfdemSolverPiso: error while loading shared libraries: liblmp_auto.so: cannot open shared object file: No such file or directory
cfdemSolverPiso: error while loading shared libraries: liblmp_auto.so: cannot open shared object file: No such file or directory

意思就是没有找到liblmp_auto.so这个库

并且运行结果报出这个错误:
在这里插入图片描述

Q群里的一位大佬跟我说是链接库的问题.
于是搜索了一下这个库liblmp_auto.so到底存不存在.
输入

locate liblmp_auto.so

显示

/home/cl/CFDEM/CFDEMcoupling-PUBLIC-5.0/platforms/linux64GccDPInt32Opt/lib/liblmp_auto.so
/home/cl/LIGGGHTS/LIGGGHTS-PUBLIC/src/liblmp_auto.so
/home/cl/LIGGGHTS/LIGGGHTS-PUBLIC/src/lmp_auto

显然库是存在的, 那为什么没有找到这个库呢? 猜测原因是没有链接好, 链接的地址没指向对.
想起自己曾经改过一次主机名,可能就是这个原因导致地址错误.

恰好, cfdem有一个检查库链接和环境设置的方法:
输入

cfdemSysTest

结果里面可以看到这一行:(太长这里就先截取这一小段)

LIGGGHTS library link (created during compilation of CFDEM)
lrwxrwxrwx 1 cl cl 53 12月  8  2017 /home/cl/CFDEM/CFDEMcoupling-PUBLIC-5.0/platforms/linux64GccDPInt32Opt/lib/liblmp_auto.so -> /home/hwb/LIGGGHTS/LIGGGHTS-PUBLIC/src/liblmp_auto.so

就代表着cfdem下这个库仍然指向liggghts的旧路径.

确认了是更改主机名造成的库链接地址错误的问题

解决方法

恰好,cfdem下面提供了一个更新库链接的简单方法,只需要输入

cfdemRefreshLigLink

库的链接就更新了!
再试一下,发现算例运行正常! 问题解决!

原文地址:https://www.cnblogs.com/chunleili/p/12758212.html