Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] error compiling openmpi-1.6.1 on Windows 7
From: Siegmar Gross (Siegmar.Gross_at_[hidden])
Date: 2012-08-29 06:33:55


Hi Shiqing,

> It seems that the runtime environment is messed up with the different
> versions of Open MPI. I suggest you completely remove all the
> installations and install 1.6.1 again (just build the installation
> project again). It should work without any problem under Cygwin too.

I removed openmpi-1.6 und rebuilt openmpi-1.6.1. Now I can compile and
run a program in 32-bit mode but have still some problems.

D:\...\prog\mpi\small_prog>mpicc init_finalize.c
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version
  16.00.40219.01 für 80x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

init_finalize.c
Microsoft (R) Incremental Linker Version 10.00.40219.01
Copyright (C) Microsoft Corporation. All rights reserved.

/out:init_finalize.exe
"/LIBPATH:C:\Program Files (x86)\openmpi-1.6.1\bin/../lib"
libmpi.lib
libopen-pal.lib
libopen-rte.lib
advapi32.lib
Ws2_32.lib
shlwapi.lib
init_finalize.obj

D:\...\prog\mpi\small_prog>mpiexec init_finalize.exe
---------------------------------------------------------------------
Sorry! You were supposed to get help about:
    invalid if_inexclude
But I couldn't open the help file:
    D:\...\prog\mpi\small_prog\..\share\openmpi\help-mpi-btl-tcp.txt:
    No such file or directory. Sorry!
---------------------------------------------------------------------

Hello!

Why does "mpiexec" look for the help file relativ to my current
program and not relative to itself? The file is part of the
package.

dir "c:\Program Files (x86)\openmpi-1.6.1\share\openmpi\help-mpi-btl-tcp.txt"
...
03.04.2012 16:30 631 help-mpi-btl-tcp.txt

Must I change something in the source code or can I set an environment
variable for help files? Why does "mpiexec" want to give some help at all?
I don't get this message for openmpi-1.5.1.

D:\...\prog\mpi\small_prog>mpicc init_finalize.c
Microsoft (R) 32-Bit C/C++-Optimierungscompiler Version 16.00.40219.01
  für 80x86
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

init_finalize.c
Microsoft (R) Incremental Linker Version 10.00.40219.01
Copyright (C) Microsoft Corporation. All rights reserved.

/out:init_finalize.exe
"/LIBPATH:C:/Program Files (x86)/openmpi-1.5.1/lib"
libmpi.lib
libopen-pal.lib
libopen-rte.lib
advapi32.lib
Ws2_32.lib
shlwapi.lib
init_finalize.obj

D:\...\prog\mpi\small_prog>mpiexec init_finalize.exe
Hello!
D:\...\prog\mpi\small_prog>

I can also compile in 64-bit mode but the program hangs.

D:\...\prog\mpi\small_prog>mpicc init_finalize.c

Microsoft (R) C/C++-Optimierungscompiler Version 16.00.40219.01 für x64
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

init_finalize.c
Microsoft (R) Incremental Linker Version 10.00.40219.01
Copyright (C) Microsoft Corporation. All rights reserved.

/out:init_finalize.exe
"/LIBPATH:C:\Program Files\openmpi-1.6.1\bin/../lib"
libmpi.lib
libopen-pal.lib
libopen-rte.lib
advapi32.lib
Ws2_32.lib
shlwapi.lib
init_finalize.obj

D:\...\prog\mpi\small_prog>mpiexec init_finalize.exe
^C
D:\...\prog\mpi\small_prog>

It's the same if I compile a 64-bit program with openmpi-1.5.1. The program
itself is very small.

#include <stdio.h>
#include <stdlib.h>
#include "mpi.h"

int main (int argc, char *argv[])
{
  MPI_Init (&argc, &argv);
  printf ("Hello!\n");
  MPI_Finalize ();
  return EXIT_SUCCESS;
}

Any ideas why the 64-bit version hangs? Thank you very much for any help
in advance.

Kind regards

Siegmar