[geos-devel] Fw: 3.0?

S Knox roxyknox at yahoo.co.uk
Thu Oct 23 04:53:07 EDT 2008


I seem to have the issue below when building Geos 3.0.2 with Cygwin.
Is there a solution to this problem of double inclusion, or do I need to install an older version 
of Geos (I am reluctant to do this as I have a recent version of GCC, which requires a 
recent version of the source code to build).

Many thanks for your help - sorry I can't work this out for myself but only just starting to build
things myself!

Regards

Stephen

On Mon Aug 7 17:44:41 EDT 2006, Charlie Savage wrote:
Yes, there is inline.o and inlines.lo.

Not sure I understand though.  From inlines.cpp:

// Only do something if GEOS_INLINE is defined
// Otherwise we'll end up with duplicated symbols
#ifdef GEOS_INLINE

// Undefine GEOS_INLINE so that .inl files
// will be ready for an implementation file
#undef
GEOS_INLINE

#include <geos/inline.h>
#include <geos/io/WKTReader.inl>
#include <geos/io/ByteOrderDataInStream.inl>
#include <geos/operation/overlay/MinimalEdgeRing.inl>
...

#end



If GEOS_INLINE is defined it looks like all the files get included. Then if you look at, say WKTReader.inl: 
#ifdef GEOS_INLINE
# include <geos/io/WKTReader.inl>
#endif

Looks like this also would always be called when:

CXXFLAGS = -g -O2 -DGEOS_INLINE -Wall -ansi -pedantic -Wno-long-long

Anyway, whatever is supposed to happen does not appear to be on MingW.

Charlie

strk at xxxxxxxxxxxxxxx wrote:

On Fri, Aug 04, 2006 at 05:20:49PM -0600, Charlie Savage wrote:

Okay, I've looked at this a bit more and don't see any obvious problems. I did a clean checkout and compiled normally (./configure, make). In the generated make files I see: 
CXXFLAGS = -g -O2 -DGEOS_INLINE -Wall -ansi -pedantic -Wno-long-long

However, it looks like the *.inl files are being included twice.

Suggestions?

When GEOS_INLINE is defined the inlines.cpp file should include no
files, so the problem seems there. Check build line for inlines.o.

--strk;


Charlie


Charlie Savage wrote:

Anything else missing before releasing 3.0.0rc1 ?

I'd like to see MingW work.

I fixed up a autoconf issue (the line feed one) and checked in a couple changes yesterday so geos would compile. However, it doesn't link (errors below). I'll try to investigate further this weekend. Other than that, I'm happy. 
Charlie


------------------
.libs/libgeos.lax/libalgorithm.a/MCPointInRing.o: In function `ZN4geos9algorithm13MCPointInRing10MCSelecterD1Ev':C:/Development/msys/src/geos/trunk/source/algorithm/../../source/headers/geos/algorithm/PointInRing.h:(.text$_ZN4geos4geom11LineSegmentD1Ev[__ZN4geos4geom11LineSegmentD1Ev]+0x0): multiple definition of `geos::geom::LineSegment::~LineSegment()' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/LineSegment.inl:51: first defined here .libs/libgeos.lax/libalgorithm.a/MCPointInRing.o: In function `ZN4geos9algorithm13MCPointInRing10MCSelecterD1Ev':C:/Development/msys/src/geos/trunk/source/algorithm/../../source/headers/geos/algorithm/PointInRing.h:(.text$_ZN4geos4geom11LineSegmentD0Ev[__ZN4geos4geom11LineSegmentD0Ev]+0x0): multiple definition of `geos::geom::LineSegment::~LineSegment()' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/LineSegment.inl:51: first defined here
 .libs/libgeos.lax/libalgorithm.a/PointLocator.o: In function `ZNSt8_Rb_treeIPKN4geos4geom10LineStringESt4pairIKS4_PNS0_9geomgraph4EdgeEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E':C:/Development/msys/src/geos/trunk/source/algorithm/PointLocator.cpp:(.text$_ZN4geos9geomgraph13GeometryGraphD0Ev[__ZN4geos9geomgraph13GeometryGraphD0Ev]+0x0): multiple definition of `geos::geomgraph::GeometryGraph::~GeometryGraph()' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geomgraph/GeometryGraph.inl:46: first defined here .libs/libgeos.lax/libalgorithm.a/PointLocator.o: In function `ZNSt8_Rb_treeIPKN4geos4geom10LineStringESt4pairIKS4_PNS0_9geomgraph4EdgeEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E':C:/Development/msys/src/geos/trunk/source/algorithm/PointLocator.cpp:(.text$_ZN4geos9geomgraph13GeometryGraphD1Ev[__ZN4geos9geomgraph13GeometryGraphD1Ev]+0x0): multiple definition
 of `geos::geomgraph::GeometryGraph::~GeometryGraph()' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geomgraph/GeometryGraph.inl:46: first defined here .libs/libgeos.lax/libgeom.a/CoordinateArraySequenceFactory.o: In function `ZN4geos4geom30CoordinateArraySequenceFactoryD0Ev':C:/Development/msys/src/geos/trunk/source/geom/CoordinateArraySequenceFactory.cpp:27: multiple definition of `geos::geom::CoordinateArraySequenceFactory::create(std::vector<geos::geom::Coordinate, std::allocator<geos::geom::Coordinate> >*) const' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/CoordinateArraySequenceFactory.inl:28: first defined here .libs/libgeos.lax/libgeom.a/CoordinateArraySequenceFactory.o: In function `ZN4geos4geom30CoordinateArraySequenceFactoryD0Ev':C:/Development/msys/src/geos/trunk/source/geom/CoordinateArraySequenceFactory.cpp:27: multiple definition of
 `geos::geom::CoordinateArraySequenceFactory::create(unsigned int, unsigned int) const' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/CoordinateArraySequenceFactory.inl:42: first defined here .libs/libgeos.lax/libgeom.a/MultiLineString.o: In function `ZNSt8_Rb_treeIPKN4geos4geom10LineStringESt4pairIKS4_PNS0_9geomgraph4EdgeEESt10_Select1stISA_ESt4lessIS4_ESaISA_EE8_M_eraseEPSt13_Rb_tree_nodeISA_E':c:/Development/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/stl_vector.h:(.text$_ZNK4geos4geom15MultiLineString5cloneEv[__ZNK4geos4geom15MultiLineString5cloneEv]+0x0): multiple definition of `geos::geom::MultiLineString::clone() const' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/MultiLineString.inl:36: first defined here .libs/libgeos.lax/libgeom.a/MultiPolygon.o: In function
 `ZNSt6vectorIPN4geos4geom8GeometryESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_':c:/Development/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ext/new_allocator.h:(.text$_ZNK4geos4geom12MultiPolygon5cloneEv[__ZNK4geos4geom12MultiPolygon5cloneEv]+0x0): multiple definition of `geos::geom::MultiPolygon::clone() const' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/MultiPolygon.inl:34: first defined here .libs/libgeos.lax/libio.a/WKBReader.o: In function `ZSt6fill_nIPPN4geos4geom8GeometryEjS3_ET_S5_T0_RKT1_':C:/Development/msys/src/geos/trunk/source/io/WKBReader.cpp:(.text$_ZN4geos2io21ByteOrderDataInStream7readIntEv[__ZN4geos2io21ByteOrderDataInStream7readIntEv]+0x0): multiple definition of `geos::io::ByteOrderDataInStream::readInt()' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/io/ByteOrderDataInStream.inl:66: first defined here
 .libs/libgeos.lax/libnoding.a/MCIndexNoder.o: In function `ZNSt6vectorIPN4geos5index5chain13MonotoneChainESaIS4_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS4_S6_EERKS4_':C:/Development/msys/src/geos/trunk/source/noding/MCIndexNoder.cpp:(.text$_ZNK4geos6noding12MCIndexNoder18getNodedSubstringsEv[__ZNK4geos6noding12MCIndexNoder18getNodedSubstringsEv]+0x0): multiple definition of `geos::noding::MCIndexNoder::getNodedSubstrings() const' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/noding/MCIndexNoder.inl:35: first defined here .libs/libgeos.lax/libnoding.a/MCIndexSnapRounder.o: In function `ZN4geos6noding9snapround18MCIndexSnapRounderD1Ev':C:/Development/msys/src/geos/trunk/source/noding/snapround/MCIndexSnapRounder.cpp:(.text$_ZNK4geos6noding9snapround18MCIndexSnapRounder18getNodedSubstringsEv[__ZNK4geos6noding9snapround18MCIndexSnapRounder18getNodedSubstringsEv]+0x0): multiple definition of
 `geos::noding::snapround::MCIndexSnapRounder::getNodedSubstrings() const' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/noding/snapround/MCIndexSnapRounder.inl:32: first defined here .libs/libgeos.lax/liboperation.a/ConnectedInteriorTester.o: In function `ZNSt6vectorIPN4geos9geomgraph8EdgeRingESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_':c:/Development/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/vector.tcc:(.text$_ZN4geos9operation7overlay15MinimalEdgeRing11setEdgeRingEPNS_9geomgraph12DirectedEdgeEPNS3_8EdgeRingE[__ZN4geos9operation7overlay15MinimalEdgeRing11setEdgeRingEPNS_9geomgraph12DirectedEdgeEPNS3_8EdgeRingE]+0x0): multiple definition of `geos::operation::overlay::MinimalEdgeRing::setEdgeRing(geos::geomgraph::DirectedEdge*, geos::geomgraph::EdgeRing*)'
 .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/operation/overlay/MinimalEdgeRing.inl:31: first defined here .libs/libgeos.lax/liboperation.a/ConnectedInteriorTester.o: In function `ZNSt6vectorIPN4geos9geomgraph8EdgeRingESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_':c:/Development/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/vector.tcc:(.text$_ZN4geos9operation7overlay15MinimalEdgeRing7getNextEPNS_9geomgraph12DirectedEdgeE[__ZN4geos9operation7overlay15MinimalEdgeRing7getNextEPNS_9geomgraph12DirectedEdgeE]+0x0): multiple definition of `geos::operation::overlay::MinimalEdgeRing::getNext(geos::geomgraph::DirectedEdge*)' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/operation/overlay/MinimalEdgeRing.inl:37: first defined here .libs/libgeos.lax/liboperation.a/ConnectedInteriorTester.o: In function
 `ZNSt6vectorIPN4geos9geomgraph8EdgeRingESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_':c:/Development/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/vector.tcc:(.text$_ZN4geos9operation7overlay15MinimalEdgeRingD1Ev[__ZN4geos9operation7overlay15MinimalEdgeRingD1Ev]+0x0): multiple definition of `geos::operation::overlay::MinimalEdgeRing::~MinimalEdgeRing()' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/operation/overlay/MinimalEdgeRing.inl:43: first defined here .libs/libgeos.lax/liboperation.a/ConnectedInteriorTester.o: In function `ZNSt6vectorIPN4geos9geomgraph8EdgeRingESaIS3_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS3_S5_EERKS3_':c:/Development/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/vector.tcc:(.text$_ZN4geos9operation7overlay15MinimalEdgeRingD0Ev[__ZN4geos9operation7overlay15MinimalEdgeRingD0Ev]+0x0): multiple definition of
 `geos::operation::overlay::MinimalEdgeRing::~MinimalEdgeRing()' .libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/operation/overlay/MinimalEdgeRing.inl:43: first defined here 
make[2]: *** [libgeos.la] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1



------------------------------------------------------------------------

_______________________________________________
geos-devel mailing list
geos-devel at xxxxxxxxxxxxxxxxxxxx
http://geos.refractions.net/mailman/listinfo/geos-devel



_______________________________________________
geos-devel mailing list
geos-devel at xxxxxxxxxxxxxxxxxxxx
http://geos.refractions.net/mailman/listinfo/geos-devel


 smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________
geos-devel mailing list
geos-devel at xxxxxxxxxxxxxxxxxxxx
http://geos.refractions.net/mailman/listinfo/geos-devel


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/geos-devel/attachments/20081023/1580b664/attachment-0001.html


More information about the geos-devel mailing list