[GRASS-dev] version compatibility
Glynn Clements
glynn at gclements.plus.com
Sat Jun 13 13:31:50 EDT 2009
William Kyngesburye wrote:
> I'm trying to figure out how to handle multiple GRASS versions. I see
> that G_gisinit() and G_no_gisinit() compare the version passed to it
> with GIS_H_VERSION. And this currently in 6.4RCx is set to an SVN
> revision number.
>
> Since GIS_H_VERSION gets compiled into any external software that
> links to GRASS libraries - GDAL/GRASS plugin and QGIS - GRASS 6.4RC4 !
> = GRASS 6.4RC5 and I have to rebuild *everything* for it all to
> happily coexist. Nightmare for distribution.
>
> When GRASS 6.4 is final, will this be set to some fixed value that
> will not change between revisions (ie 6.4.x)? The library API
> shouldn't change in minor revisions, so external software shouldn't
> have to depend on an exact version of GRASS.
If gis.h doesn't change, then GIS_H_VERSION won't change
If gis.h is changed, the API and ABI have changed, so any programs
using libgis will need to be recompiled for the new ABI.
Checking GIS_H_VERSION simply causes any programs built for a
different version to produce an unambiguous error message rather than
producing obscure errors due to ABI incompatibility.
> Users installing binaries may not update all (GRASS/GDAL/QGIS/other)
> in a timely manner. Packagers would otherwise have to rebuild
> software that hasn't changed just so it works with a minor GRASS update.
Anything which changes GIS_H_VERSION isn't a minor update.
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev
mailing list