Carpet complains about lack of mpi after ExternalLibraries/OpenMPI is built

Create issue
Issue #704 closed
Bruno Mundim created an issue

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.


Comments (5)

  1. Erik Schnetter
    • removed 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.

  2. Frank Löffler
    • 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?

  3. Log in to comment