[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #QYJ-726116]: undefined reference for test_prog.f90
- Subject: [netCDF #QYJ-726116]: undefined reference for test_prog.f90
- Date: Tue, 27 Sep 2011 21:48:41 -0600
Lou,
> > By default, versions 4.1.3 and later install shared libraries. When shared
> > libraries are used, netCDF needs to create a separate library for Fortran
> > instead of combining the C and Fortran libraries together into one static
> > library. Therefor, you need to tell gfortran where to look for the Fortran
> > functions, which will be in a library with the name "libnetcdff".
> >
> > So first try linking with the shared libraries, using
> >
> > gfortran test_prog.f90 -I/usr/local/include -L/usr/local/lib -lnetcdff
> > -lnetcdf
> >
> > You can also link with the static libraries by instead using
> >
> > gfortran test_prog.f90 -I/usr/local/include /usr/local/lib/libnetcdff.a
> > /usr/local/lib/libnetcdf.a
>
> In both cases, I got many messages (identical I believe) of the sort:
>
> /usr/local/lib/libnetcdf.a(liboc_la-ocinternal.o): In function
> `ocinternalinitialize':
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/ocinternal.c:142:
> undefined reference to `_curl_version_info'
> /usr/local/lib/libnetcdf.a(liboc_la-http.o): In function `ocfetchhttpcode':
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:27: undefined
> reference to `_curl_easy_getinfo'
> /usr/local/lib/libnetcdf.a(liboc_la-http.o): In function `ocfetchurl_file':
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:41: undefined
> reference to `_curl_easy_setopt'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:46: undefined
> reference to `_curl_easy_setopt'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:79: undefined
> reference to `_curl_easy_strerror'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:51: undefined
> reference to `_curl_easy_setopt'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:56: undefined
> reference to `_curl_easy_setopt'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:60: undefined
> reference to `_curl_easy_perform'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:74: undefined
> reference to `_curl_easy_getinfo'
> /usr/local/lib/libnetcdf.a(liboc_la-http.o): In function `ocfetchurl':
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:91: undefined
> reference to `_curl_easy_setopt'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:96: undefined
> reference to `_curl_easy_setopt'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:133: undefined
> reference to `_curl_easy_strerror'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:101: undefined
> reference to `_curl_easy_setopt'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:106: undefined
> reference to `_curl_easy_setopt'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:108: undefined
> reference to `_curl_easy_perform'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:119: undefined
> reference to `_curl_easy_getinfo'
> /home/goodlou/Netcdf-download/netcdf-4.1.3/oc/http.c:111: undefined
> reference to `_curl_easy_strerror'
All these are from the "curl" library, that's required for OPeNDAP support,
which is included
by default if you don't specify the --disable-dap option to configure when you
build netCDF,
and if the configure script locates a working libcurl. For shared libraries,
the location of
libcurl should have been built in to the library, but for static libraries it
would need to be
specified, as in
gfortran test_prog.f90 -I/usr/local/include -L/usr/local/lib -lnetcdff
-lnetcdf -lcurl
if it was in /usr/local/lib, otherwise you'd need to say where it was with
-L/where/libcurl/is.
Does the output of
nc-config --all
include the line ?
--has-dap -> yes
If so, what are the outputs of
nc-config --flibs
and
nc-config --libs
?
--Russ
Russ Rew UCAR Unidata Program
address@hidden http://www.unidata.ucar.edu
Ticket Details
===================
Ticket ID: QYJ-726116
Department: Support netCDF
Priority: Normal
Status: Closed