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.
On Mon, 8 Dec 2003, Enils Bashi wrote: > Hi, > > I am trying to build the decoders-3.0.1 package on a RH 9 pentium 3 dual > processor machine. I have built netcdf, ldm and udunits. I have edited the > CUSTOMIZED folder but I am running into some problems with make. Here it is: > > > > making `all' in directory /data/decoders-3.0.1/src/gribtonc > > make[1]: Entering directory `/data/decoders-3.0.1/src/gribtonc' > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG emalloc.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG gbds.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG gbytem.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG gdes.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG get_prod.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG grib1.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG gribtypes.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG inetutil.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG levels.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG params.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG product_data.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG quasi.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG timeunits.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG user_param.c > gcc -c -g -DNO_REPLACE_SYSLOG -DLOGNAME_ISSOCK > -I/usr/local/netcdf-3.5.0/include > -I/data/udunits-1.11.7/include -DDEBUG ulog.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG centers.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG gribdump.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG models.c > gcc -g emalloc.o gbds.o gbytem.o gdes.o get_prod.o grib1.o gribtypes.o > inetutil. > o levels.o params.o product_data.o quasi.o timeunits.o user_param.o ulog.o > cente > rs.o gribdump.o models.o -lm -o gribdump > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG gribtonc.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG mkdirs_open.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG nc.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG ncfloat.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG nuwg.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG recs.c > gcc -c -g -I/usr/local/netcdf-3.5.0/include -I/data/udunits-1.11.7/include > -DDEB > UG units.c > gcc -g emalloc.o gbds.o gbytem.o gdes.o get_prod.o grib1.o gribtypes.o > inetutil. > o levels.o params.o product_data.o quasi.o timeunits.o user_param.o ulog.o > gribt > onc.o mkdirs_open.o nc.o ncfloat.o nuwg.o recs.o units.o \ > -L/usr/local/netcdf-3.5.0/lib -lnetcdf -L/data/udunits-1.11.7/lib > -luduni > ts -ludport -lm -o gribtonc > /usr/local/netcdf-3.5.0/lib/libnetcdf.a(string.o)(.text+0x37): In function > `NC_c > heck_name': > : undefined reference to `__ctype_b' > /data/udunits-1.11.7/lib/libudunits.a(utlib.o)(.text+0xde6): In function > `Decode > Unit': > : undefined reference to `__ctype_b' > /data/udunits-1.11.7/lib/libudunits.a(utlib.o)(.text+0xe34): In function > `Decode > Unit': > : undefined reference to `__ctype_b' > /data/udunits-1.11.7/lib/libudunits.a(utlib.o)(.text+0xfaf): In function > `ScanUn > it': > : undefined reference to `__ctype_b' > collect2: ld returned 1 exit status > make[1]: *** [gribtonc] Error 1 > make[1]: Leaving directory `/data/decoders-3.0.1/src/gribtonc' > make: *** [gribtonc/all] Error 1 > > Any and all feedback would be greatly appreciated Enils, From Steve Emmerson, The symbol "__ctype_b" isn't directly referenced by either the netCDF or the UDUNITS packages. It is part of the GNU C 2.2 runtime: the isdigit() family of C macros references it. The symbol is not part of the GNU C 2.3 runtime, however. Consequently, code compiled by GNU C 2.2 that references the symbol can not link under GNU C 2.3. I suspect this is their problem. Regards, Steve Emmerson So the solution is to use the same version of the gcc compiler to compile the packages netCDF, Udunits, and gribtonc. % gcc -v Robb... > > > Enils Bashi > Programmer - Chesapeake Bay Program > Veridyne Incorporated > Annapolis, Maryland: (410) 267-9833 > www.chesapeakebay.net > > > =============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research address@hidden WWW: http://www.unidata.ucar.edu/ ===============================================================================