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.
>From: Patrick Guio <address@hidden> >Subject: problem with ncdump (fwd) >Organization: . >Keywords: 199610020843.AA13593 Patrick, > I have well received your patch. I have unpatched it using the command > patch vardata.c vardata..c.patch > I have recompiled it on DEC Alpha/DU4.0, the new ncdump works fine by > now. On SGI the file compiled too but the ncdump still behave the same > way as earlier with the _'s. The patched version works on our 64-bit SGI when we use the compiler option -OPT:IEEE_comparisons This works even if -O is also used. On a 32-bit SGI, it works when we use the compiler options -n32 -OPT:IEEE_comparisons On an Alpha/OSF1, it works with the compiler option -ieee or any stricter ieee option. Hence I think if we can make our configure script set these options in the Makefile for ncdump/vardata.c, the patch will work on all the platforms we have access to. I haven't found any alternative portable way to determine whether a floating-point value is an IEEE infinity. > I have a few other remarks concerning the configure run. > On DEC Alpha/DU4.0, the default c++ compiler choosen by configure is > cxx. We moved from DU3.0 to 4.0 a few weeks ago, cxx used to work fine > to compile the cxx directory, but now I cannot manage to compile the > file ncvalues.cc. Here how it looks like : > > mitra.phys.uit.no % make cxx/all > > making `all' in directory /usr/usersB/eiscat/netcdf/netcdf-2.4.3/src/cxx > > cxx -c -I../libsrc netcdf.cc > cxx -c -I../libsrc ncvalues.cc > cxx: Error: ncvalues.cc, line 156: In this statement, the argument list > "ostrstream(s,sizeof(s))<<the_values[n]" matches no "ostream::operator > <<". > as_string_implement(short) > ^ > cxx: Error: ncvalues.cc, line 157: In this statement, the argument list > "ostrstream(s,sizeof(s))<<the_values[n]" matches no "ostream::operator > <<". > as_string_implement(nclong) > ^ > cxx: Error: ncvalues.cc, line 158: In this statement, the argument list > "ostrstream(s,sizeof(s))<<the_values[n]" matches no "ostream::operator > <<". > as_string_implement(float) > ^ > cxx: Error: ncvalues.cc, line 159: In this statement, the argument list > "ostrstream(s,sizeof(s))<<the_values[n]" matches no "ostream::operator > <<". > as_string_implement(double) > ^ > If I use the GNU c++ compiler (g++), I have no problem to compile. So I > was wondering whether you had been testing the package under DU4.0 with > cxx or g++ ? We have been using g++, because we don't have a license for cxx. The above messages look like a compiler error to me. > On SGI running the configure set the ranlib variable to > s%@RANLIB@%ranlib%g > So I have to rerun the config.status with the following change > s%@RANLIB@%ar ts%g > in order to make all Our R8000 SGI running IRIX64 6.2 doesn't have a ranlib either, but the 2.4.3 distribution seemed to build OK on it. I'm forwarding this problem to Steve Emmerson, our configure expert, to see if he can reproduce the problem or figure out if we need to change something here. > I think that's all for now ! Thanks for the bug reports! --Russ _____________________________________________________________________ Russ Rew UCAR Unidata Program address@hidden http://www.unidata.ucar.edu