[postgis-users] PostGIS 1.4.1rc2

Greg Troxel gdt at ir.bbn.com
Thu Dec 10 05:55:29 PST 2009


I'm continuing to work on packaging 1.4.1rc2 for pkgsrc, this time on
NetBSD (to avoid Mac shlib oddness until everything else is ok).  I am
building against postgresql 8.4.

 I have a few observations/questions:

* The postgis library is installed as

-rw-r--r--  1 root  wheel  552868 Dec  9 15:44 /usr/pkg/lib/libpostgis-1.4.a
-rwxr-xr-x  1 root  wheel     926 Dec  9 15:44 /usr/pkg/lib/libpostgis-1.4.la
lrwxr-xr-x  1 root  wheel      23 Dec  9 15:44 /usr/pkg/lib/libpostgis-1.4.so -> libpostgis-1.4.so.0.0.0
lrwxr-xr-x  1 root  wheel      23 Dec  9 15:44 /usr/pkg/lib/libpostgis-1.4.so.0 -> libpostgis-1.4.so.0.0.0
-rwxr-xr-x  1 root  wheel  268310 Dec  9 15:44 /usr/pkg/lib/libpostgis-1.4.so.0.0.0

which is autoconf default $(libdir) for --prefix=/usr/pkg.  But
pg_config --pkglibdir is

  $ pg_config --pkglibdir
  /usr/pkg/lib/postgresql

and configure was invoked:

  ./configure --enable-rpath --datadir=/usr/pkg/share/postgresql/contrib --without -libintl-prefix --without-libiconv-prefix --prefix=/usr/pkg --build=i386--netbsdelf --host=i386--netbsdelf --mandir=/usr/pkg/man

Where is it really supposed to go?

* postgis.sql does not get the path to the postgis library substituted.
  I don't get how $$libdir is supposed to be expanded by gmake:

%.sql: %.sql.in
	sed 's,MODULE_PATHNAME,$$libdir/$*- at POSTGIS_MAJOR_VERSION@. at POSTGIS_MINOR_VERSION@,g' $< >$@

gmake runs

  sed 's,MODULE_PATHNAME,$libdir/postgis-1.4,g' postgis.sql.in >postgis.sql

which results in the installed postgis.sql trying to load
$libdir/postgis-1.4 like this:

  -- Deprecation in 1.2.3
  CREATE OR REPLACE FUNCTION spheroid_in(cstring)
          RETURNS spheroid 
          AS '$libdir/postgis-1.4','ellipsoid_in'
          LANGUAGE 'C' IMMUTABLE STRICT; 

which does not work.  So I think the make rule should use " not ' so
$libdir is expanded, and should say libpostgis instead of postgis.  But
obviously this must work for others, so I suspect there's something odd
about what I'm doing.

* top-level make install does not seem to descend into doc.  Is this
  intentional, or am I doing something wrong in packaging?  I didn't
  find this explained in README.postgis, but it doesn't mention docs
  under installation.

* in doc, there are some prebuilt man pages in the distribution tarball,
  plus docbook.  docbook is not listed as a dependency in
  README.postgis, but it seems to be.  Should I just add it as a
  dependency?  The other strategy is to prebuild the docs as part of
  'make dist' and have the build system be willing to install those
  built doc bits, but it's not like systems that can handle postgresql
  can't handle the space for xml tools, so this probably doesn't make
  sense.

* liblwgeom does not get installed.  The postgis library has U symbols
  for things in lwgeom.  There is makefile code to pull in objects from
  liblwgeom.a into libpostgis.so, but that doesn't seem to work.
  Clearly I need to look into this further, but would like to know the
  plan so I can understand where my build is going wrong

    Is there supposed to be a liblwgeom.a installed?  Where?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20091210/ff186765/attachment.pgp>


More information about the postgis-users mailing list