Open MPI is installed by the distro with headers in /usr/include
$ mpif90 -showme:compile -I/some/special/path
-I/usr/include -pthread -I/usr/lib/openmpi -I/some/special/path
Here's why it's a problem:
HDF5 is also installed in /usr with modules at /usr/include/h5*.mod. A
new HDF5 cannot be compiled using the wrappers because it will always
resolve the USE statements to /usr/include which is binary-incompatible
with the the new version (at a minimum, they "fixed" the size of an
argument to H5Lget_info_f between 1.8.3 and 1.8.4).
To build the library, the current choices are
(a) get rid of the system copy before building
(b) not use mpif90 wrapper
I just checked that MPICH2 wrappers consistently put command-line args
before the wrapper args.
Jed
|