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>