[postgis-users] PostGIS 1.4.1rc2

Greg Troxel gdt at ir.bbn.com
Thu Dec 10 07:11:27 PST 2009


Mark Cave-Ayland <mark.cave-ayland at siriusit.co.uk> writes:

Thanks for the explanations.

>> 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:
>
> No, I think you've misunderstood this. The build system simply
> replaces MODULE_PATHNAME with $libdir/postgis-1.4. The library string
> $libdir/postgis-1.4' is correct because the $libdir substitution is
> done by PostgreSQL at run-time and not by the build system.

OK (probably that deserves a comment in the makefile!).

I am sure I only have one pg version, and proj and geos are ok:

root 8 /usr/pkg/pgsql #> ldd /usr/pkg/lib/libpostgis-1.4.so
/usr/pkg/lib/libpostgis-1.4.so:
        -lc.12 => /usr/lib/libc.so.12
        -lstdc++.6 => /usr/lib/libstdc++.so.6
        -lm.0 => /usr/lib/libm.so.0
        -lgcc_s.1 => /usr/lib/libgcc_s.so.1
        -lgeos-3.1.0 => /usr/pkg/lib/libgeos-3.1.0.so
        -lgeos_c.1 => /usr/pkg/lib/libgeos_c.so.1
        -lproj.0 => /usr/pkg/lib/libproj.so.0

pg_config says

LIBDIR = /usr/pkg/lib
PKGLIBDIR = /usr/pkg/lib/postgresql

so is $libdir then /usr/pkg/lib?  So therefore postgis belongs as
/usr/pkg/lib/postgis-1.4.so?  Or /usr/pkg/lib/libpostgis-1.4.so, which
is what I seem to get, but I don't see how that would be found.

ERROR:  could not access file "$libdir/postgis-1.4": No such file or directory
STATEMENT:  CREATE OR REPLACE FUNCTION spheroid_in(cstring)
                RETURNS spheroid
                AS '$libdir/postgis-1.4','ellipsoid_in'
                LANGUAGE 'C' IMMUTABLE STRICT;

>> * 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.
>
> Yeah - this is mainly because the documentation has some quite heavy
> dependencies for example docbook, xslt and all sorts. We figured that
> people would much rather read the documentation online rather than
> install half of the known typesetting universe to build the
> documentation ;)

OK, so the proper packaging approach is to not package the
documentation.

>> * 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?
>
> Nope - it's currently a static library and so gets manually linked to
> everything that needs it. In short, you don't need to worry about
> this.

How is it ok to link a static library into a .so?  I think it's only
because PIC code is produced, making it an aggegration of objects
compiled the way a shlib would be.  libtool is refusing to do bring it
in; I wonder if I should be including all the objects instead of the .a.

  libtool  --mode=link cc -L/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib -L/usr/pkg/lib -Wl,-R/usr/pkg/lib  -Wl,--as-needed -Wl,-R'/usr/pkg/lib'  -rpath /usr/pkg/lib -version-info 0:0 -o libpostgis-1.4.la lwgeom_pg.lo lwgeom_debug.lo lwgeom_accum.lo lwgeom_spheroid.lo lwgeom_ogc.lo lwgeom_functions_analytic.lo lwgeom_inout.lo lwgeom_estimate.lo lwgeom_functions_basic.lo lwgeom_gist.lo lwgeom_btree.lo lwgeom_transform.lo lwgeom_box.lo lwgeom_box3d.lo lwgeom_box2dfloat4.lo lwgeom_chip.lo lwgeom_geos.lo lwgeom_geos_prepared.lo lwgeom_svg.lo lwgeom_gml.lo lwgeom_kml.lo lwgeom_geojson.lo lwgeom_triggers.lo lwgeom_dump.lo lwgeom_functions_lrs.lo long_xact.lo lwgeom_sqlmm.lo lwgeom_rtree.lo -L/usr/pkg/lib -Wl,-R/usr/pkg/lib  -lgeos_c -lproj ../liblwgeom/liblwgeom.a

  *** Warning: Trying to link with static lib archive ../liblwgeom/liblwgeom.a.
  *** I have the capability to make that library automatically link in when
  *** you link to this library.  But I can only do this if you have a
  *** shared version of the library, which you do not appear to have
  *** because the file extensions .a of this argument makes me believe
  *** that it is just a static archive that I should not used here.
  cc -shared  .libs/lwgeom_pg.o .libs/lwgeom_debug.o .libs/lwgeom_accum.o .libs/lwgeom_spheroid.o .libs/lwgeom_ogc.o .libs/lwgeom_functions_analytic.o .libs/lwgeom_inout.o .libs/lwgeom_estimate.o .libs/lwgeom_functions_basic.o .libs/lwgeom_gist.o .libs/lwgeom_btree.o .libs/lwgeom_transform.o .libs/lwgeom_box.o .libs/lwgeom_box3d.o .libs/lwgeom_box2dfloat4.o .libs/lwgeom_chip.o .libs/lwgeom_geos.o .libs/lwgeom_geos_prepared.o .libs/lwgeom_svg.o .libs/lwgeom_gml.o .libs/lwgeom_kml.o .libs/lwgeom_geojson.o .libs/lwgeom_triggers.o .libs/lwgeom_dump.o .libs/lwgeom_functions_lrs.o .libs/long_xact.o .libs/lwgeom_sqlmm.o .libs/lwgeom_rtree.o  -Wl,--rpath -Wl,/n0/gdt/NetBSD-current/pkgsrc/geography/postgresql-postgis/work/.buildlink/lib -Wl,--rpath -Wl,/n0/gdt/NetBSD-current/pkgsrc/geography/postgresql-postgis/work/.buildlink/lib -L/n0/gdt/NetBSD-current/pkgsrc/geography/postgresql-postgis/work/.buildlink/lib /n0/gdt/NetBSD-current/pkgsrc/geography/postgresql-postgis/work/.buildlink/lib/libgeos_c.so /n0/gdt/NetBSD-current/pkgsrc/geography/postgresql-postgis/work/.buildlink/lib/libproj.so  -Wl,-R/usr/pkg/lib -Wl,--as-needed -Wl,-soname -Wl,libpostgis-1.4.so.0 -o .libs/libpostgis-1.4.so.0.0.0
-------------- 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/a4b6d0fd/attachment.pgp>


More information about the postgis-users mailing list