I installed MPICH2, and built the MCT libraries successfully (CYGWIN-ifort dual-core Windows computer). I used the same flags in my ROMS makefile as the MCT makefile. Compilation for TEST_HEAD goes smoothly until very near the end, where I get a plethora of "IPO errors". Previous postings on this subject seemed to deal with a the previous ROMS version (This is the roms 166 release).
IPO Error: unresolved : _MPI_INIT@4
Referenced in Build/master.o
IPO Error: unresolved : _MPI_COMM_SIZE@12
Referenced in Build/master.o
Referenced in Build/ocean_control.o
Referenced in Build/ocean_coupler.o
Referenced in libMODS.a(mod_parallel.o)
Referenced in libSWAN.a(swanparll.o)
Referenced in libSWAN.a(waves_coupler.o)
IPO Error: unresolved : _NETCDF_mp_NF90_STRERROR@12
Referenced in libUTIL.a(close_io.o)
IPO Error: unresolved : _NETCDF_mp_NF90_SYNC@4
Referenced in libUTIL.a(wrt_rst.o)
Referenced in libUTIL.a(wrt_his.o)
Referenced in libUTIL.a(wrt_info.o)
IPO Error: unresolved : _MPI_IRECV@32
Referenced in libUTIL.a(mp_exchange.o)
Referenced in libUTIL.a(distribute.o)
Referenced in libSWAN.a(waves_coupler.o)
IPO Error: unresolved : _MPI_SEND@28
Referenced in libUTIL.a(mp_exchange.o)
Referenced in libSWAN.a(swanparll.o)
Referenced in libSWAN.a(waves_coupler.o)
unresolved : _MPI_INIT@4
unresolved : _MPI_COMM_SIZE@12
...
Check to see what MPI lib you are linking with. The MPICH2 distributed libraries have several flavors. The file README.winbin.rtf says:
• fmpich2.lib contains all caps cdecl: MPI_INIT
• fmpich2s.lib contains all caps stdcall: MPI_INIT@4
• fmpich2g.lib or fmpich2g.a contain lowercase cdecl: mpi_init__
which file are you linking with?
The MCT libraries were built with fmpich2.lib, and my makefile flag also uses fmpich2.lib. I have a feeling it may be a path issue: when I added the /usr/local/lib and /usr/local/include paths (where libmpeu.a and libmct.a are located), all unresolved externals went away except for the MPI-related ones.
After using the untouched-CSTM branch I created a few weeks back, and reinstalling MCT outside of the branch, I compiled with no problems. When I try to execute