Oy -- more specifically, we should not be putting -I/usr/include on the command line *at all* (because it's special and already included by the compiler search paths; similar for /usr/lib and /usr/lib64). We should have some special case code that looks for /usr/include and simply drops it. Let me check and see what's going on...
Can you send the contents of your $prefix/share/openmpi/mpif90-wrapper-data.txt? (it is *likely* in that directory, but it could be somewhere else under prefix as well -- the mpif90-wrapper-data.txt file is the important one)
On Dec 4, 2009, at 1:08 PM, Jed Brown wrote:
> 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.
> users mailing list