[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #XUG-723381]: Missing netcdf.mod



> Thanks so much for your help regarding this matter.  I have gotten the
> netcdf-fortran API installed, but my application that is trying to use it
> is complaining about undefined references to a series of calls.

You only need to add another loader option, "-lnetcdff", to make the compiler 
look in the Fortran library as well as the C library.  So where you now have
"-lnetcdf", substitute "-lnetcdff -lnetcdf".

> ... I remember
> running into something similar to this a year ago with a previous netcdf
> install, and it had to do something with the number of
> underscores proceeding a function call?  Here is a portion of the errors I
> got when attempting to compile in blue below; see attachment for the full
> makelog.  I am rather novice when dealing with installation issues.  Is
> there a linux command I could use to search for functions within my netcdf
> library; for instance "netcdf_MP_nf90_create"? To determine if this is a
> underscore issue?

Although it's not the solution to this issue, you can use the "nm" command to
list the names of symbols in an object file, such as a library.  To see what
external symbols include the string "nf90_create" in /opt/lib/libnetcdff.a, 
for example, you could use

  $ nm -g /opt/lib/libnetcdff.a | grep nf90_create
  00000000000401c0 T __netcdf_MOD_nf90_create
  00000000000404a0 T __netcdf_MOD_nf90_create_mp

--Russ

> Some additional information  This is netcddf 4.2.  I
> have successfully installed both netcdf c and fortran APIs.  I am using g95
> and gcc as my compliers.  The code I am attempting to install is a 1D
> version of the Noah land surface model (it has been well tested and should
> work).
> 
> Let me know if you need any other information.
> 
> Thanks,
> 
> g95 -o driver.exe module_sf_noahmplsm.o module_model_constants.o
> module_sf_myjsfc.o module_sf_sfclay.o module_sf_noahlsm.o module_ascii_io.o
> module_netcdf_io.o module_io.o kwm_date_utilities.o module_sf_noahutl.o
> driver.o -L/home/ronnieleeper/prgs/netcdf/lib -lnetcdf
> module_netcdf_io.o: In function
> `module_netcdf_io_MP_initialize_netcdf_output':
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:58:
> undefined reference to `netcdf_MP_nf90_create'
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:61:
> undefined reference to `netcdf_MP_nf90_def_dim'
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:64:
> undefined reference to `netcdf_MP_nf90_def_dim'
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:68:
> undefined reference to `netcdf_MP_nf90_def_dim'
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:73:
> undefined reference to `netcdf_MP_nf90_def_dim'
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:78:
> undefined reference to `netcdf_MP_nf90_def_dim'
> module_netcdf_io.o:/home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:83:
> more undefined references to `netcdf_MP_nf90_def_dim' follow
> module_netcdf_io.o: In function
> `module_netcdf_io_MP_initialize_netcdf_output':
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:90:
> undefined reference to `netcdf_MP_nf90_put_att_one_fourbytereal'
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:93:
> undefined reference to `netcdf_MP_nf90_put_att_one_fourbyteint'
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:96:
> undefined reference to `netcdf_MP_nf90_put_att_one_fourbyteint'
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:99:
> undefined reference to `netcdf_MP_nf90_put_att_one_fourbyteint'
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:102:
> undefined reference to `netcdf_MP_nf90_put_att_one_fourbyteint'
> /home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:105:
> undefined reference to `netcdf_MP_nf90_put_att_one_fourbyteint'
> module_netcdf_io.o:/home/ronnieleeper/noah-mp1D/Simple-Driver-NoahMP-v1.0/module_netcdf_io.f:108:
> more undefined references to `netcdf_MP_nf90_put_att_one_fourbyteint' follow
> module_netcdf_io.o: In function
> `module_netcdf_io_MP_initialize_netcdf_output':

Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: XUG-723381
Department: Support netCDF
Priority: Normal
Status: Closed


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.