加载共享库时出错:libboost_mpi.so.1.65.1:没有这样的文件或目录 - 即使文件在那里

时间:2017-12-16 12:06:43

标签: ubuntu boost mpi

libboost_mpi.so.1.65.1位于/ home / batuhan / usr / lib下,您可以看到enter image description here

但即使我提供图书馆路径,我也无法运行我的程序,请参阅enter image description here

我怎样才能克服这一点,我花了好几个小时试图解决这个错误,但似乎没有任何效果。

1 个答案:

答案 0 :(得分:0)

简答:也将您的图书馆路径放入环境中:

export LD_LIBRARY_PATH=/home/batuhan/usr/lib:${LD_LIBRARY_PATH}

我假设您的计算节点上有一个共享的主目录,即库文件在MPI进程执行的计算机上可用。

更多细节:您也可以使用mpirun选项通过-env传递它。选项的确切名称可能因MPI实施而异(请尝试man mpirun)。

-env <name> <value>

如果您想在编译期间将库路径硬编码到可执行文件中,可以使用链接器的-rpath选项,您可以在编译器调用中通过以下方式传递:

mpic++ -Wl,-rpath -Wl,/home/batuhan/usr/lib <etc..>

您可以使用

检查动态库的分辨率
ldd <executable>

希望有所帮助。