从源代码构建MPICH2

时间:2015-06-05 12:36:12

标签: linux build mpi cluster-computing mpich

作为this问题的后续,我开始从源代码构建MPICH2。我找到了这个教程:Installing MPICH2 on a Single Machine到目前为止我所做的是:

./configure --disable-f77 --disable-fc --disable-fortran
[seems to be OK]
make; sudo make install
[long output with one warning]
libtool: warning: relinking 'lib/libmpicxx.la'
root@pythagoras:/home/gsamaras/mpich-3.1.4# mpich2version
bash: mpich2version: command not found

我做错了什么?请注意,我首先使用apt-get安装了MPICH2,为了删除它,我做了:

apt-get remove --purge mpich2
apt-get autoremove // which might removed something that I need now

明天,我将尝试这个:Getting And Building MPICH(首次尝试无法在autogen.sh部分工作)。

EDIT_1

我无法让它工作,会尝试两个教程的组合并报告回来。我做了一个配置,然后是其他教程的make,也失败了。

EDIT_2

这可能会掩盖它安装的位置(通过遵循第一个教程):

root@pythagoras:/home/gsamaras/mpich-3.1.4# which mpiexec
/usr/local/bin/mpiexec
root@pythagoras:/home/gsamaras/mpich-3.1.4# which mpirun
/usr/local/bin/mpirun

2 个答案:

答案 0 :(得分:2)

你安装到/ usr / local,这是一种可行的方法。您遵循的README说明建议了另一种不需要管理权限的方法。

我喜欢安装到/ home / robl / soft / mpich-whatever,所以我可以使用不同的编译器,版本,配置等。这样的灵活性对你来说可能有点过头了,但这是一种策略。

问题:

root@pythagoras:/home/gsamaras/mpich-3.1.4# mpich2version
bash: mpich2version: command not found

首先,命令现在是mpichversion,而不是mpich2version - 您可能正在阅读旧教程。

其次,你的shell可能不知道新安装的二进制文件。 hash -r(至少在bash和tcsh上)会告诉shell“忘记你认为你对我的文件系统的了解并且看起来更难”。

答案 1 :(得分:0)

我找到了mpich-3.0.4-README,他似乎提供了解决方案。

长话短说,它说(它假设您要构建3.0.4版本,我使用3.1.4(可用here)):

tar xzf mpich-3.0.4.tar.gz
cd mpich-3.0.4

// you might want to disable fortran compiler (see the README I linked above)
./configure --prefix=/home/<USERNAME>/mpich-install 2>&1 | tee c.txt

make 2>&1 | tee m.txt

make install 2>&1 | tee mi.txt

PATH=/home/<USERNAME>/mpich-install/bin:$PATH ; export PATH

which mpicc
// should return something reasonable (with your directory)

mpiexec -n 2 ./examples/cpi

现在,使用machinefile的选项不起作用,因为ssh需要密码,但这是另一个问题。