Few months ago it was compiling nicely under Cygwin, Mingw and
Interix. They are definitively very Unix like environments so few
changes were required. All changes I made are now in the trunk, so I
expect a smooth compilation under all these environments. I used 2
compilers, the mingw gcc (supposed to generate Windows native
executables) as well as cl (the Microsoft compiler). I had to use the
latest beta of the libtool in order to get Windows support (more
precisely cl support).
The whole compilation took about 4 hours on my 2.5Ghz AMD processor.
Way to much to be usable for anything else than a proof of concept.
The main overhead come from the compilation environment, and all the
processes that get spawned. So, I decide to move toward a completely
Windows native version. I have 2 sets of solution and projects files
(for the free version of Visual Studio), one for building everything
as a static library and one for building everything as a shared
library. The compilation is taking now around 3 minutes on the same
machine.
Meanwhile, we added registry support, installation scripts, better
support for the atomic operations, better path management, threads,
critical sections and synchronization primitives, simple approach to
Direct Socket.
If anybody want to provide some help, I can distribute the project
files.
Thanks,
george.
On Mar 1, 2007, at 6:10 AM, Jeff Squyres wrote:
George Bosilca at U. Tennessee is working on a native Windows port
for Open MPI; I don't know if anyone has ever tried to compile or run
it under cygwin.
George -- can you comment?
On Feb 27, 2007, at 10:00 PM, Ganapathi Kamath wrote:
Justing passing along some information about building on cygwin, if
someone
else is trying.
Though I can't comment on whether the modifications are sound or
whether resulting build is workable, it just pushes through the
build.
I made the following changes to revision 13777 off
http://svn.open-mpi.org/svn/ompi/trunk
./ompi/mca/common/sm/common_sm_mmap.c
51a52
#include <sys/uio.h>
./ompi/runtime/ompi_mpi_preconnect.c
26a27
#include <sys/uio.h>
./opal/include/opal/sys/atomic.h
241c241
< void opal_atomic_init(opal_atomic_lock_t* lock, int value);
---
void opal_atomic_init(opal_atomic_lock_t* lock, int32_t value);
./opal/mca/paffinity/windows/paffinity_windows.h
33a34
#include <w32api/windows.h>
./opal/mca/timer/windows/timer_windows_component.c
22c22
< #include "opal/mca/timer/windows/timer_windows_component.h"
---
#include "opal/mca/timer/windows/timer_windows.h"
I am still trying to figure things out.
[SYRU212-168:02268] *** Process received signal ***
[SYRU212-168:02268] Signal: Segmentation fault (11)
[SYRU212-168:02268] Signal code: (23)
[SYRU212-168:02268] Failing at address: 0x610c5115
[SYRU212-168:02268] *** End of error message ***
23 [main] ompi_info 2268 _cygtls::handle_exceptions: Exception:
STATUS_ACCESS_VIOLATION
8485 [main] ompi_info 2268 open_stackdumpfile: Dumping stack
trace to
ompi_info.exe.stackdump
Program received signal SIGSEGV, Segmentation fault.
0x61016525 in stack_info::walk () from /usr/bin/cygwin1.dll
(gdb) bt
#0 0x61016525 in stack_info::walk () from /usr/bin/cygwin1.dll
#1 0x7c859dcc in OutputDebugStringA ()
from /cygdrive/c/WINDOWS/system32/kernel32.dll
#2 0x40010006 in ?? ()
#3 0x00000000 in ?? ()
The build configuration options were
./configure --prefix=/opt/openmpi/openmpi-1.2-svn/bin
--exec-prefix=/opt/openmpi/openmpi-1.2-svn/bin
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
--
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users
"Half of what I say is meaningless; but I say it so that the other
half may reach you"
Kahlil Gibran