这是我在这里的第一篇文章,如果我的风格有误,请见谅!
我一直在尝试使用 python 3.6 在 Ubuntu 16.04 上安装 mpi4py(因为 SU2 需要它进行并行处理)。我下载了 mpi4py 并尝试从源代码构建,因为我想使用我配置的 OpenMPI 库,并尝试了以下操作:
sudo python setup.py build --mpicc=/opt/openmpi/openmpi-2.1.0/bin/mpicc
但是,它最终失败并显示“错误:无法链接 MPI 程序。检查您的配置!!!”
查看 SU2 和 mpi4py 文档,他们建议改用 pip。我也试过这个:
sudo pip install mpi4py
和
env MPICC=/opt/openmpi/openmpi-2.1.0/bin/mpicc pip install mpi4py
但他们也给出了同样的错误。
我已经保存了两个输出 - 请查看附件的链接。它似乎从我的 NVIDIA CUDA 安装中获取了很多文件,但我不确定为什么。
我是编译程序的初学者,所以如果有人能对此有所了解,我将不胜感激?谢谢。
虽然这是一篇旧帖子,但我会发布我的答案可能对其他人有帮助。
我通过以下命令解决了这个问题:
sudo apt install libopenmpi-dev
pip install mpi4py`
对于正在为这个问题而苦苦挣扎的其他人来说,事实证明这是多种因素造成的。主要是,mpi4py 没有正确构建,因为我的 MPI (openMPI) 实现没有正确构建。在现有的超级计算机和全新的 Linux 安装上构建程序有很多不同的因素。
我可以推荐的一些故障排除技巧是:
确保使用
unset
使用
module unload
卸载任何可能干扰安装的模块。在已经加载了多个其他计算机的超级计算机上构建您自己的 MPI 实现时尤其如此。检查您的
$PATH
变量是否有可能污染您的安装的任何位置(不要忘记顺序很重要)!您可能需要临时设置一个更清晰的 PATH 变量,以确保构建选择正确的库。希望这有帮助。