[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