设置 LD_LIBRARY_PATH

设置 LD_LIBRARY_PATH

我尝试在 Linux Ubuntu 3.16.0-31-generic 的服务器中运行程序,但出现以下错误:

加载共享库时出错:libmpich.so.3:无法打开共享对象文件:没有这样的文件或目录

我在网上搜索了解决方案,我看到有人在谈论设置LD_LIBRARY_PATH不知何故。大多数方法都需要 sudo,但我没有管理员权限,所以无法使用它。

这确实能解决问题吗?如果是的话,我该如何设置它?

答案1

你不需要权限来设置这个ENV(请参阅“环境变量”部分)多变的。

并且因为共享对象丢失时跑步安装一个应用程序,你根本不需要设置它。您缺少一个包含libmpich.so.从“deb”包存储库中查找并安装包含libmpich.so共享对象的任何内容。尝试以下方法来找到它/它们。

$ apt-cache search mpich

现在回到问题;

有几种方法可以实现这一点。为整个会话自行设置、永久设置或仅在编译时告诉编译器。

最快且侵入性最小(关于更改操作系统环境变量)的方法是为编译过程设置它:

$ LD_LIBRARY_PATH=/lib:/lib64:/usr/lib:/usr/lib64 run-binary-command

或者您可以为当前会话设置它,如下所示:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/lib64:/usr/lib:/usr/lib64

并永久设置它:

$ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/lib64:/usr/lib:/usr/lib64' >> ~/.profile

相关内容