This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi Amit, You're using a fairly old version of netCDF, 3.6.2, from over 6 years ago, and that specific bug was fixed in a subsequent release. The fix required inserting the statement #include <cstring> at the top of the file cxx/ncvalues.cpp in the sources, running "make clean", then rerunning configure and make check. Alternatively, you could try a more recent version, such as netCDF 4.2.1.1. If you don't need features of netCDF-4, you can configure with --disable-netcdf-4 and you won't need to build and install HDF5 first. If you decide to use netcdf-4.2.1.1, it only builds the netCDF C library. Once it is installed, you can build the netCDF-Fortran library from the separate netcdf-fortran-4.2 release, and similarly for the C++ library, if you need it. Building netcdf-4.2.1.1 and the netcdf-fortran-4.2 release is described here: http://www.unidata.ucar.edu/netcdf/docs/build_classic.html http://www.unidata.ucar.edu/netcdf/docs/netcdf-fortran-install.html Or, you could get the yum netcdf package, which currently installs version 4.1.1. --Russ > I need a little help for wrf installation in my office for testing purpose. > > The following steps i have done serially: > > *my system configuration * > Fedora 16 > i3 64-bit processor > 4GB RAM > 500GB Hard Disk > > 1) Configured ZLIB (Success) > 2) Configured JASPER (Success) > 3) Configured LIBPNG (Success) > 4) Installed usiing yum (Success) > gcc.i686 4.6.2-1.fc16 @fedorarepo > gcc-c++.i686 4.6.2-1.fc16 @fedorarepo > gcc-gfortran.i686 4.6.2-1.fc16 @fedorarepo > > 5) installed intel compiler (l_fcompxe_2013.2.146 with trailed licenced > key) (Success) > 6) netcdf-3.6.2 > 6.1 ./configure (Success) > 6.2 after entering *"make"* we are getting the following error. > > [root@apsdps netcdf-3.6.2]# make > make all-recursive > make[1]: Entering directory `/wrfpkgs/netcdf-3.6.2' > Making all in f90 > make[2]: Entering directory `/wrfpkgs/netcdf-3.6.2/f90' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/wrfpkgs/netcdf-3.6.2/f90' > Making all in fortran > make[2]: Entering directory `/wrfpkgs/netcdf-3.6.2/fortran' > make all-am > make[3]: Entering directory `/wrfpkgs/netcdf-3.6.2/fortran' > depbase=`echo fort-attio.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-attio.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-attio.lo fort-attio.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-attio.lo -MD -MP -MF .deps/fort-attio.Tpo -c fort-attio.c -o > fort-attio.o > depbase=`echo fort-control.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-control.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-control.lo fort-control.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-control.lo -MD -MP -MF .deps/fort-control.Tpo -c fort-control.c -o > fort-control.o > depbase=`echo fort-dim.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-dim.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-dim.lo fort-dim.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-dim.lo -MD -MP -MF .deps/fort-dim.Tpo -c fort-dim.c -o fort-dim.o > depbase=`echo fort-genatt.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-genatt.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-genatt.lo fort-genatt.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-genatt.lo -MD -MP -MF .deps/fort-genatt.Tpo -c fort-genatt.c -o > fort-genatt.o > depbase=`echo fort-geninq.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-geninq.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-geninq.lo fort-geninq.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-geninq.lo -MD -MP -MF .deps/fort-geninq.Tpo -c fort-geninq.c -o > fort-geninq.o > depbase=`echo fort-genvar.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-genvar.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-genvar.lo fort-genvar.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-genvar.lo -MD -MP -MF .deps/fort-genvar.Tpo -c fort-genvar.c -o > fort-genvar.o > depbase=`echo fort-lib.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-lib.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-lib.lo fort-lib.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-lib.lo -MD -MP -MF .deps/fort-lib.Tpo -c fort-lib.c -o fort-lib.o > depbase=`echo fort-misc.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-misc.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-misc.lo fort-misc.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-misc.lo -MD -MP -MF .deps/fort-misc.Tpo -c fort-misc.c -o > fort-misc.o > depbase=`echo fort-v2compat.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-v2compat.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-v2compat.lo fort-v2compat.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-v2compat.lo -MD -MP -MF .deps/fort-v2compat.Tpo -c fort-v2compat.c > -o fort-v2compat.o > depbase=`echo fort-vario.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-vario.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-vario.lo fort-vario.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-vario.lo -MD -MP -MF .deps/fort-vario.Tpo -c fort-vario.c -o > fort-vario.o > depbase=`echo fort-var1io.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-var1io.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-var1io.lo fort-var1io.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-var1io.lo -MD -MP -MF .deps/fort-var1io.Tpo -c fort-var1io.c -o > fort-var1io.o > depbase=`echo fort-varaio.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-varaio.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-varaio.lo fort-varaio.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-varaio.lo -MD -MP -MF .deps/fort-varaio.Tpo -c fort-varaio.c -o > fort-varaio.o > depbase=`echo fort-varmio.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-varmio.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-varmio.lo fort-varmio.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-varmio.lo -MD -MP -MF .deps/fort-varmio.Tpo -c fort-varmio.c -o > fort-varmio.o > depbase=`echo fort-varsio.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. > -I.. -I. -I../libsrc -g -O2 -MT fort-varsio.lo -MD -MP -MF > "$depbase.Tpo" -c -o fort-varsio.lo fort-varsio.c; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../libsrc -g -O2 > -MT fort-varsio.lo -MD -MP -MF .deps/fort-varsio.Tpo -c fort-varsio.c -o > fort-varsio.o > /bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o libnetcdff.la > fort-attio.lo fort-control.lo fort-dim.lo fort-genatt.lo fort-geninq.lo > fort-genvar.lo fort-lib.lo fort-misc.lo fort-v2compat.lo fort-vario.lo > fort-var1io.lo fort-varaio.lo fort-varmio.lo fort-varsio.lo ../f90/ > libnetcdff90.la > libtool: link: rm -fr .libs/libnetcdff.a .libs/libnetcdff.la > libtool: link: (cd .libs/libnetcdff.lax/libnetcdff90.a && ar x > /wrfpkgs/netcdf-3.6.2/fortran/../f90/.libs/libnetcdff90.a) > libtool: link: ar cru .libs/libnetcdff.a fort-attio.o fort-control.o > fort-dim.o fort-genatt.o fort-geninq.o fort-genvar.o fort-lib.o fort-misc.o > fort-v2compat.o fort-vario.o fort-var1io.o fort-varaio.o fort-varmio.o > fort-varsio.o .libs/libnetcdff.lax/libnetcdff90.a/typeSizes.o > .libs/libnetcdff.lax/libnetcdff90.a/netcdf.o > libtool: link: ranlib .libs/libnetcdff.a > libtool: link: rm -fr .libs/libnetcdff.lax > libtool: link: creating libnetcdff.la > libtool: link: ( cd ".libs" && rm -f "libnetcdff.la" && ln -s "../ > libnetcdff.la" "libnetcdff.la" ) > make[3]: Leaving directory `/wrfpkgs/netcdf-3.6.2/fortran' > make[2]: Leaving directory `/wrfpkgs/netcdf-3.6.2/fortran' > Making all in libsrc > make[2]: Entering directory `/wrfpkgs/netcdf-3.6.2/libsrc' > /bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o > libnetcdf.la-rpath /usr/local/lib -version-info 4:0:0 -no-undefined > attr.lo ncx.lo > putget.lo dim.lo error.lo libvers.lo nc.lo string.lo v1hpg.lo var.lo > posixio.lo libnetcdf2.la ../fortran/libnetcdff.la > libtool: link: rm -fr .libs/libnetcdf.a .libs/libnetcdf.la.libs/libnetcdf.lai > libtool: link: (cd .libs/libnetcdf.lax/libnetcdf2.a && ar x > /wrfpkgs/netcdf-3.6.2/libsrc/./.libs/libnetcdf2.a) > libtool: link: (cd .libs/libnetcdf.lax/libnetcdff.a && ar x > /wrfpkgs/netcdf-3.6.2/libsrc/../fortran/.libs/libnetcdff.a) > libtool: link: ar cru .libs/libnetcdf.a attr.o ncx.o putget.o dim.o > error.o libvers.o nc.o string.o v1hpg.o var.o posixio.o > .libs/libnetcdf.lax/libnetcdf2.a/v2i.o > .libs/libnetcdf.lax/libnetcdff.a/fort-genatt.o > .libs/libnetcdf.lax/libnetcdff.a/fort-var1io.o > .libs/libnetcdf.lax/libnetcdff.a/fort-misc.o > .libs/libnetcdf.lax/libnetcdff.a/fort-varmio.o > .libs/libnetcdf.lax/libnetcdff.a/fort-varsio.o > .libs/libnetcdf.lax/libnetcdff.a/fort-control.o > .libs/libnetcdf.lax/libnetcdff.a/fort-genvar.o > .libs/libnetcdf.lax/libnetcdff.a/fort-geninq.o > .libs/libnetcdf.lax/libnetcdff.a/fort-v2compat.o > .libs/libnetcdf.lax/libnetcdff.a/fort-dim.o > .libs/libnetcdf.lax/libnetcdff.a/fort-attio.o > .libs/libnetcdf.lax/libnetcdff.a/fort-lib.o > .libs/libnetcdf.lax/libnetcdff.a/typeSizes.o > .libs/libnetcdf.lax/libnetcdff.a/fort-vario.o > .libs/libnetcdf.lax/libnetcdff.a/netcdf.o > .libs/libnetcdf.lax/libnetcdff.a/fort-varaio.o > libtool: link: ranlib .libs/libnetcdf.a > libtool: link: rm -fr .libs/libnetcdf.lax > libtool: link: creating libnetcdf.la > libtool: link: ( cd ".libs" && rm -f "libnetcdf.la" && ln -s "../ > libnetcdf.la" "libnetcdf.la" ) > make[2]: Leaving directory `/wrfpkgs/netcdf-3.6.2/libsrc' > Making all in nctest > make[2]: Entering directory `/wrfpkgs/netcdf-3.6.2/nctest' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/wrfpkgs/netcdf-3.6.2/nctest' > Making all in ncgen > make[2]: Entering directory `/wrfpkgs/netcdf-3.6.2/ncgen' > /bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o ncgen main.o > load.o ncgentab.o escapes.o getfill.o init.o genlib.o ../libsrc/libnetcdf.la > libtool: link: gcc -g -O2 -o ncgen main.o load.o ncgentab.o escapes.o > getfill.o init.o genlib.o ../libsrc/.libs/libnetcdf.a > make[2]: Leaving directory `/wrfpkgs/netcdf-3.6.2/ncgen' > Making all in ncdump > make[2]: Entering directory `/wrfpkgs/netcdf-3.6.2/ncdump' > /bin/sh ../libtool --tag=CC --mode=link gcc -g -O2 -o ncdump ncdump.o > vardata.o dumplib.o -lm ../libsrc/libnetcdf.la > libtool: link: gcc -g -O2 -o ncdump ncdump.o vardata.o dumplib.o -lm > ../libsrc/.libs/libnetcdf.a > make[2]: Leaving directory `/wrfpkgs/netcdf-3.6.2/ncdump' > Making all in nf_test > make[2]: Entering directory `/wrfpkgs/netcdf-3.6.2/nf_test' > make[2]: Nothing to be done for `all'. > make[2]: Leaving directory `/wrfpkgs/netcdf-3.6.2/nf_test' > Making all in cxx > make[2]: Entering directory `/wrfpkgs/netcdf-3.6.2/cxx' > depbase=`echo ncvalues.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \ > if /bin/sh ../libtool --tag=CXX --mode=compile c++ -DHAVE_CONFIG_H -I. -I. > -I.. -I../fortran -DDEBUG -I../libsrc -g -O2 -MT ncvalues.lo -MD -MP > -MF "$depbase.Tpo" -c -o ncvalues.lo ncvalues.cpp; \ > then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit > 1; fi > libtool: compile: c++ -DHAVE_CONFIG_H -I. -I. -I.. -I../fortran -DDEBUG > -I../libsrc -g -O2 -MT ncvalues.lo -MD -MP -MF .deps/ncvalues.Tpo -c > ncvalues.cpp -o ncvalues.o > ncvalues.cpp: In member function 'virtual char* > NcValues_ncbyte::as_string(long int) const': > ncvalues.cpp:238:60: error: 'strncpy' was not declared in this scope > ncvalues.cpp: In member function 'virtual char* > NcValues_char::as_string(long int) const': > ncvalues.cpp:246:60: error: 'strncpy' was not declared in this scope > make[2]: *** [ncvalues.lo] Error 1 > make[2]: Leaving directory `/wrfpkgs/netcdf-3.6.2/cxx' > make[1]: *** [all-recursive] Error 1 > make[1]: Leaving directory `/wrfpkgs/netcdf-3.6.2' > make: *** [all] Error 2 > > > please try to resolve this error. > > > > > -- > M. MALLESWARA RAO > M.Tech (Atmospheric Science) > Young Professional in Cyclone Models > APSDPS, AP Secreteriat, Hyderabad > > > > -- > M. MALLESWARA RAO > M.Tech (Atmospheric Science) > Young Professional in Cyclone Models > APSDPS, AP Secreteriat, Hyderabad > > Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu Ticket Details =================== Ticket ID: SAR-432650 Department: Support netCDF Priority: Normal Status: Closed