[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 950428: figuring out netcdf version



Hi Andrew,

> We've had quite a disorganized proliferation of netCDF versions around
> the lab here and would like to be able to figure out what rev everybody
> is on so that we could potentially manage upgrades, etc.
> 
> I've poked around a little bit, but it doesn't seem obvious how one can
> tell what version of netCDF is on a particular machine. There doesn't
> seem to be a --version option on the binaries, "what" doesn't reveal
> anything on the binaries or the library, and the version number in netcdf.h
> seems to only apply to the header.
> 
> Is there an easy way to do this that I have overlooked? How about a
> difficult way?

At the top-level of the source distribution, the file VERSION is supposed to
contain the version number, e.g. "2.3.2", for version 2.3.2.  The version is
also in the title of the document in the README file at the top-level for
all recent versions.  Unfortunately, neither VERSION nor README contain
information about the patch-level, and since there have been four official
patches released to version 2.3.2, the only way I know of to determine which
patch level a release represents is to look at the versions of a volatile
file that has been changed by each recent patch.  For example, here are the
version numbers for the file c++/netcdf.cc corresponding to the patch-levels
for which I have records:

    netcdf/c++/netcdf.cc,v 1.42 1993/04/25 16:24:28     patch level 2
    netcdf/c++/netcdf.cc,v 1.46 1994/02/22 18:09:42     patch level 3
    netcdf/c++/netcdf.cc,v 1.50 1995/01/31 17:10:58     patch level 4

Patch #1 to netcdf 2.3.2 only changed the file ncgen/generate.c, but
unfortunately it didn't change the version number of the file in the file
header, so you'll have to actually look at the file and the patch to see
whether it's been applied.  Similarly, patch #2 only changed ncdump/ncdump.c
and ncgen/load.c without changing the file headers.

The patches are all in ftp://ftp.unidata.ucar.edu/pub/netcdf/.

The version of the object library should be available in the static char
array VersionID, as defined in libsrc/version.c, but without the patch level
or minor version number (e.g. "2.3" instead of "2.3.2" or "2.3.2pl4").

If you only have object files without the sources they were made from, I
don't have an easy way to determine the patch-level, although some test
involving a bug that was corrected by each patch could be constructed to
determine this.  I think it might be easier just to bring any questionable
version up to the current release and patch level by rebuilding it.

We are working on a release 2.4, so if you just want to wait until that is
available to upgrade everything to a common version, that's another option.

--Russ

______________________________________________________________________________

Russ Rew                                           UCAR Unidata Program
address@hidden                              http://www.unidata.ucar.edu