尝试安装 openmpi 时出现分段错误

Segmentation fault trying to install 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?

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

引自URL:

if you're using a hostfile to launch across multiple machines, ensure that your shell startup files (e.g., .bashrc) are setup to set your LD_LIBRARY_PATH properly.

您需要将 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。