【问题标题】:error while loading shared libraries: libboost_mpi.so.1.65.1 : no such file or directory - even though the file is there加载共享库时出错:libboost_mpi.so.1.65.1:没有这样的文件或目录 - 即使文件在那里
【发布时间】:2018-05-30 10:34:03
【问题描述】:

libboost_mpi.so.1.65.1 位于 /home/batuhan/usr/lib 下,如您所见enter image description here

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

我该如何克服这个问题,我花了几个小时试图解决这个错误,但似乎没有任何效果。

【问题讨论】:

  • 请编辑您的问题并复制/粘贴消息,这里没有屏幕截图。

标签: ubuntu boost mpi


【解决方案1】:

简答:将您的库路径也放入环境中:

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

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

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

-env <name> <value>

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

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

您可以使用检查动态库的分辨率

ldd <executable>

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 2019-02-16
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多