[postgis-devel] MODULE_FILENAME change proposal

strk at refractions.net strk at refractions.net
Thu Dec 15 07:03:35 PST 2005

Making some research for defining a Version scheme for PostGIS 
if found what I think to be a bug in the formation of MODULE_FILENAME
(the value used in CREATE FUNCTION for C functions).

The "bug" has been there since the 0.x branch.

The problem is that we use '$libdir/$(shlib)' while $(shlib)
changes between architectures.

Under GNU/Linux shlib contains MAJOR and MINOR versions.
Under FreeBSD only MAJOR version is used.

This means that whenever SO_MINOR_VERSION is incremented
we obtain two different behaviours in the two systems:

	- Existing spatial DBs under FreeBSD will automatically 
	  use the NEW (1.1) library

	- Existing spatial DBs under GNU/Linux will continue
	  to use the OLD (1.0) library.

Note that the FreeBSD way is likely the one used under any SVR4
arch (Solaris for example, can anyone confirm?).

So, I think we should end this discrepancy by *always* using MAJOR
version *only* to encode cases in which existing databases will NOT be
able to work against new PostGIS versions.

This was the case in the transition between 0.x and 1.x branches
At the time we choosed to completely change postgis library name
to avoid troubles (I hadn't been brave enough ;)

Does it sound fair to all ?


More information about the postgis-devel mailing list