#1468: Building a configuration with just the MPI thorn fails -----------------------+---------------------------------------------------- Reporter: hinder | Owner: Type: defect | Status: new Priority: optional | Milestone: Component: Cactus | Version: development version Resolution: | Keywords: -----------------------+----------------------------------------------------
Comment (by hinder):
OS X version: 10.8.5, OpenMPI 1.7.2 from MacPorts. I just experimented with the compiler. It works fine if I use the osx-mountain-lion-macports- gcc.cfg from simfactory (gcc 4.6 from MacPorts), but it fails if I give it a blank optionlist (equivalent to compiling without simfactory and no optionlist provided), which causes Cactus to try the apple gcc. This doesn't seem to be a Cactus problem. The default Apple gcc can't compile mpi.h; it gives this error message. Apparently at least gcc 4.5 is needed for this (see http://mac-os-forge.2317878.n4.nabble.com/Apple-s-gcc-can-t -handle-deprecated-attribute-td195790.html for a discussion of this error message when compiling using Apple's gcc).
The workaround works; I can build the flesh and the MPI thorn if I add that definition. I wonder why the OpenMPI header file is using a feature of GCC that only exists in newer versions. Shouldn't openmpi be portable? Maybe the macports version assumes that it is going to be compiled with the current macports compiler.
Is it worth trying to make the ET work with the default Apple gcc, or should we give up and blacklist it? The MPI thorn could check that mpi.h can be compiled and give an error message about requiring a minimum gcc version if not.