-
Notifications
You must be signed in to change notification settings - Fork 931
Closed
Labels
Milestone
Description
Thank you for taking the time to submit an issue!
Background information
What version of Open MPI are you using? (e.g., v3.0.5, v4.0.2, git branch name and hash, etc.)
OpenMPI v4.1.1
PMIx v4.1.0
Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)
Everything is build from source for the EasyBuild project.
Please describe the system on which you are running
Error seems reproducible on many (all?) platforms. Cf. easybuilders/easybuild-easyconfigs#13668
Details of the problem
Building against the new PMIx 4.1.0 I see compilation errors almost immediately
make[2]: Leaving directory `/local/EB/build/OpenMPI/4.1.1/GCC-11.2.0/openmpi-4.1.1/opal'
Making all in mca/common/ofi
make[2]: Entering directory `/local/EB/build/OpenMPI/4.1.1/GCC-11.2.0/openmpi-4.1.1/opal/mca/common/ofi'
CC common_ofi.lo
LN_S libmca_common_ofi.la
In file included from ../../../../opal/mca/pmix/base/base.h:22,
from common_ofi.c:29:
common_ofi.c: In function get_package_rank:
common_ofi.c:321:40: error: PMIX_PACKAGE_RANK undeclared (first use in this function)
321 | OPAL_MODEX_RECV_VALUE_OPTIONAL(rc, PMIX_PACKAGE_RANK,
| ^~~~~~~~~~~~~~~~~
../../../../opal/mca/pmix/pmix.h:153:56: note: in definition of macro OPAL_MODEX_RECV_VALUE_OPTIONAL
153 | if (OPAL_SUCCESS == ((r) = opal_pmix.get((p), (s), &(_ilist), &(_kv)))) { \
| ^
common_ofi.c:321:40: note: each undeclared identifier is reported only once for each function it appears in
321 | OPAL_MODEX_RECV_VALUE_OPTIONAL(rc, PMIX_PACKAGE_RANK,
| ^~~~~~~~~~~~~~~~~
../../../../opal/mca/pmix/pmix.h:153:56: note: in definition of macro OPAL_MODEX_RECV_VALUE_OPTIONAL
153 | if (OPAL_SUCCESS == ((r) = opal_pmix.get((p), (s), &(_ilist), &(_kv)))) { \
| ^
make[2]: *** [common_ofi.lo] Error 1
make[2]: Leaving directory `/local/EB/build/OpenMPI/4.1.1/GCC-11.2.0/openmpi-4.1.1/opal/mca/common/ofi'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/local/EB/build/OpenMPI/4.1.1/GCC-11.2.0/openmpi-4.1.1/opal'
make: *** [all-recursive] Error 1
I seems like it might be as simple as a missing include.
Perhaps trying to use PMIx 4 isn't a good idea here? (I'm not sure about how it would interact with pmix3 software, like the slurm builds likely would be using)