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

[netCDF #LQZ-375894]: Problem(s) using netcdf fortran library 4.4.2



Hello Sourish,

You are correct that the netcdf fortran and C interfaces have been separated 
out; however, the former still has a dependency upon the latter.  The C library 
(libnetcdf) is the `core` library, and the various interfaces (Fortran, C++, 
Python, etc) require the core C library.  Installing the C library should 
resolve the issue for you!

I hope this helps, please let me know if there are still issues!

Have a great day,

-Ward

> Hello,
> 
> I'm trying to build a fortran application using the netcdf fortran
> library 4.4.2, but I am running up against several errors. I've been
> using the netcdf fortran library for a couple of years now (I was using
> 4.3.x before this), and these new errors are baffling to me.  First off,
> my configure line was:
> 
> ./configure --prefix=/u/sbasu1/packages/netcdf-fortran/4.4.2 --enable-f03 
> CC=icc FC=ifort F77=ifort CFLAGS='-m64 -O3 -xSSE4.2 -fPIC -ftz -fp-model 
> strict -g' FFLAGS='-m64 -O3 -xSSE4.2 -fPIC -ftz -fp-model strict -g' 
> FCFLAGS='-m64 -O3 -xSSE4.2 -fPIC -ftz
> -fp-model strict -g'
> 
> Things worked as expected during the "make && make install"
> phase. HOWEVER, the first indication of trouble is the following:
> 
> $ nf-config --flibs -L/u/sbasu1/packages/netcdf-fortran/4.4.2/lib -lnetcdff 
> -lnetcdf
> $ ls /u/sbasu1/packages/netcdf-fortran/4.4.2/lib libnetcdff.a libnetcdff.la 
> libnetcdff.so libnetcdff.so.6 libnetcdff.so.6.0.1 pkgconfig
> 
> i.e., 'nf-config --flibs' wants me to use '-lnetcdf', but there is
> no libnetcdf.* in the lib folder. Sure enough, when I try to compile
> a test program (attached) with the recommended linker line:
> 
> $ ifort -I/u/sbasu1/packages/netcdf-fortran/4.4.2/include -o nf90_error.exe 
> nf90_error.F90 -L/u/sbasu1/packages/netcdf-fortran/4.4.2/lib -lnetcdff 
> -lnetcdf
> ld: cannot find -lnetcdf
> 
> HOWEVER, if I leave out the '-lnetcdf', then:
> 
> $ ifort -I/u/sbasu1/packages/netcdf-fortran/4.4.2/include -o nf90_error.exe 
> nf90_error.F90 -L/u/sbasu1/packages/netcdf-fortran/4.4.2/lib -lnetcdff
> /tmp/ifortUIAUG6.o: In function `MAIN__':
> nf90_error.F90:(.text+0x65): undefined reference to `nf90_inq_ncid_' 
> /u/sbasu1/packages/netcdf-fortran/4.4.2/lib/libnetcdff.so:
> undefined reference to `nc_put_vara_short' 
> /u/sbasu1/packages/netcdf-fortran/4.4.2/lib/libnetcdff.so:
> undefined reference to `nc_get_vara_short' 
> /u/sbasu1/packages/netcdf-fortran/4.4.2/lib/libnetcdff.so:
> undefined reference to `nc_get_att_float' 
> /u/sbasu1/packages/netcdf-fortran/4.4.2/lib/libnetcdff.so:
> undefined reference to `nc_get_vara_schar' 
> /u/sbasu1/packages/netcdf-fortran/4.4.2/lib/libnetcdff.so:
> undefined reference to `nc_inq_attname'
> ...
> ...
> 
> I thought the C and Fortran libraries were separated several versions
> ago, and I should no longer need the C library to use the Fortran
> library. Or...?
> 
> Please help :-)
> 
> Thanks,
> Sourish
> 
> Sourish Basu
> National Oceanic and Atmospheric Administration
> Global Monitoring Division
> 325 Broadway St, R/GMD
> Boulder, CO 80305, USA
> Phone: +1 303 497 6650
> Fax: +1 303 497 6290
> 
> 


Ticket Details
===================
Ticket ID: LQZ-375894
Department: Support netCDF
Priority: Normal
Status: Closed