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,