This is due to a problem in (void *)->(uint64_t_ conversion in OMPI. The
following patch fixes the problem, as would an appropriate cast of pval, I
suspect. The problem is an inappropriate use of ompi_ptr_t. I would guess
that other uses of lval might be suspect also (such as in the Portals code),
since lval might be undefined after assigning pval on a 32 bit system.
After applying this patch, HPCC runs fine on OSX.
regards,
-reese
--- ompi/mca/btl/gm/btl_gm.c
+++ ompi/mca/btl/gm/btl_gm.c
@@ -774,7 +774,11 @@
/* post the put descriptor */
gm_put(gm_btl->port,
des->des_src->seg_addr.pval,
+#if GM_SIZEOF_VOID_P == 4
+ des->des_dst->seg_addr.ival,
+#else
des->des_dst->seg_addr.lval,
+#endif
des->des_src->seg_len,
GM_LOW_PRIORITY,
endpoint->endpoint_addr.node_id,
@@ -816,7 +820,11 @@
/* post the put descriptor */
gm_put(gm_btl->port,
des->des_src->seg_addr.pval,
+#if GM_SIZEOF_VOID_P == 4
+ des->des_dst->seg_addr.ival,
+#else
des->des_dst->seg_addr.lval,
+#endif
des->des_src->seg_len,
GM_LOW_PRIORITY,
endpoint->endpoint_addr.node_id,
@@ -919,7 +927,11 @@
/* post get put descriptor */
gm_get(gm_btl->port,
+#if GM_SIZEOF_VOID_P == 4
+ des->des_dst->seg_addr.ival,
+#else
des->des_dst->seg_addr.lval,
+#endif
des->des_src->seg_addr.pval,
des->des_src->seg_len,
GM_LOW_PRIORITY,
@@ -962,7 +974,11 @@
/* post get put descriptor */
gm_get(gm_btl->port,
+#if GM_SIZEOF_VOID_P == 4
+ des->des_dst->seg_addr.ival,
+#else
des->des_dst->seg_addr.lval,
+#endif
des->des_src->seg_addr.pval,
des->des_src->seg_len,
GM_LOW_PRIORITY,