- removed comment
Carpet complains about lack of mpi after ExternalLibraries/OpenMPI is built
I was able to compile ExternalLibraries/OpenMPI successfully, but the Cactus compilation stops afterwards with the message:
/home/bruno/tmp/einstein_dev_maxwell/Cactus/arrangements/Carpet/CarpetLib/src/make.configuration.defn:5: Configuration error: The Carpet thorns require MPI. Please configure with MPI, or remove the Carpet thorns from the ThornList.. Stop. make: [einstein] Error 2
I indicated in my configuration file the following options:
OPENMPI_DIR = BUILD OPENMPI_INSTALL_DIR = /home/bruno/local/gcc4.6.1/openmpi-1.5.4
I have then tried to indicate in my config file these extra options after the library was built (and the rest of Cactus compilation stopped):
OPENMPI_DIR = /home/bruno/local/gcc4.6.1/openmpi-1.5.4 OPENMPI_INC_DIRS = /home/bruno/local/gcc4.6.1/openmpi-1.5.4/include OPENMPI_LIB_DIRS = /home/bruno/local/gcc4.6.1/openmpi-1.5.4/lib
The config-info file does reflect these choices afterwards, and apparently the flag indicating the presence of mpi library, HAVE_MPI, was set correctly at ~/Cactus/configs/einstein/bindings/Configuration/Capabilities:
grep -i have_mpi * cctki_MPI.h:#define HAVE_MPI 1 make.MPI.defn:HAVE_MPI = 1
however since I didn't use the old mechanism to tell Cactus about MPI, the ~/Cactus/configs/einstein/config-data/make.extra.defn doesn't have anything indicating the presence of mpi library there.
It seems to me a compilation order issue. Somehow HAVE_MPI definition is coming after Carpet compilation, triggering this error then.
Does anyone have any idea where I should look at in order to fix this problem?
Thanks, Bruno.
Keyword:
Comments (5)
-
-
- removed comment
I wouldn't like thorns adding "REQUIRES OpenMPI" if in fact all they need is _some_ MPI. Couldn't we let OpenMPI provide MPI (as well) and thorns might then depend on that?
-
- removed comment
I believe this issue has now been resolved; can you confirm this?
-
- changed status to resolved
- removed comment
I assume this problems has now been corrected.
-
- edited description
- changed status to closed
- Log in to comment
OpenMPI cannot be used as is; several other modifications are necessary as well. These depend on some enhancements that are awaiting review, in particular
#686, which in turn depends on#685.Once these are in Cactus, one has to add "REQUIRES OpenMPI" and/or "OPTIONAL OpenMPI" statements to the configuration.ccl files of all thorns that use MPI. Also, the thorn list and many Simfactory option files need to be updated then.