@@ -76,6 +76,26 @@ AC_DEFUN([MCA_oshmem_sshmem_verbs_CONFIG],[
7676 exp_reg_mr_happy= 0
7777 AS_IF([test " $oshmem_have_mpage " = " 3" ],
7878 [
79+ oshmem_verbs_save_CFLAGS= " $CFLAGS "
80+ CFLAGS= " $CFLAGS -Wno-strict-prototypes -Werror"
81+
82+ AC_COMPILE_IFELSE(
83+ [AC_LANG_PROGRAM([[# include <infiniband/verbs_exp.h>]],
84+ [[
85+ struct ibv_exp_reg_shared_mr_in in_smr;
86+ uint64_t access_flags = IBV_EXP_ACCESS_SHARED_MR_USER_READ |
87+ IBV_EXP_ACCESS_SHARED_MR_USER_WRITE |
88+ IBV_EXP_ACCESS_SHARED_MR_GROUP_READ |
89+ IBV_EXP_ACCESS_SHARED_MR_GROUP_WRITE |
90+ IBV_EXP_ACCESS_SHARED_MR_OTHER_READ |
91+ IBV_EXP_ACCESS_SHARED_MR_OTHER_WRITE;
92+ in_smr.exp_access = access_flags;
93+ ibv_exp_reg_shared_mr(& in_smr);
94+ ]])], [],
95+ [oshmem_verbs_sm_build_verbs= 0])
96+
97+ CFLAGS= " $oshmem_verbs_save_CFLAGS "
98+
7999 AC_CHECK_MEMBER([struct ibv_exp_reg_shared_mr_in.exp_access],
80100 [exp_access_happy= 1],
81101 [],
@@ -90,8 +110,7 @@ AC_DEFUN([MCA_oshmem_sshmem_verbs_CONFIG],[
90110 AC_DEFINE_UNQUOTED(MPAGE_HAVE_IBV_EXP_REG_MR_CREATE_FLAGS, $exp_reg_mr_happy , [create_flags field is part of ibv_exp_reg_mr_in])
91111
92112 AS_IF([test " $enable_verbs_sshmem " = " yes" && test " $oshmem_verbs_sm_build_verbs " = " 0" ],
93- [AC_MSG_WARN([VERBS shared memory support requested but not found])
94- AC_MSG_ERROR([Cannot continue])])
113+ [AC_MSG_WARN([VERBS shared memory support requested but not found])])
95114
96115 AS_IF([test " $oshmem_verbs_sm_build_verbs " = " 1" ], [$1 ], [$2 ])
97116
0 commit comments