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?