[geos-devel] few more compile bugs

Paul Ramsey pramsey at cleverelephant.ca
Thu Aug 20 19:53:11 EDT 2009


Mark, can you express your changes in the form of a patch, attached to
a ticket at http://trac.osgeo.org/geos ?

Thanks,

P.

On Thu, Aug 20, 2009 at 4:48 PM, Mark Richardson<markmapo at yahoo.com> wrote:
> Again, compiling for HP.  I get some errors, so here are fixes...
>
> source/headers/geos/geom/IntersectionMatrix.h
>
> #include <iostream>
>
>
>
> ---------------------------------------------------
>
> more errors with fixes below...
>
> --------------------------------------------------
>
> Error 226: "GeometryTransformer.cpp", line 162 # No appropriate function
> found for call of 'auto_ptr::auto_ptr'. Last viable candidate was
>
>
> "std::auto_ptr<geos::geom::Geometry>::auto_ptr(std::auto_ptr<geos::geom::Geometry>
> &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class
>
>     auto_ptr<geos::geom::Geometry>' could not be converted to
> 'std::auto_ptr<geos::geom::Geometry> &'.
>
>                     Geometry::AutoPtr transformGeom = transformPoint(p,
> geom);
>
>
>
> Error 226: "GeometryTransformer.cpp", line 213 # No appropriate function
> found for call of 'auto_ptr::auto_ptr'. Last viable candidate was
>
>
> "std::auto_ptr<geos::geom::CoordinateSequence>::auto_ptr(std::auto_ptr<geos::geom::CoordinateSequence>
> &)" ["/opt/aCC/include_std/memory", line 833].
>
>     Argument of type 'class auto_ptr<geos::geom::CoordinateSequence>' could
> not be converted to 'std::auto_ptr<geos::geom::CoordinateSequence> &'.
>
>                     transformCoordinates(geom->getCoordinatesRO(), geom));
>
>                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> Error 226: "GeometryTransformer.cpp", line 235 # No appropriate function
> found for call of 'auto_ptr::auto_ptr'. Last viable candidate was
>
>
> "std::auto_ptr<geos::geom::Geometry>::auto_ptr(std::auto_ptr<geos::geom::Geometry>
> &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class
>
>     auto_ptr<geos::geom::Geometry>' could not be converted to
> 'std::auto_ptr<geos::geom::Geometry> &'.
>
>                     Geometry::AutoPtr transformGeom = transformLineString(l,
> geom);
>
>                                       ^^^^^^^^^^^^^ Error 226:
> "GeometryTransformer.cpp", line 264 # No appropriate function found for call
> of 'auto_ptr::auto_ptr'. Last viable candidate was
>
>
> "std::auto_ptr<geos::geom::Geometry>::auto_ptr(std::auto_ptr<geos::geom::Geometry>
> &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class
>
>     auto_ptr<geos::geom::Geometry>' could not be converted to
> 'std::auto_ptr<geos::geom::Geometry> &'.
>
>             Geometry::AutoPtr shell = transformLinearRing(lr, geom);
>
>                               ^^^^^
>
> Error 226: "GeometryTransformer.cpp", line 339 # No appropriate function
> found for call of 'auto_ptr::auto_ptr'. Last viable candidate was
>
>
> "std::auto_ptr<geos::geom::Geometry>::auto_ptr(std::auto_ptr<geos::geom::Geometry>
> &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class
>
>     auto_ptr<geos::geom::Geometry>' could not be converted to
> 'std::auto_ptr<geos::geom::Geometry> &'.
>
>                     Geometry::AutoPtr transformGeom = transformPolygon(p,
> geom);
>
>                                       ^^^^^^^^^^^^^ Error 226:
> "GeometryTransformer.cpp", line 366 # No appropriate function found for call
> of 'auto_ptr::auto_ptr'. Last viable candidate was
>
>
> "std::auto_ptr<geos::geom::Geometry>::auto_ptr(std::auto_ptr<geos::geom::Geometry>
> &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class
>
>     auto_ptr<geos::geom::Geometry>' could not be converted to
> 'std::auto_ptr<geos::geom::Geometry> &'.
>
>                     Geometry::AutoPtr transformGeom = transform(
>
>
>
>  ----------------------------
>
> fixes
>
> -----------------------------------
>
> So changing GeometryTransformer.cpp line 162 from Geometry::AutoPtr
> transformGeom=transformPoint(p, geom); to Geometry::AutoPtr
> transformGeom(transformPoint(p, geom));
>
>
>
> So changing GeometryTransformer.cpp line 213 from return
> factory->createLineString(transformCoordinates(geom->getCoordinatesRO(),
> geom)); to std::auto_ptr<CoordinateSequence>
> tempCoordinateSequence(transformCoordinates(geom->getCoordinatesRO(),
> geom)); return factory->createLineString(tempCoordinateSequence);
>
>
>
> So changing GeometryTransformer.cpp line 235 from Geometry::AutoPtr
> transformGeom=transformLineString(l, geom); to Geometry::AutoPtr
> transformGeom(transformLineString(l, geom));
>
>
>
> So changing GeometryTransformer.cpp line 264 from Geometry::AutoPtr
> shell=transformLinearRing(lr, geom); to Geometry::AutoPtr
> shell(transformLinearRing(lr, geom));
>
>
>
> So changing GeometryTransformer.cpp line 339 from Geometry::AutoPtr
> transformGeom=transformPolygon(p, geom); to Geometry::AutoPtr
> transformGeom(transformPolygon(p, geom));
>
>
>
> So changing GeometryTransformer.cpp line 366 from Geometry::AutoPtr
> transformGeom=transform(geom->getGeometryN(i));
>
> to
>
> Geometry::AutoPtr transformGeom(transform(geom->getGeometryN(i)));
>
>
>
>
>
> --------------------------------------------------------------
>
> more errors with fixes
> below...--------------------------------------------------------------
>
> Error 746: "MCIndexNoder.cpp", line 143 # Cannot use static_cast to convert
> void * to const geos::noding::SegmentString *.
>
>                     static_cast<const SegmentString *>(mc1->getContext())
>
>                                                        ^^^^^^^^^^^^^^^^^
>
>
>
> --------------------------------------------------------------
>
> fixes
>
> --------------------------------------------------------------
>
> So changing MCIndexNoder.cpp line 143 from
>
> SegmentString* ss1 = const_cast<SegmentString*>(static_cast<const
> SegmentString *>(mc1->getContext())); to
>
> SegmentString* ss1 = const_cast<SegmentString*>(static_cast<const
> SegmentString *>((SegmentString*)mc1->getContext()));
>
>
>
> So changing MCIndexNoder.cpp line 148 from
>
> SegmentString* ss2 = const_cast<SegmentString*>(static_cast<const
> SegmentString *>(mc2->getContext())); to
>
> SegmentString* ss2 = const_cast<SegmentString*>(static_cast<const
> SegmentString *>((SegmentString*)mc2->getContext()));
>
>
>
> ---------------
>
> That's all the changes and now everything compiles on HP.
>
>
>
> Mark
>
> _______________________________________________
> geos-devel mailing list
> geos-devel at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/geos-devel
>


More information about the geos-devel mailing list