[postgis-users] How to create user-defined C function using a postgis C function
Peter Tolkewitz
peter.tolkewitz at gmx.de
Wed Nov 13 02:33:06 PST 2013
Hello Sandro,
works perfect now, thank you! The solution for PostGIS2.0.x was to compile with
> cc -llwgeom -I/usr/include/pgsql/server -fpic -shared -o libtest.so test.c
and define the following function within test.c:
void lwgeom_init_allocators(void) {
lwgeom_install_default_allocators();
}
/Peter
Gesendet: Montag, 11. November 2013 um 12:29 Uhr
Von: "Sandro Santilli" <strk at keybit.net>
An: "PostGIS Users Discussion" <postgis-users at lists.osgeo.org>
Betreff: Re: [postgis-users] How to create user-defined C function using a postgis C function
On Mon, Nov 11, 2013 at 12:27:17PM +0100, Peter Tolkewitz wrote:
> Hello Sandro,
>
> thank you for your answer. For testing I wrote another main() class:
>
> --- start main.c ---
>
> int main() {
> test(0,0);
> return 0;
> }
> --- end main.c ---
>
> and compiled
>
> > cc -I/usr/include/pgsql/server -fpic -shared -o libtest.so test.c
> > cc -llwgeom -ltest main.c -o main -L. -L/usr/lib64
>
> In /usr/lib64 the liblwgeom.so is located (a liblwgeom.a I cannot find).
>
>
> Now the original error is resolved, but now I get
>
> /usr/lib64/liblwgeom.so: undefined reference to `lwgeom_init_allocators'
>
> Any ideas how to resolve this?
As of PostGIS 2.0.x you need to provide that function in your own library,
if you switch to PostGIS 2.1.x you'll have a different requirement, due to:
- #2089, liblwgeom: lwgeom_set_handlers replaces lwgeom_init_allocators.
--strk;
_______________________________________________
postgis-users mailing list
postgis-users at lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
More information about the postgis-users
mailing list