[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #XFB-201563]: no libnetcdff.a file
- Subject: [netCDF #XFB-201563]: no libnetcdff.a file
- Date: Wed, 04 Aug 2010 16:17:23 -0600
Hi Sandy,
> I am trying to build netcdf version 4.1.1 on computer:
>
> Model Name: MacBook Pro 17"
> Model Identifier: MacBookPro2,1
> Processor Name: Intel Core 2 Duo
> Processor Speed: 2.33 GHz
> Number Of Processors: 1
> Total Number Of Cores: 2
> L2 Cache (per processor): 4 MB
> Memory: 2 GB
> Bus Speed: 667 MHz
> Boot ROM Version: MBP21.00A5.B08
> SMC Version: 1.14f5
>
> running MAC OSX 10.4.11.
>
> I am using the gfortran compilers and am trying to compile the F90
> interface. The output of running configure and 'make check install'
> are attached . . They seem to run without issue. Here is the output
> of running nc-config:
>
>
> This netCDF 4.1.1 has been built with the following features:
>
> --cc -> cc
> --cflags -> -I/Users/sandy/netcdf/netcdf-4.1.1/include
> --libs -> -L/Users/sandy/netcdf/netcdf-4.1.1/lib -lnetcdf -
> lcurl -lssl -lcrypto -lz
>
> --cxx -> g++
> --has-c++ -> yes
>
> --fc -> gfortran
> --fflags -> -g -O2 -I/Users/sandy/netcdf/netcdf-4.1.1/include
> --flibs -> -L/Users/sandy/netcdf/netcdf-4.1.1/lib -lnetcdf -
> lcurl -lssl -lcrypto -lz
> --has-f77 -> yes
> --has-f90 -> yes
>
> --has-dap -> yes
> --has-nc2 -> yes
> --has-nc4 -> no
> --has-hdf5 -> no
> --has-hdf4 -> no
> --has-szlib -> no
>
> --prefix -> /Users/sandy/netcdf/netcdf-4.1.1
> --includedir-> /Users/sandy/netcdf/netcdf-4.1.1/include
> --version -> netCDF 4.1.1
>
>
> The problem is that no libnetcdff.a file is generated in the lib
> directory so when I try to compile my program I get:
>
> /usr/bin/ld: Undefined symbols:
> ___netcdf_MOD_nf90_close
> ___netcdf_MOD_nf90_open
> ___netcdf_MOD_nf90_strerror
>
> Wazzupp?
No libnetcdff.a file is generated becasue you didn't specify wither of the
configure options --enable-shared or --enable-separate-fortran (which would
be turned on automatically if shared libraries were built). So your build
should have put the Fortran API into the libnetcdf.a library that was installed.
I just checked this by building from 4.1.1 the way you did, and no libnetcdff.a
was installed, just libnetcdf.a and libnetcdf.la, but gfortran still built f90
programs OK:
$ FC=gfortran ./configure --disable-netcdf-4 --prefix=/machine/russ/nc411
$ make check install
...
test$ cp ../netcdf-4.1.1/examples/F90/simple_xy_wr.f90 .
test$ /machine/russ/nc411/bin/nc-config --fflags
-g -O2 -I/machine/russ/nc411/include
test$ /machine/russ/nc411/bin/nc-config --flibs
-L/machine/russ/nc411/lib -lnetcdf -lcurl
test$ gfortran -g -O2 -I/machine/russ/nc411/include simple_xy_wr.f90 -o
simple_xy_wr -L/machine/russ/nc411/lib -lnetcdf -lcurl
test$ ./simple_xy_wr
*** SUCCESS writing example file simple_xy.nc!
So I can't reproduce the problem you are seeing. Maybe you have a previous
installation with older shared libraries, and those are being used instead of
the new static library you just installed?
I doubt is this is a version issue, but here are the versions of compiler and
OS
I'm using:
test$ gfortran --version
GNU Fortran (GCC) 4.2.1 (Apple Inc. build 5659) + GF 4.2.4
test$ cc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
test$ uname -a
Darwin mort.unidata.ucar.edu 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23
18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386
--Russ
Russ Rew UCAR Unidata Program
address@hidden http://www.unidata.ucar.edu
Ticket Details
===================
Ticket ID: XFB-201563
Department: Support netCDF
Priority: Normal
Status: Closed