IOV_MAX not found in `cma_post.h`
Closed this issue · 1 comments
mjwilkins18 commented
Compiling on OpenSUSE 15.4, I got the following compile error:
In file included from ../src/mpid/ch4/shm/src/../posix/../ipc/src/ipc_p2p.h:14:0,
from ../src/mpid/ch4/shm/src/../posix/posix_coll_gpu_ipc.h:61,
from ../src/mpid/ch4/shm/src/../posix/posix_coll.h:12,
from ../src/mpid/ch4/shm/src/../posix/shm_inline.h:16,
from ../src/mpid/ch4/shm/src/shm_coll.h:10,
from ../src/mpid/ch4/shm/src/shm_impl.h:18,
from ../src/mpid/ch4/include/mpidch4.h:450,
from ../src/mpid/ch4/include/mpidpost.h:10,
from ../src/include/mpiimpl.h:232,
from ../src/mpi/coll/allreduce/allreduce_intra_recursive_multiplying.c:8:
../src/mpid/ch4/shm/src/../posix/../ipc/src/../cma/cma_post.h: In function 'MPIDI_CMA_get_ipc_attr':
../src/mpid/ch4/shm/src/../posix/../ipc/src/../cma/cma_post.h:70:33: error: 'IOV_MAX' undeclared (first use in this function); did you mean 'INT_MAX'?
} else if (num_blocks > IOV_MAX) {
^~~~~~~
INT_MAX
I deleted the offending line to work around the issue, but I am opening this issue for visibility. Strangely, cma_post.c
uses IOV_MAX
with no issue.
mjwilkins18 commented
Fixed by reordering includes, make sure to put mpiimpl.h
before POSIX headers!