由于文件 libmpi.so.1 丢失而出现错误

问题描述 投票:0回答:2

我使用 Omnet++ 和 Veins 进行模拟,直到我昨晚从 Ubuntu 15 升级到 16.04 LTS 之前它都工作正常。现在,我在尝试运行模拟时收到以下错误:

error while loading shared libraries: libmpi.so.1: cannot open shared object file: No such file or directory

我搜索了 libmpi.so.1,它似乎丢失了。 /usr/lib/openmpi/lib 中有文件 libmpi.so 和 libmpi.so.12,但没有 libmpi.so.1。我尝试卸载并重新安装软件包 openmpi-bin、libopenmpi-dev 以及从网站下载的 OpenMPI。我还在 bashrc 和 profile 中设置了变量(这是网上推荐的),使用

export LD_LIBRARY_PATH:=$PATH:/usr/lib/openmpi/lib/

这些方法都不起作用,我仍然遇到同样的错误。关于如何修复它以及如何获取文件 libmpi.so.1 有什么建议吗?

installation runtime-error openmpi
2个回答
7
投票

我可以通过在 /usr/lib 中添加一个符号链接 libmpi.so.1 来解决这个问题,该链接指向现有的 libmpi.so.12 (它再次指向 openmpi/lib 中实际文件的位置)。

显然,这是 OpenMPI 版本的问题,因为在我没有更新的其他系统上,有一个符号链接 libmpi.so.1 指向 libmpi.so.1.0.8 (但没有 libmpi.so .12).


0
投票

如果即使将 lib 路径添加到 LD_LIBRARY_PATH 后仍不起作用,您可以使用 gcc 或 clang 的

-fuse-ld=lld
选项。

© www.soinside.com 2019 - 2024. All rights reserved.