Hi Kris, > I've written code to read a netcdf file in fortran 90. I have the > netcdf 4.0.1 software installed on my Linux machine. Here are my > compile commands: > > gfortran -c -I/usr/local/netcdf/include ncread_test.f90 > gfortran -o ncread_test ncread_test.o -L/usr/local/netcdf/lib -lnetcdf > > In my code, I have the statement: INCLUDE 'netcdf.inc' > > When I compile, I get a slew of "undefined reference to" messages: > > ncread_test.f90:(.text+0x8b): undefined reference to `nf_open' > ncread_test.f90:(.text+0x13a): undefined reference to `nf_strerror' > ncread_test.f90:(.text+0x189): undefined reference to `nf_inq_varid' > ncread_test.f90:(.text+0x238): undefined reference to `nf_strerror' > ncread_test.f90:(.text+0x279): undefined reference to `nf_inq_varndims' > > In my include statement, I have tried including the full path to the > netcdf.inc, but this did not work either. What am I doing wrong > here If you built shared rather than static libraries using the configure option --enable-shared, or if you requested a separate Fortran library using the configure option --enable-separate-fortran, then you need to specify one more library on the link command, -lnetcdff. So instead of gfortran -o ncread_test ncread_test.o -L/usr/local/netcdf/lib -lnetcdf try gfortran -o ncread_test ncread_test.o -L/usr/local/netcdf/lib -lnetcdf -lnetcdff If that doesn't work, make sure you don't have an older shared library for netCDF installed some place that will be searched first, such as /usr/lib. If so and if that library didn't include a Fortran interface, that would also cause the symptom you are reporting. --Russ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: ESV-218399 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.