<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>> 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 <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>> Date: Sun, 4 Jan 2009 18:29:23 +0100<br>> From: ddkrause@uni-bonn.de<br>> To: mpich-discuss@mcs.anl.gov<br>> Subject: Re: [mpich-discuss] question regarding compiling/linking under MingW (MPICH2 1.08)<br>> <br>> Hi<br>> <br>> ting lei wrote:<br>> > Hi,<br>> ><br>> > Sorry to bother all. I have some questions regarding using MPICH2 1.08 <br>> > with MingW<br>> ><br>> > I tried compile MPICH2 1.08 on two different machines, and have met <br>> > different problems. I was wondering if someone with a lot experience <br>> > could help me out here. thanks in advance.<br>> ><br>> > 1) The most successful attempt was on a win32 platform, XPSP3 with <br>> > MingW+gcc3.4.5<br>> > The command line I used was:<br>> > gcc -I /c/MPICH2/include/ -lmpi -L/c/MPICH2/lib/ test.c<br>> > and I get the following error:<br>> > C:/DOCUME~1/ting/LOCALS~1/Temp/cc40AD3K.o:test.c:(.text+0x38): <br>> > undefined reference to `MPI_Init'<br>> > C:/DOCUME~1/ting/LOCALS~1/Temp/cc40AD3K.o:test.c:(.text+0x4b): <br>> > undefined reference to `MPI_Comm_rank'<br>> > collect2: ld returned 1 exit status<br>> <br>> Could you try<br>> <br>> gcc -I /c/MPICH2/include/ test.c -L/c/MPICH2/lib/ -lmpi<br>> <br>> Since your testprogram depends on the mpi library you need to specify <br>> the library after your program because the linker goes from left to right.<br>> ><br>> > It seems that the library file libmpi.a is corrected specified, <br>> > because if I change it to -lmpi1 it will report<br>> > c:\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: <br>> > cannot find -lmpi1<br>> > collect2: ld returned 1 exit status<br>> ><br>> ><br>> > 2) My less successful attempt was on a Win64 (Vista64) platform with <br>> > MingW + gcc4.3:<br>> > I tried installing the mpich2-1.0.8-win-x86-64.msi. but<br>> > a) after the installation, I couldn't find libmpi.a in MPICH2\lib <br>> > folder as I was able to in case 1).b) when I am compiling the toy test <br>> > program, I get many errors like this:<br>> ><br>> > In file included from test.c:1:<br>> > c:/MPICH2/include/mpi.h:334: error: expected '=', ',', ';', 'asm' or <br>> > '__attribute__' before 'MPI_Aint'<br>> ><br>> > Is this a gcc4.x problem?<br>> <br>> Did you take a look at mpi.h line 334? On Linux I can see typedef long <br>> MPI_Aint; . Could you compile with the -E flag to see the preprocessor <br>> output? Maybe something is overwriting long?<br>> <br>> ><br>> > Best<br>> ><br>> > T<br>> ><br>> ><br>> > ------------------------------------------------------------------------<br>> > From: jayesh@mcs.anl.gov<br>> > To: leitingl@hotmail.com<br>> > CC: mpich-discuss@mcs.anl.gov<br>> > Subject: RE: [mpich-discuss] (no subject) - mingw<br>> > Date: Tue, 2 Dec 2008 13:34:18 -0600<br>> ><br>> > Hi,<br>> > You could try installing MPICH2 on windows (from the installer <br>> > available at <br>> > http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads) <br>> > and compile your code and link with the gcc libs (*.a) provided with <br>> > the installation (MPICH2\lib directory).<br>> > <br>> > Regards,<br>> > Jayesh<br>> ><br>> > ------------------------------------------------------------------------<br>> > *From:* mpich-discuss-bounces@mcs.anl.gov <br>> > [mailto:mpich-discuss-bounces@mcs.anl.gov] *On Behalf Of *ting lei<br>> > *Sent:* Tuesday, December 02, 2008 1:31 PM<br>> > *To:* mpich-discuss@mcs.anl.gov<br>> > *Subject:* [mpich-discuss] (no subject)<br>> ><br>> > Hi,<br>> ><br>> > This might be a newbie question.<br>> > 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>> > I was never able to get past the ./configure step. <br>> > /"I have compiled a C executable using the MPICH2 Windows libraries and //MinGW./"<br>> > Could someone please give me some pointers how to compile such an executable?<br>> > More specifically, do I have to compile MPICH2 itself from source using MinGW then use some program such as mpicc?? <br>> > or should I just compile a regular c program and run it with mpiexec.exe ?<br>> > If I were to compile MPICH2 itself with MingW, what other packages do I need except the latest version of MingW?<br>> ><br>> ><br>> > Many thanks for your help<br>> ><br>> ><br>> > <br>> ><br>> > <http://clk.atdmt.com/MRT/go/127032869/direct/01/><br>> > ------------------------------------------------------------------------<br>> > It’s the same Hotmail®. If by “same” you mean up to 70% faster. Get <br>> > your account now. <br>> > <http://windowslive.com/online/hotmail?ocid=TXT_TAGLM_WL_hotmail_acq_broad1_122008><br>> <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>