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

C 尝试安装openmpi时出现分段错误,c,linux,mpi,openmpi,C,Linux,Mpi,Openmpi,我正在尝试安装openmpi,但经过多次尝试后,我仍然无法使用它 这是我遵循的原则。我只是复制并粘贴每个命令行 以下是我运行时从终端获得的信息: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)

我正在尝试安装openmpi,但经过多次尝试后,我仍然无法使用它

这是我遵循的原则。我只是复制并粘贴每个命令行

以下是我运行时从终端获得的信息:
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,我必须做些什么?

引自网址:

如果您使用主机文件跨多台计算机启动,请确保您的shell启动文件(例如.bashrc)已设置为正确设置LD_LIBRARY_路径

引自网址:

如果您使用主机文件跨多台计算机启动,请确保您的shell启动文件(例如.bashrc)已设置为正确设置LD_LIBRARY_路径


您需要将
LD\u LIBRARY\u路径设置为包含
/home/timmy/.openmpi/lib
。具体地说,你必须把你所遵循的指南中的这两行写下来:

export PATH="$PATH:/home/$USER/.openmpi/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/.openmpi/lib/"
放入shell的初始化文件中


至于第一个错误,它发生在OpenMPI的
mmap
shmem组件初始化期间的某个地方,可能表明您的构建存在问题。尝试删除
/home/timmy/.openmpi
,然后再次重建。或者甚至可以尝试使用系统的软件包管理器安装库—几乎每个发行版的软件包存储库中都有一个或多或少最新版本的Open MPI。

您需要设置
LD\u library\u路径
以包括
/home/timmy/.openmpi/lib
。具体地说,你必须把你所遵循的指南中的这两行写下来:

export PATH="$PATH:/home/$USER/.openmpi/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/home/$USER/.openmpi/lib/"
放入shell的初始化文件中


至于第一个错误,它发生在OpenMPI的
mmap
shmem组件初始化期间的某个地方,可能表明您的构建存在问题。尝试删除
/home/timmy/.openmpi
,然后再次重建。甚至可以尝试使用您系统的软件包管理器安装库—几乎每个发行版的软件包存储库中都有一个较新版本的Open MPI。

+1至“使用您系统的软件包管理器”。除非你有很好的理由不这样做,否则最好还是从源头开始建设。(当我从源代码构建时,我通常使用Debian的打包,这样我就可以合理地安装结果;我建议其他人做类似的事情)。@TobySpeight,
$HOME
,这是正确的,尤其是在OS X上,但在这种特殊情况下应该没问题。@TobySpeight我如何从sys manager安装?我使用的是LinuxMint17.3,没有ompi或ompi包openmpi@Timmy-如果包裹不可用,我会称之为“一个不提供的好理由”。我不知道Mint,但在Debian和Ubuntu中,
aptitude search openmpi
表示有
libopenmpi dev
(用于开发)和
openmpi bin
(用于运行时)。可能从源代码构建是您唯一的选择,但请务必检查。LinuxMint的软件包中似乎没有包含OpenMPI,但它借用了Ubuntu和Debian的软件包,因此您应该能够从这些发行版中获取软件包,并使用
dpkg-i…
+1“使用您系统的软件包管理器”进行安装。除非你有很好的理由不这样做,否则最好还是从源头开始建设。(当我从源代码构建时,我通常使用Debian的打包,这样我就可以合理地安装结果;我建议其他人做类似的事情)。@TobySpeight,
$HOME
,这是正确的,尤其是在OS X上,但在这种特殊情况下应该没问题。@TobySpeight我如何从sys manager安装?我使用的是LinuxMint17.3,没有ompi或ompi包openmpi@Timmy-如果包裹不可用,我会称之为“一个不提供的好理由”。我不知道Mint,但在Debian和Ubuntu中,
aptitude search openmpi
表示有
libopenmpi dev
(用于开发)和
openmpi bin
(用于运行时)。可能从源代码构建是您唯一的选择,但请务必检查。LinuxMint的软件包中似乎没有包含OpenMPI,但它借用了Ubuntu和Debian的软件包,因此您应该能够从这些发行版中获取软件包,并使用
dpkg-i…