On 12/02/2014 04:18, Ralph Castain wrote:
Things are looking relatively good - I see two recurring failures: 1. idx_null - no idea what that test does, but it routinely fails 2. intercomm_create - this is the 3-way connect/accept/merge. Nathan - I believe you had a fix for that? Ralph
openmpi-1.7.5a1r30692-1 builds fine con cygwin64 only failure the already know https://svn.open-mpi.org/trac/ompi/ticket/4195 Attached patch equivalent to what is already on trunk for ohsmem Regards Marco
--- origsrc/openmpi-1.7.5a1r30692/oshmem/include/shmem.h.in 2014-02-12 01:14:52.000000000 +0100 +++ src/openmpi-1.7.5a1r30692/oshmem/include/shmem.h.in 2014-02-12 21:10:52.337417500 +0100 @@ -14,7 +14,7 @@ #include <stddef.h> /* include for ptrdiff_t */ -#if defined(WIN32) || defined(_WIN32) +#if defined(WIN32) && !defined(__CYGWIN__) # define OSHMEM_COMPLEX_TYPE(type) #else # if defined(c_plusplus) || defined(__cplusplus) @@ -35,7 +35,7 @@ #ifndef OSHMEM_DECLSPEC -# if defined(WIN32) || defined(_WIN32) +# if defined(WIN32) && !defined(__CYGWIN__) # if defined(OSHMEM_IMPORTS) # define OSHMEM_DECLSPEC __declspec(dllimport) # else --- origsrc/openmpi-1.9a1r30128/oshmem/mca/memheap/base/memheap_base_alloc.c 2014-01-07 03:05:02.000000000 +0100 +++ src/openmpi-1.9a1r30128/oshmem/mca/memheap/base/memheap_base_alloc.c 2014-01-09 15:36:22.121579700 +0100 @@ -21,6 +21,7 @@ #include <sys/ipc.h> #include <sys/shm.h> +#include <sys/stat.h> #if defined(MPAGE_ENABLE) && (MPAGE_ENABLE > 0) #include <infiniband/verbs.h> @@ -215,7 +216,7 @@ static int _shm_attach(map_segment_t *s, shm_context = use_hp; - flags = IPC_CREAT | IPC_EXCL | SHM_R | SHM_W; + flags = IPC_CREAT | IPC_EXCL | S_IRUSR | S_IWUSR; #if defined (SHM_HUGETLB) flags |= (use_hp ? SHM_HUGETLB : 0); #endif --- origsrc/openmpi-1.9a1r30128/oshmem/mca/memheap/ptmalloc/malloc.c 2014-01-07 03:05:02.000000000 +0100 +++ src/openmpi-1.9a1r30128/oshmem/mca/memheap/ptmalloc/malloc.c 2014-01-10 14:16:10.423949900 +0100 @@ -487,6 +487,9 @@ MAX_RELEASE_CHECK_RATE default: 255 un #define WIN32 1 #endif /* _WIN32 */ #endif /* WIN32 */ +#if defined(__CYGWIN__) /* WORKAROUND as something is pulling the wrong def*/ +#undef WIN32 +#endif #ifdef WIN32 #define WIN32_LEAN_AND_MEAN #include <windows.h>