<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>RE: [mpich-discuss] need to compile unix code as windows exe</TITLE>

<META content="MSHTML 6.00.2800.1615" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=398515814-18112008><FONT face=Arial color=#0000ff size=2>I got 
things to work, but it's dependent apparently on some quirks in our network and 
relationships between machines.&nbsp; Am looking more closely into the 
issue.</FONT></SPAN></DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma 
  size=2>-----Original Message-----<BR><B>From:</B> 
  mpich-discuss-bounces@mcs.anl.gov 
  [mailto:mpich-discuss-bounces@mcs.anl.gov]<B>On Behalf Of </B>Jayesh 
  Krishna<BR><B>Sent:</B> Tuesday, November 18, 2008 8:50 AM<BR><B>To:</B> 
  'Manal Helal'<BR><B>Cc:</B> mpich-discuss@mcs.anl.gov<BR><B>Subject:</B> Re: 
  [mpich-discuss] need to compile unix code as windows exe<BR><BR></FONT></DIV><!-- Converted from text/plain format -->
  <P><FONT size=2>Hi,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Please find 
  my comments below,<BR><BR>&gt;&gt; ...the file "libmpi.a" and "libfmpich2g.a" 
  in "C:\Program Files\MPICH2\lib" are 0kb files ...<BR>&nbsp;The gcc libs 
  should not be 0kb in size. There is something wrong with your installation of 
  MPICH2. I recommend that you uninstall your current version of MPICH2, reboot 
  your machine (so that you don't have any MPI programs running in the bg), 
  install the latest stable version (1.0.8) of MPICH2.<BR><BR>&gt;&gt; 
  ...Credentials for Manal rejected connecting to mhelallpt-xp Aborting: Unable 
  to connect to mhelallpt-xp ...<BR>&nbsp;You have not registered your 
  username/password correctly with mpiexec. You should run "mpiexec -register" 
  and register your username/password (Run "mpiexec -validate" to make sure that 
  the registered username/password 
  works)<BR><BR>Regards,<BR>Jayesh<BR>-----Original Message-----<BR>From: Manal 
  Helal [<A 
  href="mailto:manalorama@gmail.com">mailto:manalorama@gmail.com</A>]<BR>Sent: 
  Tuesday, November 18, 2008 5:00 AM<BR>To: Jayesh Krishna<BR>Cc: 
  mpich-discuss@mcs.anl.gov; 'Dmitri Chubarov'<BR>Subject: Re: [mpich-discuss] 
  need to compile unix code as windows exe<BR><BR>Hello<BR><BR>Thank you for 
  your help, but I still need help to get my program running on a windows 
  cluster please. I followed both approaches as mentioned before,<BR><BR>The 
  first is trying to configure mpich2-1.0.8 to use mpicc on cygwin, gives the 
  following errors on cygwin on Windows XP 2002 with SP 
  3<BR>*****************************************<BR>$ 
  ./configure<BR>./configure: line 12: $'\r': command not found<BR>./configure: 
  line 23: syntax error near unexpected token `$'in\r''<BR>'/configure: line 23: 
  `&nbsp; case `(set -o) 2&gt;/dev/null` 
  in<BR>*****************************************<BR><BR>the second is using the 
  cygwin gcc and linking with lmpich, and that's how it goes:<BR><BR>some 
  information that might help:<BR>the file "libmpi.a" and "libfmpich2g.a" in 
  "C:\Program Files\MPICH2\lib"<BR>are 0kb files, I have "libmpichd.a" as a 1061 
  Kb file in the same folder, and "libmpich.a" as 1058 KB, and 'libmpicxx.a" as 
  199 kb file, "mpi.lib" is a 126 kb file, and "fmpich2.lib" as 130 kb 
  file.<BR><BR>the gcc version 
  is<BR>*****************************************<BR>$ gcc -v<BR>Reading specs 
  from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs<BR>Configured 
  with:<BR>/usr/build/package/orig/test.respin/gcc-3.4.4-3/configure --ver bose 
  --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libe 
  xecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info 
  --enable-langu ages=c,ada,c++,d,f77,pascal,java,objc --enable-nls 
  --without-included-gettext -- enable-version-specific-runtime-libs --without-x 
  --enable-libgcj<BR>--disable-java-<BR>awt --with-system-zlib 
  --enable-interpreter --disable-libgcj-debug --enable-thre ads=posix 
  --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptio ns 
  --enable-hash-synchronization --enable-libstdcxx-debug Thread model: posix gcc 
  version 3.4.4 (cygming special, gdc 0.12, using dmd 
  0.125)<BR>*****************************************<BR><BR>compiling a simple 
  program like :<BR>*****************************************<BR>#include 
  &lt;stdio.h&gt;<BR>#include &lt;math.h&gt;<BR>#include 
  &lt;mpi.h&gt;<BR><BR>int main(int argc, char **argv) {<BR>&nbsp;&nbsp;&nbsp; 
  int myProcid, ClusterSize;<BR>&nbsp;&nbsp;&nbsp; MPI_Init(&amp;argc, 
  &amp;argv);<BR>&nbsp;&nbsp;&nbsp; MPI_Comm_rank(MPI_COMM_WORLD, 
  &amp;myProcid);<BR>&nbsp;&nbsp;&nbsp; MPI_Comm_size(MPI_COMM_WORLD, 
  &amp;ClusterSize);<BR>&nbsp;&nbsp;&nbsp; printf ("Hello World Process %d / 
  %d.\n", myProcid, ClusterSize);<BR>&nbsp;&nbsp;&nbsp; //printf ("the 
  ceill(10.55) = %lld\n" , ceill(10.55));<BR>&nbsp;&nbsp;&nbsp; getc 
  (stdin);<BR>&nbsp;&nbsp;&nbsp; MPI_Finalize();<BR>&nbsp;&nbsp;&nbsp; return 
  0;<BR>}<BR>*****************************************<BR>It is compiled 
  as:<BR>*****************************************<BR>$ gcc hello.c -I 
  "/cygdrive/f/Program Files/MPICH2/include" -L "/cygdrive/f/Program 
  Files/MPICH2/lib" -lmpich -lm -o hello.exe<BR><BR>creates the exe file with no 
  errors, however, when I try to execute it using the mpich2 for windows 
  "wmpiexec" Interface with 4 processes all on the current node and showing 
  different windows, the windows don't come up, command shown 
  is:<BR>*****************************************<BR>"C:\Program 
  Files\MPICH2\bin\mpiexec.exe" -n 4&nbsp; -noprompt 
  "C:\cygwin\home\user\hello.exe"<BR>*****************************************<BR><BR>copying 
  the same command to cygwin, I get the errors 
  shown:<BR>*****************************************<BR>$ "/cygdrive/f/Program 
  Files/MPICH2/bin/mpiexec.exe" -n 4&nbsp; -noprompt hello.exe Credentials for 
  Manal rejected connecting to mhelallpt-xp<BR>Aborting: Unable to connect to 
  mhelallpt-xp<BR>*****************************************<BR><BR><BR>However, 
  compiling my mpi program using the following command in a 
  make<BR>file:<BR>*****************************************<BR>$gcc 
  "/cygdrive/f/Program Files/MPICH2/include" -L "/cygdrive/f/Program 
  Files/MPICH2/lib" -lmpich -lm&nbsp; main.c<BR><BR>where the main.o 
  is:<BR>main.o :&nbsp; main.c main.h utils.h globals.h<BR>&nbsp;&nbsp;&nbsp; 
  gcc -g -I "/cygdrive/f/Program Files/MPICH2/include" -L "/cygdrive/f/Program 
  Files/MPICH2/lib" main.c -lmpich -o 
  main.o<BR>*****************************************<BR><BR><BR>I get the 
  following 
  errors:<BR>*****************************************<BR>/home/user/proj/main.c:112: 
  undefined reference to `_MPI_Barrier'<BR>/home/user/proj/main.c:174: undefined 
  reference to `_MPI_Wtime'<BR>/home/user/proj/main.c:242: undefined reference 
  to `_MPI_Send'<BR>/home/user/proj/main.c:251: undefined reference to 
  `_MPI_Recv'<BR>/home/user/proj/main.c:314: undefined reference to 
  `_MPI_Init'<BR>/home/user/proj/main.c:316: undefined reference to 
  `_MPI_Comm_rank'<BR>/home/user/proj/main.c:318: undefined reference to 
  `_MPI_Comm_size'<BR>/home/user/proj/main.c:320: undefined reference to 
  `_MPI_Comm_group'<BR>/home/user/proj/main.c:321: undefined reference to 
  `_MPI_Comm_create'<BR>/home/user/proj/main.c:366: undefined reference to 
  `_MPI_Finalize'<BR>/home/user/proj/main.c:3254: undefined reference to 
  `_MPI_Waitall'<BR>/home/user/proj/main.c:3379: undefined reference to 
  `_MPI_Isend'<BR>/home/user/proj/main.c:3514: undefined reference to 
  `_MPI_Iprobe'<BR>/home/user/proj/main.c:3520: undefined reference to 
  `_MPI_Recv'<BR>*****************************************<BR><BR>It is 
  basically all MPI calls I make, and what I couldn't understand, why the 
  "MPI_Init" "MPI_Comm_rank", "MPI_Comm_size" and "MPI_Finalize"<BR>was found on 
  the test program, and not found in the main program.<BR><BR>when I compile 
  using the above command without the make file, I get more errors 
  like:<BR><BR>*****************************************<BR>main.c:165: error: 
  `MPI_Status' undeclared (first use in this function)<BR>main.c:242: error: 
  `MPI_INT' undeclared (first use in this function)<BR>main.c:302: error: 
  `MPI_Group' undeclared (first use in this function)<BR>main.c:316: error: 
  `MPI_COMM_WORLD' undeclared (first use in this function)<BR>main.c:3432: 
  error: `MPI_LONG' undeclared (first use in this function)<BR>main.c:3435: 
  error: `MPI_LONG_LONG' undeclared (first use in this function)<BR>main.c:3485: 
  error: `MPI_Status' undeclared (first use in this function)<BR>main.c:3514: 
  error: `MPI_ANY_SOURCE' undeclared (first use in this 
  function)<BR>main.c:3514: error: `MPI_ANY_TAG' undeclared (first use in this 
  function)<BR>main.c:3520: error: `MPI_LONG' undeclared (first use in this 
  function)<BR>main.c:3533: error: `MPI_LONG_LONG' undeclared (first use in this 
  function)<BR>main.c:3205: error: `MPI_SUCCESS' undeclared (first use in this 
  function)<BR>main.c:3209: error: `MPI_ERR_COMM' undeclared (first use in this 
  function)<BR>main.c:3213: error: `MPI_ERR_TYPE' undeclared (first use in this 
  function)<BR>main.c:3217: error: `MPI_ERR_COUNT' undeclared (first use in this 
  function)<BR>main.c:3221: error: `MPI_ERR_TAG' undeclared (first use in this 
  function)<BR>main.c:3225: error: `MPI_ERR_RANK' undeclared (first use in this 
  function)<BR>*****************************************<BR><BR>I also&nbsp; get 
  simillar errors to all long long functions which are not found on cygwin when 
  I searched or used the "man" command like 
  the<BR>following:<BR><BR>*****************************************<BR>/home/user/proj/main.c:907: 
  undefined reference to `_sqrtl'<BR>/home/user/proj/main.c:1743: undefined 
  reference to `_powl'<BR>/home/user/proj/main.c:2006: undefined reference to 
  `_ceill'<BR>/home/user/proj/main.c:2035: undefined reference to 
  `_floorl'<BR>*****************************************<BR>I appreciate your 
  help a lot,<BR><BR>Kind 
Regards,<BR><BR>Manal<BR></FONT></P></BLOCKQUOTE></BODY></HTML>