Hi John
The best solution to this problem is to use the nc-config script in the ROMS
build process, as I have done in my branch of the code for a while now. I have
suggested this a couple of times in the ROMS forum, eg. here
https://www.myroms.org/forum/viewtopic.php?p=7783#p7783
(I don't know if that link will work for non-ROMS people.)
I shall pursue this suggestion with renewed vigour.
Mark
Mark Hadfield "Kei puwaha te tai nei, Hoea tahi tatou"
m.hadfield@xxxxxxxxxx
NIWA
>>> On 2011-04-04 at 10:35, John Helly <hellyj@xxxxxxxx> wrote:
Hi.
I'm posting this to both groups (ROMS, netcdf) since it really appears to be an
integration issue that both development teams should be aware of. It didn't
have to do with bytesex, just a missing library as the netcdf folks suggested.
The solution to the problem is that, for reasons I don't understand, I had to
add the -lnetcdff library as an argument. So, I created a local version of the
Darwin-gfortran.mk file (and Linux-gfortran.mk for the other) and modified the
line 52 as follows:
before:
LIBS := -L$(NETCDF_LIBDIR) -lnetcdf
after:
LIBS := -L$(NETCDF_LIBDIR) -lnetcdf -lnetcdff
Then changed the $COMPILERS variable to point to the local copy. Now both
builds (OSX, Centos) complete and run.
Cheers.
--------------
John Helly, University of California, San Diego / San Diego Supercomputer
Center / Scripps Institution of Oceanography / 760 840 8660 mobile /
stonesteps7 (Skype) / stonesteps7 (iChat) / http://www.sdsc.edu/~hellyj
On Apr 3, 2011, at 12:51 PM, John Helly wrote:
Hi.
I'm trying to build ROMS for the first time on OSX 10.6.7 and appear to be
having problems with netcdf-4. I rebuilt netcdf-4.1.3 using hdf-1.8.6 (with\
zlib-1.2.5) and everything appeared to go well with that using this configure
command:
./configure --prefix=/usr/local/netcdf-4.1.2 --enable-netcdf-4 --enable-f90
--with-hdf5=/usr/local/hdf5-1.8.6
This is then symbolically linked to /usr/local/netcdf as reflected below.
However, when I try to build ROMS against that this is the relevant excerpt of
what happens. Can anyone suggest whant this might be due to? I have a sense
from the highlighted text that there is a 32/64-bit conflict (maybe with
netcdf). Any insight what/how to fix this would be appreciated.
< excerpt begins here>
...
ar -r /Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_arrays.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_average.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_bbl.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_biology.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_boundary.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_clima.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_coupler.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_coupling.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_diags.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_eclight.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_eoscoef.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_floats.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_forces.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_fourdvar.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_grid.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_iounits.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_kinds.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_mixing.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_ncparam.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_nesting.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_netcdf.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_obs.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_ocean.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_parallel.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_param.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_scalars.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_sedbed.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_sediment.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_sources.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_stepping.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_storage.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_strings.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/mod_tides.o
ar: creating archive /Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_bbl.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_biology.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_boundary.o) has
no symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_clima.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_coupler.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_eclight.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_eoscoef.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_floats.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_fourdvar.o) has
no symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_kinds.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_nesting.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_obs.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_sedbed.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_sediment.o) has
no symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_sources.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_storage.o) has no
symbols
/usr/bin/ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_tides.o) has no
symbols
ranlib /Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_bbl.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_biology.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_boundary.o) has
no symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_clima.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_coupler.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_eclight.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_eoscoef.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_floats.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_fourdvar.o) has
no symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_kinds.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_nesting.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_obs.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_sedbed.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_sediment.o) has
no symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_sources.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_storage.o) has no
symbols
ranlib: file:
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a(mod_tides.o) has no
symbols
/usr/bin/cpp -P -traditional -DDARWIN -DI386 -DGFORTRAN
-D'ROOT_DIR="/Users/hellyj/src/ROMS/trunk"' -DUPWELLING
-D'HEADER="upwelling.h"'
-D'ROMS_HEADER="/Users/hellyj/src/ROMS/Projects/Upwelling/upwelling.h"'
-DNestedGrids=1 -D'ANALYTICAL_DIR="/Users/hellyj/src/ROMS/Projects/Upwelling"'
-D'MY_ANALYTICAL="on"' -D'SVN_REV="544M"' -IROMS/Include
-I/Users/hellyj/src/ROMS/Projects/Upwelling -IROMS/Nonlinear
-IROMS/Nonlinear/Biology -IROMS/Nonlinear/Sediment -IROMS/Utility
-IROMS/Drivers -IROMS/Functionals -I/Users/hellyj/src/ROMS/Projects/Upwelling
-IMaster -ICompilers -D'HEADER_DIR="/Users/hellyj/src/ROMS/Projects/Upwelling"'
Master/esmf_roms.F >
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/esmf_roms.f90
ROMS/Bin/cpp_clean /Users/hellyj/src/ROMS/Projects/Upwelling/Build/esmf_roms.f90
cd /Users/hellyj/src/ROMS/Projects/Upwelling/Build; /usr/local/bin/gfortran -c
-frepack-arrays -O3 -ffast-math esmf_roms.f90
/usr/bin/cpp -P -traditional -DDARWIN -DI386 -DGFORTRAN
-D'ROOT_DIR="/Users/hellyj/src/ROMS/trunk"' -DUPWELLING
-D'HEADER="upwelling.h"'
-D'ROMS_HEADER="/Users/hellyj/src/ROMS/Projects/Upwelling/upwelling.h"'
-DNestedGrids=1 -D'ANALYTICAL_DIR="/Users/hellyj/src/ROMS/Projects/Upwelling"'
-D'MY_ANALYTICAL="on"' -D'SVN_REV="544M"' -IROMS/Include
-I/Users/hellyj/src/ROMS/Projects/Upwelling -IROMS/Nonlinear
-IROMS/Nonlinear/Biology -IROMS/Nonlinear/Sediment -IROMS/Utility
-IROMS/Drivers -IROMS/Functionals -I/Users/hellyj/src/ROMS/Projects/Upwelling
-IMaster -ICompilers -D'HEADER_DIR="/Users/hellyj/src/ROMS/Projects/Upwelling"'
Master/master.F > /Users/hellyj/src/ROMS/Projects/Upwelling/Build/master.f90
ROMS/Bin/cpp_clean /Users/hellyj/src/ROMS/Projects/Upwelling/Build/master.f90
cd /Users/hellyj/src/ROMS/Projects/Upwelling/Build; /usr/local/bin/gfortran -c
-frepack-arrays -O3 -ffast-math master.f90
/usr/local/bin/gfortran -frepack-arrays -O3 -ffast-math
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/esmf_roms.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/master.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/ocean_control.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/ocean_coupler.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/propagator.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/roms_export.o
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/roms_import.o -o
/Users/hellyj/src/ROMS/Projects/Upwelling/oceanS
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libNLM.a
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libNLM_bio.a
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libNLM_sed.a
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libANA.a
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libUTIL.a
/Users/hellyj/src/ROMS/Projects/Upwelling/Build/libMODS.a
-L/usr/local/netcdf/lib -lnetcdf -L/usr/local/hdf5/lib -lhdf5_hl -lhdf5 -lz
-lcurl
Undefined symbols for architecture x86_64:
"___netcdf_MOD_nf90_strerror", referenced from:
_close_io_ in libUTIL.a(close_io.o)
"___netcdf_MOD_nf90_def_dim", referenced from:
_def_dim_ in libUTIL.a(def_dim.o)
"___netcdf_MOD_nf90_put_att_text", referenced from:
_def_info_ in libUTIL.a(def_info.o)
___def_var_mod_MOD_def_var in libUTIL.a(def_var.o)
"___netcdf_MOD_nf90_def_var_manydims", referenced from:
___def_var_mod_MOD_def_var in libUTIL.a(def_var.o)
"___netcdf_MOD_nf90_put_att_one_eightbytereal", referenced from:
___def_var_mod_MOD_def_var in libUTIL.a(def_var.o)
"___netcdf_MOD_nf90_put_att_eightbytereal", referenced from:
___def_var_mod_MOD_def_var in libUTIL.a(def_var.o)
"___netcdf_MOD_nf90_put_att_one_fourbytereal", referenced from:
___def_var_mod_MOD_def_var in libUTIL.a(def_var.o)
Thanks.
Cheers.
--------------
John Helly, University of California, San Diego / San Diego Supercomputer
Center / Scripps Institution of Oceanography / 760 840 8660 mobile /
stonesteps7 (Skype) / stonesteps7 (iChat) / http://www.sdsc.edu/~hellyj
Please consider the environment before printing this email.
NIWA is the trading name of the National Institute of Water & Atmospheric
Research Ltd.