On Mon, Feb 8, 2016 at 12:31 AM, Jeff Hammond <jeff.scie...@gmail.com> wrote:
> >> > BTW: is there a reason you don't want to just use the C datatypes? The >> fundamental output of the index is an integer value -- casting it to a >> float of some flavor doesn't fundamentally change its value. >> >> The code in question is not mine. I have suggested to the developers >> that they should use the correct C types. The reason I became aware of >> this issue is that one of my colleagues compiled and ran this code on a >> system where OpenMPI was built without Fortran support and the code started >> failing with errors from MPI which were not seen on other systems. >> >> > If you use an MPI library compiled without Fortran support, you should > expect precisely nothing related to Fortran to work. You might get more > than this because the universe is being nice to you, but you should treat > it as serendipity when something works, not a bug when something doesn't. > > Jeff, I think you have it backwards or perhaps you haven't read the whole thread to understand the context. I'm trying to understand why an MPI library compiled without MPI support is trying to do anything at all with Fortran-related types. Given that there was no Fortran compiler to get type information from, why are the Fortran types still defined by the MPI library? The library cannot possibly know what the right thing to do is, so why is it trying to do anything at all? I want a program that's using Fortran MPI types to **FAIL** when built against an MPI library that doesn't support Fortran, preferably at compile time, with a very loud "NO FORTRAN SUPPORT!!!" error message. I don't expect, nor want, anything Fortran-related to work in this case. That saves me from having to track down stuff like this which, as you say, if it works at all is just serendipitous. Cheers, Brian