[postgis-users] Compilation error postgis_geos_wrapper.c
strk
strk at keybit.net
Tue Oct 14 09:53:35 PDT 2003
pramsey wrote:
> Does the const'ed version of GEOS currently compile and run all tests?
> Paul
Compiles with (almost) no warnings.
Runs all tests with no errors.
Leaks a lot.
The only compiler warning I get is about SweepLineEvent destructor
deleting a void *obj. Many leaks are due to modifications still
in discussion (see: "about getCoordinates()" on geos-devel).
--strk;
>
> strk wrote:
>
> > Here is a context diff
> >
> > --strk;
> >
> > ---8<-------------------------------------------------------------
> >
> > Index: postgis_geos_wrapper.cpp
> > ===================================================================
> > RCS file: /home/cvs/postgis/postgis/postgis_geos_wrapper.cpp,v
> > retrieving revision 1.7
> > diff -c -r1.7 postgis_geos_wrapper.cpp
> > *** postgis_geos_wrapper.cpp 3 Oct 2003 16:45:37 -0000 1.7
> > --- postgis_geos_wrapper.cpp 14 Oct 2003 09:34:33 -0000
> > ***************
> > *** 102,110 ****
> > extern "C" POINT3D *GEOSGetCoordinate(Geometry *g1);
> > extern "C" POINT3D *GEOSGetCoordinates(Geometry *g1);
> > extern "C" int GEOSGetNumCoordinate(Geometry *g1);
> > ! extern "C" Geometry *GEOSGetGeometryN(Geometry *g1, int n);
> > ! extern "C" Geometry *GEOSGetExteriorRing(Geometry *g1);
> > ! extern "C" Geometry *GEOSGetInteriorRingN(Geometry *g1, int n);
> > extern "C" int GEOSGetNumInteriorRings(Geometry *g1);
> > extern "C" int GEOSGetSRID(Geometry *g1);
> > extern "C" int GEOSGetNumGeometries(Geometry *g1);
> > --- 102,110 ----
> > extern "C" POINT3D *GEOSGetCoordinate(Geometry *g1);
> > extern "C" POINT3D *GEOSGetCoordinates(Geometry *g1);
> > extern "C" int GEOSGetNumCoordinate(Geometry *g1);
> > ! extern "C" const Geometry *GEOSGetGeometryN(Geometry *g1, int n);
> > ! extern "C" const Geometry *GEOSGetExteriorRing(Geometry *g1);
> > ! extern "C" const Geometry *GEOSGetInteriorRingN(Geometry *g1, int n);
> > extern "C" int GEOSGetNumInteriorRings(Geometry *g1);
> > extern "C" int GEOSGetSRID(Geometry *g1);
> > extern "C" int GEOSGetNumGeometries(Geometry *g1);
> > ***************
> > *** 836,842 ****
> > {
> > try{
> > POINT3D *result = (POINT3D*) malloc (sizeof(POINT3D));
> > ! Coordinate *c =g1->getCoordinate();
> >
> > result->x = c->x;
> > result->y = c->y;
> > --- 836,842 ----
> > {
> > try{
> > POINT3D *result = (POINT3D*) malloc (sizeof(POINT3D));
> > ! const Coordinate *c =g1->getCoordinate();
> >
> > result->x = c->x;
> > result->y = c->y;
> > ***************
> > *** 922,931 ****
> >
> >
> > //call only on GEOMETRYCOLLECTION or MULTI*
> > ! Geometry *GEOSGetGeometryN(Geometry *g1, int n)
> > {
> > try{
> > ! GeometryCollection *gc = (GeometryCollection *) g1;
> > return gc->getGeometryN(n);
> > }
> > catch(...)
> > --- 922,931 ----
> >
> >
> > //call only on GEOMETRYCOLLECTION or MULTI*
> > ! const Geometry *GEOSGetGeometryN(Geometry *g1, int n)
> > {
> > try{
> > ! const GeometryCollection *gc = (GeometryCollection *) g1;
> > return gc->getGeometryN(n);
> > }
> > catch(...)
> > ***************
> > *** 936,942 ****
> >
> >
> > //call only on polygon
> > ! Geometry *GEOSGetExteriorRing(Geometry *g1)
> > {
> > try{
> > Polygon *p = (Polygon *) g1;
> > --- 936,942 ----
> >
> >
> > //call only on polygon
> > ! const Geometry *GEOSGetExteriorRing(Geometry *g1)
> > {
> > try{
> > Polygon *p = (Polygon *) g1;
> > ***************
> > *** 949,955 ****
> > }
> >
> > //call only on polygon
> > ! Geometry *GEOSGetInteriorRingN(Geometry *g1,int n)
> > {
> > try{
> > Polygon *p = (Polygon *) g1;
> > --- 949,955 ----
> > }
> >
> > //call only on polygon
> > ! const Geometry *GEOSGetInteriorRingN(Geometry *g1,int n)
> > {
> > try{
> > Polygon *p = (Polygon *) g1;
> >
> > ---8<-------------------------------------------------------------
> >
> > Horst.Duester wrote:
> >
> >>During compilation of PostGIS with GEOS the compilation process breaks with
> >>the following error message:
> >>
> >>c++ -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -g -fexceptions
> >>-I. -DFRO
> >>NTEND -DSYSCONFDIR='"/home/hdus/local/etc/postgresql"' -DUSE_VERSION=72
> >>-I/home/hdus
> >>/local/include/geos -DUSE_GEOS -I../../src/include -c -o
> >>postgis_geos_wrapper.o pos
> >>tgis_geos_wrapper.cpp
> >>postgis_geos_wrapper.cpp: In function `POINT3D *GEOSGetCoordinate
> >>(geos::Geometry *)':
> >>postgis_geos_wrapper.cpp:839: cannot convert `const geos::Coordinate *'
> >>to `geos::Coordinate *' in initialization
> >>postgis_geos_wrapper.cpp: In function `geos::Geometry *GEOSGetGeometryN
> >>(geos::Geometry *, int)':
> >>postgis_geos_wrapper.cpp:929: cannot convert `const geos::Geometry *'
> >>to `geos::Geometry *' in return
> >>postgis_geos_wrapper.cpp: In function `geos::Geometry
> >>*GEOSGetExteriorRing (geos::Geometry *)':
> >>postgis_geos_wrapper.cpp:943: cannot convert `const geos::LineString *'
> >>to `geos::Geometry *' in return
> >>postgis_geos_wrapper.cpp: In function `geos::Geometry
> >>*GEOSGetInteriorRingN (geos::Geometry *, int)':
> >>postgis_geos_wrapper.cpp:956: cannot convert `const geos::LineString *'
> >>to `geos::Geometry *' in return
> >>make: *** [postgis_geos_wrapper.o] Error 1
> >>
> >>GEOS_20031014
> >>Postgis-cvs from today
> >>PostgreSQL 7.2.4
> >>
> >>Any hint???
> >>
> >>With best regards
> >>
> >>
> >>Dr. Horst Düster
> >>Leiter
> >>Abteilung SO!GIS Koordination
> >>Rötihof
> >>4500 Solothurn
> >>
> >>Tel.: 032 627 25 32
> >>Fax: 032 627 22 14
> >>
> >>horst.duester at bd.so.ch <mailto:horst.duester at bd.so.ch>
> >>www.sogis.so.ch <http://www.sogis.so.ch/>
> >>
> >>
> >>
> >>
> >>_______________________________________________
> >>postgis-users mailing list
> >>postgis-users at postgis.refractions.net
> >>http://postgis.refractions.net/mailman/listinfo/postgis-users
> >
> >
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
>
>
> --
> __
> /
> | Paul Ramsey
> | Refractions Research
> | Email: pramsey at refractions.net
> | Phone: (250) 885-0632
> \_
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
More information about the postgis-users
mailing list