试图安装openmpi的分段错误

时间:2016-04-05 16:43:54

标签: c linux mpi openmpi

我正在尝试安装openmpi,但经过不同的尝试后我仍然无法使用它。

这是我跟随的last guide。我只是复制并粘贴每个命令行。

这是我在运行时从终端获得的内容:mpirun

timmy@timmy-Lenovo-G50-80 ~/openmpi-1.8.1 $ mpirun
[timmy-Lenovo-G50-80:21817] *** Process received signal ***
[timmy-Lenovo-G50-80:21817] Signal: Segmentation fault (11)
[timmy-Lenovo-G50-80:21817] Signal code: Address not mapped (1)
[timmy-Lenovo-G50-80:21817] Failing at address: 0x7fab73035000
[timmy-Lenovo-G50-80:21817] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7fab73e20340]
[timmy-Lenovo-G50-80:21817] [ 1] /home/timmy/.openmpi/lib/openmpi/mca_shmem_mmap.so(+0x1886)[0x7fab72e32886]
[timmy-Lenovo-G50-80:21817] [ 2] /home/timmy/.openmpi/lib/libopen-pal.so.13(opal_shmem_base_select+0x38)[0x7fab740d6b38]
[timmy-Lenovo-G50-80:21817] [ 3] /home/timmy/.openmpi/lib/libopen-pal.so.13(opal_init+0x1a2)[0x7fab74057cd2]
[timmy-Lenovo-G50-80:21817] [ 4] mpirun[0x403db1]
[timmy-Lenovo-G50-80:21817] [ 5] mpirun[0x40361d]
[timmy-Lenovo-G50-80:21817] [ 6] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7fab73a6cec5]
[timmy-Lenovo-G50-80:21817] [ 7] mpirun[0x403539]
[timmy-Lenovo-G50-80:21817] *** End of error message ***
Errore di segmentazione

所以我重启,现在我只获得了这个:

mpirun: error while loading shared libraries: libopen-rte.so.12: cannot open shared object file: No such file or directory

我需要做些什么来在linux上制作mpi?

2 个答案:

答案 0 :(得分:3)

您需要将LD_LIBRARY_PATH设置为包含/home/timmy/.openmpi/lib。具体来说,你必须把这两行放在你所遵循的指南中:

export PATH="$PATH:/home/$USER/.openmpi/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/.openmpi/lib/"

进入shell的初始化文件。

关于第一个错误,它出现在初始化Open MPI的mmap shmem组件的某个地方,可能表示您的构建存在问题。尝试删除/home/timmy/.openmpi并重新重建。或者甚至尝试使用系统的软件包管理器安装库 - 几乎每个发行版的软件包存储库中都提供了或多或少的Open MPI版本。

答案 1 :(得分:2)

https://www.open-mpi.org/community/lists/users/2011/02/15759.php

引自网址:

  

如果您使用主机文件在多台计算机上启动,请确保设置shell启动文件(例如.bashrc)以正确设置LD_LIBRARY_PATH。