我正在使用一个名为dawg的程序,它依赖于boost库。我需要在没有root访问权限的群集上运行程序。在尝试运行程序时,它返回错误:
/home/masih/Baterial_simulator/dawg_new/my_build/bin/dawg: error while loading shared libraries: libboost_program_options.so.1.65.1: cannot open shared object file: No such file or directory
我手动安装了boost 1.65.1软件包并将其放在'.bashrc'文件中,如下所示:
#export LD_LIBRARY_PATH="/home/masih/Baterial_simulator/boost_1_65_1/lib/lib:$LD_LIBRARY_PATH"
'/ home / masih / Baterial_simulator / boost_1_65_1 / lib / lib'中存在'libboost_program_options.so.1.65.1'文件但仍然出现错误。
我还尝试在配置包时添加boost包信息,方法是在'CMakeLists.txt'中添加以下行
SET (BOOST_ROOT "/home/masih/Baterial_simulator/boost_1_65_1/lib")
SET (BOOST_INCLUDEDIR "/home/masih/Baterial_simulator/boost_1_65_1/lib/include")
SET (BOOST_LIBRARYDIR "/home/masih/Baterial_simulator/boost_1_65_1/lib/lib")
安装完成没有任何错误但尝试运行程序再次返回相同的错误。 群集正在使用RedHat OS。
答案 0 :(得分:1)
提供运行程序的目录路径。
例如:
下面的行将指向库路径到您当前/程序目录
如果已经设置,则使用:unset LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/home/masih/Baterial_simulator/dawg_new/my_build/bin/dawg:$LD_LIBRARY_PATH
注意:此命令仅在系统lib路径中安装libboost_program_options.so.1.65.1时有效。
如果不工作,则将库路径指向正在运行的程序的路径。
export LD_LIBRARY_PATH=/home/masih/Baterial_simulator/boost_1_65_1/lib/lib:/home/masih/Baterial_simulator/dawg_new/my_build/bin/dawg