我尝试在 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