views:

48

answers:

3

Hello,

I'm on Windows XP2 32-bit machine. I'm trying to install MPICH2 & mpi4py.

  1. I've downloaded & installed MPICH2-1.2.1p1
  2. I've downloaded & mpi4py

When I run python setup.py install in mpi4pi\ directory. I get

running install
running build
running build_py
running build_ext
MPI configuration: directory 'C:\Program Files\MPICH2'
MPI C compiler:    not found
MPI C++ compiler:  not found
MPI linker:        not found
checking for MPI compile and link ...
error: Unable to find vcvarsall.bat

My C:\Program Files\MPICH2\bin is added in $PATH & it contains:

clog2TOslog2.jar
irlog2rlog.exe
jumpshot.jar
jumpshot_launcher.jar
mpiexec.exe
smpd.exe
TraceInput.dll
traceTOslog2.jar
wmpiconfig.exe
wmpiexec.exe
wmpiregister.exe

I've Googled but no where I could find the solution.

EDIT: As per "High Performance" Mark's suggestion I've gone through that installation script and found that it is searching for mpicc , mpicxx, mpild MPI compiler wrappers. But these wrapper scripts are not installed with my MPICH2 installation. Where to get these? Whats the way now?

+1  A: 

I don't know much about Python but here goes anyway:

Your install script is failing to find a C compiler, C++ compiler or linker. Look inside the script and see where it is looking. Modify the script to look in the location where you have those items installed. You may (probably will) also find that you can specify an argument for the install script to point it at the right location without having to modify the script.

Don't forget, MPICH2 is a combination of libraries for linking to and a run-time system, for executing MPI jobs (that's your mpiexec.exe). I see you also have the Jumpshot profiler installed.

MPICH2 is not, and doesn't include, a compiler.

HTH

High Performance Mark
claws
@claws: from your usual supplier of such products. All you need is a C or C++ compiler (or both, depends on which languages you use) there's no such thing as an 'MPI compiler'.
High Performance Mark
@claws: if you are using Visual Studio then you have the compiler(s) you need, you just need to tell the install script where to look for them. Have a poke around inside the Visual Studio directory tree.
High Performance Mark
can a VC++ compiler be "MPI C++ compiler"?
claws
@claws: yes, a C++ compiler is a C++ compiler, MPI is (at compile time) a library to be linked to provide implementations of functions. If you have read deeply into the documentation for MPICH you may have encountered things called, perhaps, mpicc or mpic++ -- these are NOT 'MPI Compilers' but scripts which wrap an existing compiler and provide include and link statements to incorporate MPI into your executables.
High Performance Mark
I see.. Then why doesn't my MPICH doesn't come with these scripts?
claws
@Mark: I just edited the question. Can you have a look at it?
claws
@claws: the easy answer is for you to write those scripts yourself -- they would call your C(++) compiler and provide the link statements to include the necessary libraries. Or, Google around a bit, check out the MPICH site.
High Performance Mark
A: 

If you have Visual Studio installed, you need to launch a "Visual Studio Command Prompt".

Edric
I tried. But no change. :(
claws
A: 

It looks like the windows MPICH2 binary package doesn't set up the compiler wrappers; you'll probably have to pull down the sources and build it to get support for your devel tools.

Jonathan Dursi