Hi Siegmar,
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.
Shiqing
On 2012-08-27 4:02 PM, Siegmar Gross wrote:
Hi,
thank you very much for your reply. I compiled and installed
openmpi-1.6.1. Unfortunately I cannot compile programs because
"mpicc" uses wrong path names. I have set an environment for
openmpi-1.6.1 as you can see from the following output.
D:\...prog\mpi\small_prog>set | c:\cygwin\bin\grep openmpi
LIB=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib\amd64;
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64;
C:\Program Files\openmpi-1.6.1\lib
LIBPATH=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\lib\amd64;
C:\Program Files\openmpi-1.6.1\lib
Path=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcpackages;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\;
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\;
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\x64;
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64;
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\;
C:\Windows\System32;
C:\Windows;
C:\Windows\System32\Wbem;
C:\Program Files\openmpi-1.6.1\bin;
C:\cmd;.
I get the following error when I try to compile my program
because of "/LIBPATH:C:\Program Files (x86)\openmpi-1.6/lib".
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 (x86)\openmpi-1.6/lib"
libmpi.lib
libopen-pal.lib
libopen-rte.lib
advapi32.lib
Ws2_32.lib
shlwapi.lib
init_finalize.obj
init_finalize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
"__imp_MP
I_Finalize" in Funktion "main".
init_finalize.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol
"__imp_MP
I_Init" in Funktion "main".
init_finalize.exe : fatal error LNK1120: 2 nicht aufgelöste externe Verweise.
When I start in a new command shell without my MPI environment,
I get the following outputs for "mpicc -show". The first one
is OK, but both others are wrong because they point to 32-bit
libraries instead of 64-bit ones. Why do both versions point
to openmpi-1.6? I downloaded and installed the precompiled
32- and 64-bit version 1.6 from open-mpi.org.
C:\Program Files>openmpi-1.5.1\bin\mpicc -show
cl.exe /I"C:/Program Files/openmpi-1.5.1/include" /TC /D "OMPI_IMPORTS" /D
"OPAL_IMPORTS"
/D "ORTE_IMPORTS" /link /LIBPATH:"C:/Program Files/openmpi-1.5.1/lib"
libmpi.lib libopen-p
al.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib
C:\Program Files>openmpi-1.6\bin\mpicc -show
cl.exe /I"C:\Program Files (x86)\openmpi-1.6/include" /TC /DOMPI_IMPORTS
/DOPAL_IMPORTS /D
ORTE_IMPORTS /link /LIBPATH:"C:\Program Files (x86)\openmpi-1.6/lib" libmpi.lib
libopen-pa
l.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib
C:\Program Files>openmpi-1.6.1\bin\mpicc -show
cl.exe /I"C:\Program Files (x86)\openmpi-1.6/include" /TC /DOMPI_IMPORTS
/DOPAL_IMPORTS /D
ORTE_IMPORTS /link /LIBPATH:"C:\Program Files (x86)\openmpi-1.6/lib" libmpi.lib
libopen-pa
l.lib libopen-rte.lib advapi32.lib Ws2_32.lib shlwapi.lib
Do you have any idea what I have done wrong? Thank you very
much for any help in advance.
Kind regards
Siegmar
I didn't have this problem when building the binary release.
But to solve the problem is very easy. You can just open
\openmpi-1.6.1\ompi\mca\osc\rdma\osc_rdma_data_move.c, and go
to line 1099, change "void*" to "void**". This will get rid of the error.
For the warnings, they are just some redefinitions that cannot
be avoided, they are totally harmless.
Regards,
Shiqing
On 2012-08-27 1:02 PM, Siegmar Gross wrote:
Hi,
I tried to compile openmpi-1.6.1 with CMake-2.8.3 and Visual Studio
2010 on Windows 7. All service packs and patches from Microsoft are
installed.
I changed the following options:
CMAKE_BUILD_TYPE: "Debug" modified to "Release"
CMAKE_INSTALL_PREFIX: modified to "c:/Program Files (x86)/openmpi-1.6.1"
OMPI_ENABLE_THREAD_MULTIPLE: "no" changed to "yes"
OMPI_RELEASE_BUILD: "no" changed to "yes"
OPAL_ENABLE_HETEREOGENEOUS:SUPPORT: "no" changed to "yes"
OPAL_ENABLE_IPV6: "yes" changed to "no"
OPAL_ENABLE_MULTI_THREADS: "no" changed to "yes"
I also selected "Release" in "Visual Studio". Unfortunately I got the
following error ("void *" cannot be converted to "void **").
Fehler 77 error C2440: '=': 'void *' kann nicht in 'void **'
konvertiert werden
...\openmpi-1.6.1\ompi\mca\osc\rdma\osc_rdma_data_move.c
1099 1 libmpi
Fehler 90 error LNK1181: Eingabedatei "..\..\..\Release\libmpi.lib"
kann nicht geöffnet werden.
...\openmpi-1.6.1-Windows_VS2010_x32\ompi\tools\ompi-server\LINK
ompi-server
Fehler 94 error LNK1181: Eingabedatei "..\..\..\Release\libmpi.lib"
kann nicht geöffnet werden.
...\openmpi-1.6.1-Windows_VS2010_x32\ompi\tools\ompi_info\LINK
ompi_info
Fehler 162 error LNK1181: Eingabedatei "..\..\..\Release\libmpi.lib"
kann nicht geöffnet werden.
...\openmpi-1.6.1-Windows_VS2010_x32\ompi\mpi\cxx\LINK
libmpi_cxx
I get also a lot of warnings, from wich I have listed a few.
Warnung 1 warning C4005: 'PACKAGE_BUGREPORT': Makro-Neudefinition
...\openmpi-1.6.1\opal\event\win32-code\config.h
185 1 libopen-pal
Warnung 2 warning C4005: 'PACKAGE_NAME': Makro-Neudefinition
...\openmpi-1.6.1\opal\event\win32-code\config.h
188 1 libopen-pal
Warnung 3 warning C4005: 'PACKAGE_STRING': Makro-Neudefinition
...\openmpi-1.6.1\opal\event\win32-code\config.h
191 1 libopen-pal
Warnung 4 warning C4005: 'PACKAGE_TARNAME': Makro-Neudefinition
...\openmpi-1.6.1\opal\event\win32-code\config.h
194 1 libopen-pal
Warnung 5 warning C4005: 'PACKAGE_VERSION': Makro-Neudefinition
...\openmpi-1.6.1\opal\event\win32-code\config.h
197 1 libopen-pal
Warnung 6 warning C4005: '__func__': Makro-Neudefinition
...\openmpi-1.6.1\opal\event\win32-code\config.h
212 1 libopen-pal
Warnung 7 warning C4013: 'opal_event_warn' undefiniert;
Annahme: extern mit Rückgabetyp int
...\openmpi-1.6.1\opal\event\WIN32-Code\win32.c
170 1 libopen-pal
Warnung 8 warning C4005: 'INT8_MIN': Makro-Neudefinition
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
72 1 libopen-pal
Warnung 9 warning C4005: 'INT16_MIN': Makro-Neudefinition
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
73 1 libopen-pal
Warnung 10 warning C4005: 'INT32_MIN': Makro-Neudefinition
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
74 1 libopen-pal
Warnung 11 warning C4005: 'INT8_MAX': Makro-Neudefinition
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
76 1 libopen-pal
Warnung 12 warning C4005: 'INT16_MAX': Makro-Neudefinition
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
77 1 libopen-pal
Warnung 13 warning C4005: 'INT32_MAX': Makro-Neudefinition
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
78 1 libopen-pal
Warnung 14 warning C4005: 'UINT8_MAX': Makro-Neudefinition
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
79 1 libopen-pal
Warnung 15 warning C4005: 'UINT16_MAX': Makro-Neudefinition
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
80 1 libopen-pal
Warnung 16 warning C4005: 'UINT32_MAX': Makro-Neudefinition
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h
81 1 libopen-pal
Warnung 17 warning C4018: '<': Konflikt zwischen 'signed' und 'unsigned'
...\openmpi-1.6.1-Windows_VS2010_x32\opal\keyval_lex.c
libopen-pal
Warnung 18 warning C4273: '_isatty': Inkonsistente DLL-Bindung.
...\openmpi-1.6.1-Windows_VS2010_x32\opal\keyval_lex.c
libopen-pal
...
What can I do to get around the error so that I can compile Open MPI?
Thank you very much for any suggestions in advance.
Kind regards
Siegmar
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
---------------------------------------------------------------
Shiqing Fan
High Performance Computing Center Stuttgart (HLRS)
Tel: ++49(0)711-685-87234 Nobelstrasse 19
Fax: ++49(0)711-685-65832 70569 Stuttgart
http://www.hlrs.de/organization/people/shiqing-fan/
email: f...@hlrs.de
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
---------------------------------------------------------------
Shiqing Fan
High Performance Computing Center Stuttgart (HLRS)
Tel: ++49(0)711-685-87234 Nobelstrasse 19
Fax: ++49(0)711-685-65832 70569 Stuttgart
http://www.hlrs.de/organization/people/shiqing-fan/
email: f...@hlrs.de