[mpich-discuss] BUILDING MPICH2 under Windows x64

Jayesh Krishna jayesh at mcs.anl.gov
Mon Sep 22 14:39:06 CDT 2008


 Hi,
  I am able to download the source of MPICH2 (1.0.7) from web and
configure it successfully (You might still see some errors about unhandled
defn which you can ignore. I don't get any errors about not being able to
open src\pmi. If you don't have src\pmi in your MPICH2 source tree the
source tree is corrupted - or a previous instance of perl is still running
in the background)

# Reboot your machine (This should kill any previous instances of perl.exe
or build scripts running in the background)
# Delete your current MPICH2 source directory
(C:\mpich2-1.0.7\mpich2-1.0.7) & the source tar file that you are
currently using.
# Download a fresh copy of MPICH2 1.0.7 (the latest stable version) source
from web
(http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=dow
nloads).
# Unzip the source.
# Run "cscript winconfigure.wsf --cleancode"

  Let us know if you still get the errors (You can ignore the "unhandled
definitions" error).

Regards,
Jayesh

-----Original Message-----
From: owner-mpich-discuss at mcs.anl.gov
[mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Joao Paulo Lima
Santos
Sent: Monday, September 22, 2008 2:18 PM
To: mpich-discuss at mcs.anl.gov
Subject: RE: [mpich-discuss] BUILDING MPICH2 under Windows x64

Hi,
I tried to follow the steps recommended but unfortunately still returns
the error message "Could not open src\pmi" :

------------------------------------------------------------------------

C:\mpich2-1.0.7\mpich2-1.0.7>cscript winconfigure.wsf --cleancode
Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft
Corporation 1996-2001. All rights reserved.

Creating src\include\win64\mpi.h
Creating src\include\win32\mpi.h
Creating src\include\win32\mpichtimer.h
Creating src\include\win64\mpichtimer.h
Creating src\include\mpich2info.h
Creating src\mpe2\src\logging\include\mpe_log_thread.h
Creating src\mpe2\src\callstack\include\mpe_callstack.h
Creating src\include\mpio.h
Creating src\mpi\romio\adio\include\romioconf.h
C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\cxx>perl buildiface -nosep
Creating src\include\mpicxx.h modifying the comm, win datatype classes to
handle unreferenced variables.
C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77>perl buildiface Creating
src\include\win32\mpif.h Creating src\include\win64\mpif.h Creating
src\binding\f77\fprotos.h Creating file:
C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\accumulatefs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\allgatherfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\allgathervfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\allreducefs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\alltoallfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\alltoallvfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\alltoallwfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\bcastfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\bsendfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\bsend_initfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\bufattachfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\bufdetachfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\exscanfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\gatherfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\gathervfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\getfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\ibsendfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\irecvfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\irsendfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\isendfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\issendfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\putfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\recvfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\recv_initfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\redscatfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\reducefs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\rsendfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\rsend_initfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\scanfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\scatterfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\scattervfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\sendfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\sendrecvfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\send_initfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\sndrcvrplfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\ssendfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\ssend_initfs.c
Creating file: C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f77\win_createfs.c
Creating src\binding\f77\setbotf.f
C:\mpich2-1.0.7\mpich2-1.0.7\src\binding\f90>perl buildiface Creating
src\include\win32\mpifnoext.h Creating src\include\win64\mpifnoext.h
Creating src\binding\f90\win32\mpi_sizeofs.f90
Creating src\binding\f90\win64\mpi_sizeofs.f90
C:\mpich2-1.0.7\mpich2-1.0.7>perl maint\extracterrmsgs
-skip=src\util/multichann el/mpi.c src\mpi src\nameserv src\util
src\binding src\include src\mpid src\pmi

Could not open src\pmi

Because of errors in extracting error messages, the file
src\mpi\errhan\defmsg.h was not updated.
Creating maint\extractstates
Creating maint\extractstrings
C:\mpich2-1.0.7\mpich2-1.0.7>perl maint\extractstates Creating
test\mpi\maint\testmerge C:\mpich2-1.0.7\mpich2-1.0.7\test\mpi\cxx\io>perl
..\..\maint\testmerge -defn=..
\..\maint\common.defn ioharness.defn ioharness.tlt
C:\mpich2-1.0.7\mpich2-1.0.7\test\mpi\f77\io>perl ..\..\maint\testmerge
-defn=..
\..\maint\common.defn ioharness.defn ioharness.tlt Creating
src\include\win32\mpichconf.h Creating src\include\win64\mpichconf.h
Creating src\include\win32\mpidi_ch3_conf.h
Creating src\include\win64\mpidi_ch3_conf.h
Creating src\include\win32\timerconf.h
Creating src\include\win64\timerconf.h
Creating src\include\win32\mpid_locksconf.h
Creating src\include\win64\mpid_locksconf.h
Creating src\include\win32\mpidu_sock_conf.h
Creating src\include\win64\mpidu_sock_conf.h
Creating src\include\win32\ch3usockconf.h Creating
src\include\win64\ch3usockconf.h Creating src\include\win32\pmiconf.h
Creating src\include\win64\pmiconf.h Skipping file: mpidi_ch3i_rdma_conf.h
Creating src\include\win32\mpidi_ch3i_shm_conf.h
Creating src\include\win64\mpidi_ch3i_shm_conf.h
Creating src\include\win32\mpidi_ch3i_sock_conf.h
Creating src\include\win64\mpidi_ch3i_sock_conf.h
Creating src\include\win32\mpidi_ch3i_ssm_conf.h
Creating src\include\win64\mpidi_ch3i_ssm_conf.h
Skipping file: mpidi_ch3i_sshm_conf.h
Skipping file: mpidi_ch3i_ib_conf.h
Creating src\include\win32\mpe_logging_conf.h
Creating src\include\win64\mpe_logging_conf.h
Creating src\include\win32\mpe_wrappers_conf.h
Creating src\include\win64\mpe_wrappers_conf.h
Creating src\include\win32\mpe_conf.h
Creating src\include\win64\mpe_conf.h
Creating src\mpe2\src\logging\include\clog_inttypes.h
Creating src\include\win32\mpe_thread.h
Creating src\include\win64\mpe_thread.h
Skipping file: mpe_thread_conf.h
Creating src\mpe2\src\callstack\mpe_callstack_conf.h
Creating src\include\win32\mpid_thread.h Creating
src\include\win64\mpid_thread.h Creating
src\util\logging\rlog\trace_impl.h
Creating src\include\win32\mpitestconf.h Creating
src\include\win64\mpitestconf.h Creating src\include\win32\attraints.h
Creating src\include\win64\attraints.h Creating
src\include\win32\typeaints.h Creating src\include\win64\typeaints.h
Creating src\include\win32\ioaint.h Creating src\include\win64\ioaint.h
Creating src\include\win32\iooffset.h Creating
src\include\win64\iooffset.h Creating src\include\win32\iodisp.h Creating
src\include\win64\iodisp.h Creating src\include\win32\addsize.h Creating
src\include\win64\addsize.h Creating src\include\win32\type1aint.h
Creating src\include\win64\type1aint.h Creating bin\mpicc.wsf Creating
winbuild directory Creating src\pm\smpd\smpd_version.h: 1.0.7 Unhandled
definitions:
HAVE_PVFS2_CREATE_WITHOUT_LAYOUT
ROMIO_BGL
ROMIO_BGLOCKLESS
ROMIO_LUSTRE
CRAY_STACKSEG_END
HAVE_DLSYM
HAVE_DOUBLE_ALIGNMENT_EXCEPTION
HAVE_F90_TYPE_ROUTINES
HAVE_MPICHCONF
HAVE_PTHREAD_CLEANUP_PUSH
HAVE_PTHREAD_CLEANUP_PUSH_MACRO
HAVE_RUNTIME_THREADCHECK
LINUX86_CYCLE_CPUID_RDTSC
LINUX86_CYCLE_RDTSC
LINUX86_CYCLE_RDTSCP
MPICH2_LIBDIR
MPICH_DEBUG_MEMARENA
MPICH_DEBUG_MUTEX
STACK_DIRECTION
USE_ALLOCA
USE_DYNAMIC_LIBRARIES
WORDS_BIGENDIAN
HAVE_MPIDI_CH3_CONF
USE_NOPOSIX_FOR_IFCONF
HAVE_MPIDI_CH3SOCKCONF
HAVE_GCC_ASM_SPARC_MEMBAR
HAVE_GCC_ASM_SPARC_STBAR
HAVE_SOLARIS_ASM_SPARC_MEMBAR
HAVE_SOLARIS_ASM_SPARC_STBAR
GCC_X86_CYCLE_CPUID_RDTSC
GCC_X86_CYCLE_RDTSC
GCC_X86_CYCLE_RDTSCP
HAVE_LIBPTHREAD
HAVE_O_LARGEFILE
HAVE_MPI_INIT_THREAD
HAVE_EXECINFO_H
HAVE_FDOPEN
HAVE_UCONTEXT_H
NEEDS_FDOPEN_DECL
HAVE_H_ADDR_LIST

ERROR: 40 definitions not handled
(92 instances of unhandled definitions)

----------------------------------------------------------------------

I'm trying recompile mpich to convert int to int8 bytes for use fortran
mpi lib. I'll use visual studio solution win64.  What can I do?

Thank you very much.







Quoting Jayesh Krishna <jayesh at mcs.anl.gov>:

> Hi,
>  If you want to use MPICH2 (develop MPI apps) on windows you can 
> install
> MPICH2 using the installer available at the MPICH2 downloads webpage 
> (http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s
> =dow nloads). The MPICH2 install includes binaries for the job 
> launcher, process manager and the libs to build your MPI application.
>  If you would like to perform development (modify) on MPICH2 code, to 
> build MPICH2 on windows you need to run the configure script for 
> windows
> (winconfigure.wsf) and run the build batch file (build.bat available 
> in the winbuild directory).
>
> Building MPICH2 from source on windows
> ------------------------------------------
> 1) Obtain the MPICH2 source from the MPICH2 downloads page 
> (http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s
> =dow
> nloads).
>   -- If you download MPICH2 source from the SVN repository, run 
> "maint/updatefiles" before running windows configure script.
> 2) Run the windows configure script,
>      cscript winconfigure.wsf --cleancode
> 3) Build MPICH2
>      build.bat
>
>  From the error message it looks like you don't have the complete 
> MPICH2 source. Make sure that you download the MPICH2 source from the 
> MPICH2 downloads page.
>  Let us know if you need further help.
>
> Regards,
> Jayesh
>
>
> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Joao Paulo Lima 
> Santos
> Sent: Friday, September 19, 2008 1:40 PM
> To: mpich-discuss at mcs.anl.gov
> Subject: [mpich-discuss] BUILDING MPICH2 under Windows x64
>
> I'm trying rebuild mpich 2 under windows x64. But, when I run 
> winconfigure.wsf  I see the PERL runnig, but show a message "could not 
> open src\pmi".
>
> I need to set up something more?
>
> ...
> BUILDING MPICH2 under Windows
>
> requirements:
> a) MS Development Environment 2003, C/C++ and Intel Fortran 8.0
> b) perl
> c) administrative privileges on your machines.
>
> Create the directories and files:
> 1) unzip the package.
> 2) cd into the mpich2 directory
> 3) run winconfigure to generate mpi.h and other header files. (perl
> required)
>
> Sincerely yours.
>
>



-- 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20080922/87bb563d/attachment.htm>


More information about the mpich-discuss mailing list