<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
<span><b>Hi, Dorian</b></span><br><br>Thanks a lot for your prompt reply. <br>Your command line<br>&gt; gcc -I /c/MPICH2/include/ test.c -L/c/MPICH2/lib/ -lmpi<br>solves the first problem perfectly on win32.<br><br>On Win64, I see the following from line 333 onwards about MPI_Aint<br>"<br>/* Definitions that are determined by configure. */<br>typedef __int64 MPI_Aint;<br>typedef int MPI_Fint;<br>#define MPI_AINT_FMT_DEC_SPEC "%I64d"<br>#define MPI_AINT_FMT_HEX_SPEC "%I64x"<br>"<br>It seems that configure made a choice of __int64 for the Win64 package instead of long under linux. Any idea how this might be solved?<br>I have also attached the output with the -E option in the attachment err.txt for your reference.<br><br>BTW, I tried to manually change <br>typedef __int64 MPI_Aint;<br>to <br>typedef long MPI_Aint;<br>and then, I got:<br>gcc -I /c/MPICH2/include/ test.c -L /c/MPICH2/lib/ -lmpi&nbsp; <br>test.c: In function 'main':<br>test.c:15: warning: incompatible implicit declaration of built-in function 'printf'<br>C:/Users/ting/AppData/Local/Temp/ccsAr9gj.o:test.c:(.text+0x22): undefined reference to `_MPI_Init'<br>C:/Users/ting/AppData/Local/Temp/ccsAr9gj.o:test.c:(.text+0x36): undefined reference to `_MPI_Comm_rank'<br>collect2: ld returned 1 exit status<br><br>or the following for using g++:<br><br>$ g++ -I /c/MPICH2/include/ test.c -L /c/MPICH2/lib/ -lmpi <br>C:/Users/ting/AppData/Local/Temp/ccPO9opx.o:test.c:(.text+0x22): undefined reference to `_MPI_Init'<br>C:/Users/ting/AppData/Local/Temp/ccPO9opx.o:test.c:(.text+0x36): undefined reference to `_MPI_Comm_rank'<br>collect2: ld returned 1 exit status<br><br><br><br>Thanks again.<br><br>T.<br><br><br>&gt; Date: Sun, 4 Jan 2009 18:29:23 +0100<br>&gt; From: ddkrause@uni-bonn.de<br>&gt; To: mpich-discuss@mcs.anl.gov<br>&gt; Subject: Re: [mpich-discuss] question regarding compiling/linking under MingW (MPICH2 1.08)<br>&gt; <br>&gt; Hi<br>&gt; <br>&gt; ting lei wrote:<br>&gt; &gt; Hi,<br>&gt; &gt;<br>&gt; &gt; Sorry to bother all. I have some questions regarding using MPICH2 1.08 <br>&gt; &gt; with MingW<br>&gt; &gt;<br>&gt; &gt; I tried compile MPICH2 1.08 on two different machines, and have met <br>&gt; &gt; different problems. I was wondering if someone with a lot experience <br>&gt; &gt; could help me out here. thanks in advance.<br>&gt; &gt;<br>&gt; &gt; 1) The most successful attempt was on a win32 platform, XPSP3 with <br>&gt; &gt; MingW+gcc3.4.5<br>&gt; &gt; The command line I used was:<br>&gt; &gt; gcc -I /c/MPICH2/include/ -lmpi -L/c/MPICH2/lib/ test.c<br>&gt; &gt; and I get the following error:<br>&gt; &gt; C:/DOCUME~1/ting/LOCALS~1/Temp/cc40AD3K.o:test.c:(.text+0x38): <br>&gt; &gt; undefined reference to `MPI_Init'<br>&gt; &gt; C:/DOCUME~1/ting/LOCALS~1/Temp/cc40AD3K.o:test.c:(.text+0x4b): <br>&gt; &gt; undefined reference to `MPI_Comm_rank'<br>&gt; &gt; collect2: ld returned 1 exit status<br>&gt; <br>&gt; Could you try<br>&gt; <br>&gt; gcc -I /c/MPICH2/include/ test.c -L/c/MPICH2/lib/ -lmpi<br>&gt; <br>&gt; Since your testprogram depends on the mpi library you need to specify <br>&gt; the library after your program because the linker goes from left to right.<br>&gt; &gt;<br>&gt; &gt; It seems that the library file libmpi.a is corrected specified, <br>&gt; &gt; because if I change it to -lmpi1 it will report<br>&gt; &gt; c:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: <br>&gt; &gt; cannot find -lmpi1<br>&gt; &gt; collect2: ld returned 1 exit status<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; 2) My less successful attempt was on a Win64 (Vista64) platform with <br>&gt; &gt; MingW + gcc4.3:<br>&gt; &gt; I tried installing the mpich2-1.0.8-win-x86-64.msi. but<br>&gt; &gt; a) after the installation, I couldn't find libmpi.a in MPICH2\lib <br>&gt; &gt; folder as I was able to in case 1).b) when I am compiling the toy test <br>&gt; &gt; program, I get many errors like this:<br>&gt; &gt;<br>&gt; &gt; In file included from test.c:1:<br>&gt; &gt; c:/MPICH2/include/mpi.h:334: error: expected '=', ',', ';', 'asm' or <br>&gt; &gt; '__attribute__' before 'MPI_Aint'<br>&gt; &gt;<br>&gt; &gt; Is this a gcc4.x problem?<br>&gt; <br>&gt; Did you take a look at mpi.h line 334? On Linux I can see typedef long <br>&gt; MPI_Aint; . Could you compile with the -E flag to see the preprocessor <br>&gt; output? Maybe something is overwriting long?<br>&gt; <br>&gt; &gt;<br>&gt; &gt; Best<br>&gt; &gt;<br>&gt; &gt; T<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt; From: jayesh@mcs.anl.gov<br>&gt; &gt; To: leitingl@hotmail.com<br>&gt; &gt; CC: mpich-discuss@mcs.anl.gov<br>&gt; &gt; Subject: RE: [mpich-discuss] (no subject) - mingw<br>&gt; &gt; Date: Tue, 2 Dec 2008 13:34:18 -0600<br>&gt; &gt;<br>&gt; &gt; Hi,<br>&gt; &gt;  You could try installing MPICH2 on windows (from the installer <br>&gt; &gt; available at <br>&gt; &gt; http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads) <br>&gt; &gt; and compile your code and link with the gcc libs (*.a) provided with <br>&gt; &gt; the installation (MPICH2\lib directory).<br>&gt; &gt;  <br>&gt; &gt; Regards,<br>&gt; &gt; Jayesh<br>&gt; &gt;<br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt; *From:* mpich-discuss-bounces@mcs.anl.gov <br>&gt; &gt; [mailto:mpich-discuss-bounces@mcs.anl.gov] *On Behalf Of *ting lei<br>&gt; &gt; *Sent:* Tuesday, December 02, 2008 1:31 PM<br>&gt; &gt; *To:* mpich-discuss@mcs.anl.gov<br>&gt; &gt; *Subject:* [mpich-discuss] (no subject)<br>&gt; &gt;<br>&gt; &gt; Hi,<br>&gt; &gt;<br>&gt; &gt; This might be a newbie question.<br>&gt; &gt; I see in this thread that people can compile MPICH2 with MingW. I tried that with MingW (gcc 4.3 and 3.4x) several times but <br>&gt; &gt; I was never able to get past the ./configure step. <br>&gt; &gt; /"I have compiled a C executable using the MPICH2 Windows libraries and //MinGW./"<br>&gt; &gt; Could someone please give me some pointers how to compile such an executable?<br>&gt; &gt; More specifically, do I have to compile MPICH2 itself from source using MinGW then use some program such as mpicc?? <br>&gt; &gt; or should I just compile a regular c program and run it with mpiexec.exe ?<br>&gt; &gt; If I were to compile MPICH2 itself with MingW, what other packages do I need except the latest version of MingW?<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Many thanks for your help<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;   <br>&gt; &gt;<br>&gt; &gt; &lt;http://clk.atdmt.com/MRT/go/127032869/direct/01/&gt;<br>&gt; &gt; ------------------------------------------------------------------------<br>&gt; &gt; It’s the same Hotmail®. If by “same” you mean up to 70% faster. Get <br>&gt; &gt; your account now. <br>&gt; &gt; &lt;http://windowslive.com/online/hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_broad1_122008&gt;<br>&gt; <br><br /><hr />Send e-mail faster without improving your typing skills. <a href='http://windowslive.com/online/hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_speed_122008' target='_new'>Get your Hotmail® account.</a></body>
</html>