Opened 15 years ago

Closed 14 years ago

Last modified 13 years ago

#286 closed defect (fixed)

Compile issues with HP-Ux 11i

Reported by: MarkMapo Owned by: pramsey
Priority: minor Milestone:
Component: Default Version: 3.0.3
Severity: Unassigned Keywords:
Cc:

Description

During compiliation on the HP-Ux 11i system (using the aCC compiler) I ran into a few syntax errors. Most of these are easy and straight forward, and a couple are ambigious. Most of the errors come from the fact that a lot of the classes don't have an operator=() overloaded function. So changing the classes to have these, or change the code from this... <code>Class tempClass=someOtherInstance;</code> into this... <code>Class tempClass(someOtherInstance);</code>


Here's all the errors & fixes that I made....

  1. source/headers/geos/geom/Coordinate.h added...

#include <iostream>

  1. source/headers/geos/geomgraph/TopologyLocation.h added...

#include <iostream>

  1. 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);


Geometry::AutoPtr transformGeom(transformPoint(p, geom));

  1. 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> &'.

return factory->createLineString(transformCoordinates(geom->getCoordinatesRO(), geom));


std::auto_ptr<CoordinateSequence> tempCoordinateSequence(transformCoordinates(geom->getCoordinatesRO(), geom)); return factory->createLineString(tempCoordinateSequence);

  1. 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);


Geometry::AutoPtr transformGeom(transformLineString(l, geom));

  1. 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);


Geometry::AutoPtr shell(transformLinearRing(lr, geom));

  1. 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);


Geometry::AutoPtr transformGeom(transformPolygon(p, geom));

  1. 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(geom->getGeometryN(i));


Geometry::AutoPtr transformGeom(transform(geom->getGeometryN(i)));

  1. Error 746: "MCIndexNoder.cpp", line 143 # Cannot use static_cast to convert void * to const geos::noding::SegmentString *.

SegmentString* ss1 = const_cast<SegmentString*>(static_cast<const SegmentString *>(mc1->getContext()));


SegmentString* ss1 = const_cast<SegmentString*>(static_cast<const SegmentString *>((SegmentString*)mc1->getContext()));

  1. Warning 652: "../../../source/headers/geos/geomgraph/GeometryGraph.h", line 58 # Virtual function "void geos::geomgraph::PlanarGraph::add(geos::geomgraph::EdgeEnd *)" is hidden by "void geos::geomgraph::GeometryGraph::add(const geos::geom::Geometry *)"; did you forget to override it?

class GeometryGraph: public PlanarGraph {


  1. Warning 652: "../../../source/headers/geos/geomgraph/GeometryGraph.h", line 58 # Virtual function "geos::geomgraph::Edge *geos::geomgraph::PlanarGraph::findEdge(const geos::geom::Coordinate &,const geos::geom::Coordinate &)" is hidden by "geos::geomgraph::Edge *geos::geomgraph::GeometryGraph::findEdge(const geos::geom::LineString *)"; did you forget to override it?

class GeometryGraph: public PlanarGraph {


  1. Error 226: "OverlayResultValidator.cpp", line 155 # No appropriate function found for call of 'auto_ptr::auto_ptr'. Last viable candidate was "std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > >::auto_ptr(std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > > &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > >' could not be converted to 'std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > > &'.

auto_ptr< vector<geom::Coordinate> > pts=ptGen.getPoints();


auto_ptr< vector<geom::Coordinate> > pts(ptGen.getPoints());

  1. Error 182: "RelateComputer.cpp", line 340 # "void geos::operation::relate::RelateComputer::updateIM(geos::geom::IntersectionMatrix *)" cannot access private member "void geos::geomgraph::GraphComponent::updateIM(geos::geom::IntersectionMatrix *)".

e->GraphComponent::updateIM(imX);


e->GraphComponent::updateIM(imX);


((GraphComponent*)(e))->updateIM(imX); note: not sure if this has the expected behavior - maybe this "e->updateIM(imX)" is better, but it has the same error??

  1. Error 226: "GeometrySnapper.cpp", line 60 # No appropriate function found for call of 'auto_ptr::auto_ptr'. Last viable candidate was "std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > >::auto_ptr(std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > > &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > >' could not be converted to 'std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > > &'.

auto_ptr<Coordinate::Vect> newPts = snapper.snapTo(snapPts);


auto_ptr<Coordinate::Vect> newPts(snapper.snapTo(snapPts));

  1. Error 226: "GeometrySnapper.cpp", line 108 # No appropriate function found for call of 'auto_ptr::auto_ptr'. Last viable candidate was "std::auto_ptr<std::vector<const geos::geom::Coordinate *,std::allocator<const geos::geom::Coordinate *> > >::auto_ptr(std::auto_ptr<std::vector<const geos::geom::Coordinate *,std::allocator<const geos::geom::Coordinate *> > > &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class auto_ptr<std::vector<const geos::geom::Coordinate *,std::allocator<const geos::geom::Coordinate *> > >' could not be converted to 'std::auto_ptr<std::vector<const geos::geom::Coordinate *,std::allocator<const geos::geom::Coordinate *> > > &'.

auto_ptr<Coordinate::ConstVect> snapPts=extractTargetCoordinates(g);


auto_ptr<Coordinate::ConstVect> snapPts(extractTargetCoordinates(g));

  1. Error 226: "DouglasPeuckerSimplifier.cpp", line 111 # No appropriate function found for call of 'auto_ptr::auto_ptr'. Last viable candidate was "std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > >::auto_ptr(std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > > &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > >' could not be converted to 'std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > > &'.

std::auto_ptr<Coordinate::Vect> newPts =DouglasPeuckerLineSimplifier::simplify(*inputPts, distanceTolerance);


std::auto_ptr<Coordinate::Vect> newPts(DouglasPeuckerLineSimplifier::simplify(*inputPts, distanceTolerance));

  1. Error 226: "LineSegmentIndex.cpp", line 167 # No appropriate function found for call of 'auto_ptr::auto_ptr'. Last viable candidate was "std::auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > >::auto_ptr (std::auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > > &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > >' could not be converted to 'std::auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > > &'.

auto_ptr< vector<LineSegment*> > itemsFound = visitor.getItems();


auto_ptr< vector<LineSegment*> > itemsFound(visitor.getItems());

  1. Error 226: "TaggedLineString.cpp", line 134 # No appropriate function found for call of 'auto_ptr::auto_ptr'. Last viable candidate was "std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > >::auto_ptr(std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > > &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > >' could not be converted to 'std::auto_ptr<std::vector<geos::geom::Coordinate,std::allocator<geos::geom::Coordinate> > > &'.

CoordVectPtr pts = extractCoordinates(resultSegs);


CoordVectPtr pts(extractCoordinates(resultSegs));

  1. Error 226: "TaggedLineString.cpp", line 217 # 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> &'.

return parentLine->getFactory()->createLineString(getResultCoordinates());


CoordinateSequence::AutoPtr tempAutoPtr(getResultCoordinates()); return parentLine->getFactory()->createLineString(tempAutoPtr);

  1. Error 226: "TaggedLineString.cpp", line 225 # 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> &'.

return parentLine->getFactory()->createLinearRing(getResultCoordinates());


CoordinateSequence::AutoPtr tempAutoPtr(getResultCoordinates()); return parentLine->getFactory()->createLinearRing(tempAutoPtr);

  1. Error 226: "TaggedLineStringSimplifier.cpp", line 158 # No appropriate function found for call of 'auto_ptr::auto_ptr'. Last viable candidate was "std::auto_ptr<geos::simplify::TaggedLineSegment>::auto_ptr(std::auto_ptr<geos::simplify::TaggedLineSegment> &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class auto_ptr<geos::simplify::TaggedLineSegment>' could not be converted to 'std::auto_ptr<geos::simplify::TaggedLineSegment> &'.

auto_ptr<TaggedLineSegment> newSeg = flatten(i, j);


auto_ptr<TaggedLineSegment> newSeg(flatten(i, j));

  1. Error 226: "TaggedLineStringSimplifier.cpp", line 212 # No appropriate function found for call of 'auto_ptr::auto_ptr'. Last viable candidate was "std::auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > >::auto_ptr(std::auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > > &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > >' could not be converted to 'std::auto_ptr<std::vector<geos::geom::LineSegment*,std::allocator<geos::geom::LineSegment *> > > &'.

auto_ptr< vector<LineSegment*> > querySegs = outputIndex->query(&candidateSeg);


auto_ptr< vector<LineSegment*> > querySegs(outputIndex->query(&candidateSeg));

  1. Error 226: "TaggedLineStringSimplifier.cpp", line 248 # No appropriate function found for call of 'auto_ptr::auto_ptr'. Last viable candidate was "std::auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > >::auto_ptr(std::auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > > &)" ["/opt/aCC/include_std/memory", line 833]. Argument of type 'class auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > >' could not be converted to 'std::auto_ptr<std::vector<geos::geom::LineSegment *,std::allocator<geos::geom::LineSegment *> > > &'.

auto_ptr< vector<LineSegment*> > querySegs = inputIndex->query(&candidateSeg);


auto_ptr< vector<LineSegment*> > querySegs(inputIndex->query(&candidateSeg));

  1. LInker Errors....

/usr/ccs/bin/ld: Duplicate symbol "typeid<geos::noding::snapround::MCIndexSnapRounder>" in files .libs/inlines.o and .libs/libgeos.lax/libnoding.a/MCIndexSnapRounder.o /usr/ccs/bin/ld: Duplicate symbol "typeid*<geos::noding::snapround::MCIndexSnapRounder>" in files .libs/inlines.o and .libs/libgeos.lax/libnoding.a/MCIndexSnapRounder.o /usr/ccs/bin/ld: Duplicate symbol "Class tables [Vftptr] dependent on key function: "geos::noding::snapround::MCIndexSnapRounder::getNodedSubstrings() const"" in files .libs/inlines.o and .libs/libgeos.lax/libnoding.a/MCIndexSnapRounder.o /usr/ccs/bin/ld: Duplicate symbol "Class tables [Vtable] dependent on key function: "geos::noding::snapround::MCIndexSnapRounder::getNodedSubstrings() const"" in files .libs/inlines.o and .libs/libgeos.lax/libnoding.a/MCIndexSnapRounder.o /usr/ccs/bin/ld: Duplicate symbols are not allowed in shared libraries


nm++ inlines.o....... typeid*<geos::noding::snapround::MCIndexSnapRounder>|1073746684|extern|data |$SHORTDATA$

nm++ libnoding.a..... typeid<geos::noding::snapround::MCIndexSnapRounder>|1073743568|extern|data |$DATA$



#include <geos/noding/snapround/MCIndexSnapRounder.inl>


#include <geos/noding/snapround/MCIndexSnapRounder.inl>

  1. Error 226: "geos_ts_c.cpp", line 1271 # 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> &'.

GeomAutoPtr g3=BinaryOp(g1, g2, overlayOp(OverlayOp::opINTERSECTION));


GeomAutoPtr g3(BinaryOp(g1, g2, overlayOp(OverlayOp::opINTERSECTION)));

  1. Error 226: "geos_ts_c.cpp", line 1375 # 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> &'.

GeomAutoPtr g3 = BinaryOp(g1, g2, overlayOp(OverlayOp::opDIFFERENCE));


GeomAutoPtr g3(BinaryOp(g1, g2, overlayOp(OverlayOp::opDIFFERENCE)));

  1. Error 226: "geos_ts_c.cpp", line 1445 # 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> &'.

GeomAutoPtr g3 = BinaryOp(g1, g2, overlayOp(OverlayOp::opSYMDIFFERENCE));


GeomAutoPtr g3(BinaryOp(g1, g2, overlayOp(OverlayOp::opSYMDIFFERENCE)));

  1. Error 226: "geos_ts_c.cpp", line 1481 # 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> &'.

GeomAutoPtr g3 = BinaryOp(g1, g2, overlayOp(OverlayOp::opUNION));


GeomAutoPtr g3(BinaryOp(g1, g2, overlayOp(OverlayOp::opUNION)));

  1. Error 226: "XMLTester.cpp", line 545 # 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> &'.

GeomAutoPtr gRealRes = BinaryOp(gA, gB, overlayOp(OverlayOp::opINTERSECTION));


GeomAutoPtr gRealRes(BinaryOp(gA, gB, overlayOp(OverlayOp::opINTERSECTION)));

  1. Error 226: "XMLTester.cpp", line 563 # 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> &'.

GeomAutoPtr gRealRes = BinaryOp(gA, gB, overlayOp(OverlayOp::opUNION));


GeomAutoPtr gRealRes(BinaryOp(gA, gB, overlayOp(OverlayOp::opUNION)));

  1. Error 226: "XMLTester.cpp", line 581 # 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> &'.

GeomAutoPtr gRealRes = BinaryOp(gA, gB, overlayOp(OverlayOp::opDIFFERENCE));


GeomAutoPtr gRealRes(BinaryOp(gA, gB, overlayOp(OverlayOp::opDIFFERENCE)));

  1. Error 226: "XMLTester.cpp", line 600 # 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> &'.

GeomAutoPtr gRealRes = BinaryOp(gA, gB, overlayOp(OverlayOp::opSYMDIFFERENCE));


GeomAutoPtr gRealRes(BinaryOp(gA, gB, overlayOp(OverlayOp::opSYMDIFFERENCE)));

  1. Error 226: "XMLTester.cpp", line 755 # 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> &'.

GeomAutoPtr gDiff = BinaryOp(gRes.get(), gRealRes.get(), overlayOp(OverlayOp::opDIFFERENCE));


GeomAutoPtr gDiff(BinaryOp(gRes.get(), gRealRes.get(), overlayOp(OverlayOp::opDIFFERENCE)));

  1. Error 226: "XMLTester.cpp", line 889 # 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> &'.

GeomAutoPtr gI = BinaryOp(gA, gB, overlayOp(OverlayOp::opINTERSECTION));


GeomAutoPtr gI(BinaryOp(gA, gB, overlayOp(OverlayOp::opINTERSECTION)));

  1. Error 226: "XMLTester.cpp", line 901 # 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> &'.

GeomAutoPtr gDab = BinaryOp(gA, gB, overlayOp(OverlayOp::opDIFFERENCE));


GeomAutoPtr gDab(BinaryOp(gA, gB, overlayOp(OverlayOp::opDIFFERENCE)));

  1. Error 226: "XMLTester.cpp", line 908 # 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> &'.

GeomAutoPtr gDba = BinaryOp(gB, gA, overlayOp(OverlayOp::opDIFFERENCE));


GeomAutoPtr gDba(BinaryOp(gB, gA, overlayOp(OverlayOp::opDIFFERENCE)));

  1. Error 226: "XMLTester.cpp", line 920 # 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> &'.

GeomAutoPtr gSD = BinaryOp(gA, gB, overlayOp(OverlayOp::opSYMDIFFERENCE));


GeomAutoPtr gSD(BinaryOp(gA, gB, overlayOp(OverlayOp::opSYMDIFFERENCE)));

  1. Error 226: "XMLTester.cpp", line 927 # 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> &'.

GeomAutoPtr gU = BinaryOp(gA, gB, overlayOp(OverlayOp::opUNION));


GeomAutoPtr gU(BinaryOp(gA, gB, overlayOp(OverlayOp::opUNION)));

  1. after make install, the geos/bin/geos-config has the wrong permissions

-rw-rw-rw- 1 user user 823 Aug 20 19:45 geos-config


-r-xr-xr-x 1 user user 823 Aug 20 19:45 geos-config

Attachments (2)

geos-3.1.1-hpux.patch (77.6 KB ) - added by MarkMapo 14 years ago.
diff of geos-3.1.1 and the modified geos-3.1.1-HPUX
hpux-3.1-svn-1.patch (58.4 KB ) - added by pramsey 14 years ago.
Slightly edited patch that applies and tests out OK

Download all attachments as: .zip

Change History (12)

comment:1 by pramsey, 15 years ago

Sorry to not apply this, but you're making it a lot of work. Here's how to get a patch I can apply and test easily.

# checkout svn next to your working directory of code
svn checkout http://svn.osgeo.org/geos/branches/3.0 geos-3.0-svn
# diff the two directories
diff -u5 -r geos-yours geos-3.0-svn > geos-hpux.patch
# apply the patch to the svn directory
cd geos-3.0-svn
patch -p0 < ../geos-hpux.patch
# test the patch
./configure ; make ; make check
# check that the modified files show up as flagged
svn status
# generate a new patch
svn diff > ../geos-hpux.patch

If you did the same thing for 3.1 and trunk, that would be even better, and would ensure future versions can compile on HP-UX too.

comment:2 by pramsey, 15 years ago

Owner: changed from geos-devel@… to pramsey

comment:3 by pramsey, 15 years ago

Milestone: 3.1.2

comment:4 by pramsey, 15 years ago

Milestone: 3.1.23.0.5

comment:5 by MarkMapo, 14 years ago

Sorry it took me a while to get back to this.... The machine I'm compiling on is on a private network, so I can't do some of the commands you suggested. However, I did download geos 3.0.0 and I still have the original geos 3.1.1 source - so I did run "diff -u5 -r geos-3.1.1.hpux geos-3.0.0 > geos-3.0.0-hpux3.1.1.patch" and "diff -u5 -r geos-3.1.1.hpux geos-3.1.1 > geos-3.1.1-hpux3.1.1.patch". So I have some files to upload (any suggestions on where to put these?) Also, I was thinking of contributing some hardware to geos. I have an older HP K360 Server that is running HPux 11i that I would donate to the cause. It's rather heavy so I'd be willing to pay 1/2 the shipping cost. Let me know, Mark

by MarkMapo, 14 years ago

Attachment: geos-3.1.1-hpux.patch added

diff of geos-3.1.1 and the modified geos-3.1.1-HPUX

comment:6 by pramsey, 14 years ago

This command,

diff -u5 -r geos-3.1.1.hpux geos-3.1.1 > geos-3.1.1-hpux3.1.1.patch

will generate the diff most useful, since it will contain only your changes. The other one would also contain all the GEOS changes between the 3.0.0 and 3.1.1 versions, so would be not useful. You can attach a patch with the "Attach File" button hiding above. I'm afraid we don't have any use for hardware itself, thanks for the offer, since then we'd have to run and administer it, a non-trivial task :) It's better that people with interesting platforms do what you did and generate diffs that make their platforms work. Perhaps you could "simply" attach your box to a public network so that downloading the SVN versions and generating HPUX patches is less effort for you? Carrying versions over an air-gap has to be a lot of work. (I assume you're working on a secure site of some sort, fun.)

by pramsey, 14 years ago

Attachment: hpux-3.1-svn-1.patch added

Slightly edited patch that applies and tests out OK

comment:7 by pramsey, 14 years ago

Milestone: 3.0.53.1.2

Applied HP/UX compilation fixes to 3.1 branch at r2718.

comment:8 by pramsey, 14 years ago

Resolution: fixed
Status: newclosed

I'm closing this ticket out. For SVN trunk (version 3.2 upcoming) I think I'd prefer a patch that adds the "operator=()" overloaded function to the approach taken here...

in reply to:  8 comment:9 by MarkMapo, 14 years ago

I agree that an operator overload would be better. I think the biggest problem that the aCC compiler has trouble with is type casting. Specifically (void*) to some other specific type. I went down the path of making the void* to other specific types, but it got a little messy because some of the classes aren't inherited correctly.

From what I remember there was a duplicate symbol from 2 libraries (inlines.o and libnoding.a)because the same file was included in both. This comes from and extra compiler include inside of inlines.cpp.

There were also some configuration file changes. I think I got frustrated and hard-coded some things specific for HP. The -pedantic flag was killing me!

There were some functions that only threw an exception, but the function defined a return value but never supplied one (because the exception was always thrown). This also made the aCC compiler unhappy.

Looking at the difference file I remembered that I implemented intersects() and intersects_impl() because the aCC didn't like any instance of a class declaration that also had "using parentClass::function". What I did was a quick fix, and there is probably a better way to do this. Same is true for add(), add_impl(), findEdge(), findEdge_impl(), setLabel(), setLabel_impl(), update(), update_impl();

It's been a few weeks since I looked at this, so my reasoning may be wrong, but I know this "patch" successfully compiles and runs (we've been hitting it pretty hard with testing).

comment:10 by strk, 13 years ago

Milestone: 3.1.2

Milestone 3.1.2 deleted

Note: See TracTickets for help on using tickets.