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,