[MITgcm-support] Problem with parallel build
Gustavo Correa
gus at ldeo.columbia.edu
Fri Nov 11 10:30:25 EST 2011
Hi Chun-Yan, Martin
I think the macros MPI_INC_DIR, MPI_HEADER_FILES_INC, probably should point to
a *directory*, not to a file.
However, on my admittedly old build options files I don't have these macros.
I have the "INCLUDES" macro which is again points to the MPI include *directory*, not to a file:
INCLUDES=/path/to/mpi/include
I don't think there is any mpiof.h file in MPI either.
It sounds as some typo.
I would just remove it from the options file and see how it goes.
In addition, I second Martin's suggestion
that you use the FC=mpif77 or FC=mpif90 compiler wrapper,
instead of the compiler itself (ifort, gfortran, whatever).
The compiler wrapper will be able to find the include files.
I hope this helps,
Gus Correa
On Nov 11, 2011, at 7:57 AM, Martin Losch wrote:
> Chunyan,
>
> I do not know either, what mpiof.h is (but I have to admit that I do not "speak mpi" very well) and I could not find any reference to "mpiof.h" in the code:
> grep mpiof.h */inc/* */scr/* pkg/*/*
> did not give any hits.
>
> Based on the most recent code (some of the build-option files have been merged or moved to 'unsupported', including linux_amd64_gfortran+mpi_generic), I suggest that you try to start from linux_amd64_gfortran
> and add a line
> MPI_INC_DIR=/usr/include/openmpi-x86_64/mpif.h'
> and you replace the lines
> CC=${CC:=mpicc}
> FC=${FC:=mpif77}
> F90C=${F90C:=mpif90}
> with
> CC=/usr/lib64/openmpi/bin/mpicc
> FC=/usr/lib64/openmpi/bin/mpif77
> F90C=/usr/lib64/openmpi/bin/mpif90
>
> If that still does not work, you should prove to yourself, that your MPI-installation is working properly: compile and run a simple program such as this one:
> <http://www.rcac.purdue.edu/userinfo/resources/common/run/pbs/examples/hello77_fortran.html>
> with mpif77/90
>
> Martin
>
>
> Nov 11, 2011, at 1:02 PM, Chun-Yan Zhou wrote:
>
>> Dear Gustavo,
>>
>> Thanks for your help. Yes, I found the mpif77 in the path '/usr/lib64/openmpi/bin/' and the mpif.h in the path '/usr/include/openmpi-x86_64/', but still can't find the mpiof.h and the the administer told me that he don't (yet) know which package mpiof.h belongs to - could you confirm this is the correct filename?
>> Anyway, I tried to modify the 'linux_amd64_gfortran+mpi_generic' as follows:
>>
>> MPI_HEADER_FILES='mpif.h mpiof.h'
>> MPI_HEADER_FILES_INC='/usr/include/openmpi-x86_64/mpif.h'
>>
>> ../../../tools/cyrus-imapd-makedepend/makedepend: warning: mdsio_readvector.F (reading EESUPPORT.h, line 175): cannot find include file "mpif.h"
>> not in mpif.h
>> not in mpif.h
>> not in /usr/include/mpif.h
>>
>> It seems it didn't point to the mpif.h path I set.
>>
>> What's the problem? Any suggestions? I feel frustrated about the MPI thing, it is too complicated to me. Help me out, please.
>> Best wishes.
>> chunyan
>>
>> The University of Dundee is a registered Scottish charity, No: SC015096
>>
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
>
>
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
More information about the MITgcm-support
mailing list