I'm now making attempt to compile the ROMS-2.2 using intel fortran compiler (ifort) ver. 9.0, but it abored with following messages:
ifort -openmp -tpp7 -O3 -pc32 -axW -Vaxlib master.o ocean_control.o -o oceanO libNLM.a libUTIL.a libMODS.a -L/usr/local/netcdf-3.6.0/lib -lnetcdf
IPO Error: unresolved : nf_close_
Referenced in libNLM.a(output.o)
Referenced in libUTIL.a(close_io.o)
Referenced in libUTIL.a(get_state.o)
Referenced in libUTIL.a(opencdf.o)
------------ and
libNLM.a(output.o)(.text+0x169): In function `output_':
: undefined reference to `nf_close_'
libNLM.a(output.o)(.text+0x3df): In function `output_':
: undefined reference to `nf_close_'
libNLM.a(output.o)(.text+0x61b): In function `output_':
: undefined reference to `nf_close_'
------------ etc.
Is there any problems on netcdf or configuration in makefile ?
The netcdf version is 3.6.0 (its root path; /usr/local/netcdf-3.6.0)
IPO Errors (ifort 9.0 and netcdf-3.6.0)
-
- Posts: 2
- Joined: Thu Oct 13, 2005 4:29 pm
- Location: Kumamoto University
-
- Posts: 2
- Joined: Thu Oct 13, 2005 4:29 pm
- Location: Kumamoto University
That's weird - your library functions both have double underscores at the end, right? So the routine in roms that is calling nf_close must have been compiled differently somehow, so that it only has a single trailing underscore. I'd start doing nm on your ROMS libraries, to see how nf_open and nf_close are called in there. Check your compiler options - the IBM has one for specifying the trailing underscores in routines such as flush.
about ifort and netcdf
There is an option in the ifort 9.0 compiler "-assume 2underscores". Try that`.
Hector.
Hector.