However, when I used openmpi to compile a application program( Molecular dynamcis code: Amber9), error messages are given:
I think you would be better off using the OpenMPI wrapper compilers rather than trying to link the mpi libraries by hand. For mo re information read the FAQ, which contains a section on how to compile mpi programs with OpenMPI: http://www.open-mpi.org/faq/?category=mpi-apps Likely all that is required is to change the Makefile for Amber9.
For PMEMD module:
For example, use mpif90 instead of pgf90 here:
pgf90 -o pmemd gbl_constants.o gbl_datatypes.o state_info.o file_io_dat.o ... -L/home/ytang/gdata/whli/openmpi/lib -lmpich /usr/bin/ld: cannot find -lmpich
This is the error - there is no libmpich in OpenMPI.
make[1]: *** [pmemd] Error 2 make[1]: Leaving directory `/gdata/lun8/ytang/whli/amber9/src/pmemd/src' make: *** [install] Error 2 For sander module:
Presumably this was not compiled with mpif90 either, but you did not send the command you used to compile it.
../lmod/lmod.a ../lapack/lapack.a ../blas/blas.a \ ../lib/nxtsec.o ../lib/sys.a -L/home/ytang/gdata/whli/openmpi/lib -lmpi_f90 -lmpi -lorte -lopal -lutil -lnsl -lpthread -ldl -Wl,--export-dynamic -lm -lutil -lnsl -lpthread -ldl /usr/bin/ld: skipping incompatible /home/ytang/gdata/whli/openmpi/lib/libmpi_f90.a when searching for -lmpi_f90 /usr/bin/ld: cannot find -lmpi_f90 make[1]: *** [sander.MPI] Error 2 make[1]: Leaving directory `/gdata/lun8/ytang/whli/amber9/src/sander' make: *** [parallel] Error 2 I know it must be something wrong with the installation of open-mpi, but I don't know where it is. Could you please give me some advice?
Read the FAQ. I also suggest you email the Amber mailing list and read through any documentation on their site, which looks quite extensive. Hugh