<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial, helvetica, sans-serif;font-size:12pt"><DIV><SPAN style="FONT-FAMILY: arial, helvetica, sans-serif">I seem to have the issue below when building Geos 3.0.2 with Cygwin.<BR>Is there a solution to this problem of double inclusion, or do I need to install an older version <BR>of Geos (I am reluctant to do this as I have a recent version of GCC, which requires a <BR>recent version of the source code to build).<BR><BR>Many thanks for your help - sorry I can't work this out for myself but only just starting to build<BR>things myself!<BR><BR>Regards<BR><BR>Stephen<BR></SPAN><BR><I>On Mon Aug 7 17:44:41 EDT 2006, Charlie Savage wrote:</I><BR>Yes, there is inline.o and inlines.lo.<BR><BR>Not sure I understand though.&nbsp; From inlines.cpp:<BR><BR>// Only do something if GEOS_INLINE is defined<BR>// Otherwise we'll end up with duplicated
 symbols<BR>#ifdef GEOS_INLINE<BR><BR>// Undefine GEOS_INLINE so that .inl files<BR>// will be ready for an implementation file<BR>#undef<BR> GEOS_INLINE<BR><BR>#include &lt;geos/inline.h&gt;<BR>#include &lt;geos/io/WKTReader.inl&gt;<BR>#include &lt;geos/io/ByteOrderDataInStream.inl&gt;<BR>#include &lt;geos/operation/overlay/MinimalEdgeRing.inl&gt;<BR>...<BR><BR>#end<BR><BR><BR></DIV>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: arial, helvetica, sans-serif">
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: times new roman, new york, times, serif">
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: arial, helvetica, sans-serif">
<DIV><TT>If GEOS_INLINE is defined it looks like all the files get included. </TT><TT>Then if you look at, say WKTReader.inl: </TT><PRE style="MARGIN: 0em">#ifdef GEOS_INLINE<BR># include &lt;geos/io/WKTReader.inl&gt;<BR>#endif<BR><BR>Looks like this also would always be called when:<BR><BR>CXXFLAGS = -g -O2 -DGEOS_INLINE -Wall -ansi -pedantic -Wno-long-long<BR><BR>Anyway, whatever is supposed to happen does not appear to be on MingW.<BR><BR>Charlie<BR><BR>strk@xxxxxxxxxxxxxxx wrote:<BR></PRE>
<BLOCKQUOTE style="PADDING-LEFT: 0.85em; MARGIN: 0em; BORDER-LEFT: rgb(85,85,238) 0.2em solid"><PRE style="MARGIN: 0em">On Fri, Aug 04, 2006 at 05:20:49PM -0600, Charlie Savage wrote:<BR></PRE>
<BLOCKQUOTE style="PADDING-LEFT: 0.85em; MARGIN: 0em; BORDER-LEFT: rgb(85,85,238) 0.2em solid"><TT>Okay, I've looked at this a bit more and don't see any obvious problems. </TT><TT>I did a clean checkout and compiled normally (./configure, make). </TT><TT>In the generated make files I see: </TT><PRE style="MARGIN: 0em">CXXFLAGS = -g -O2 -DGEOS_INLINE -Wall -ansi -pedantic -Wno-long-long<BR><BR>However, it looks like the *.inl files are being included twice.<BR><BR>Suggestions?<BR></PRE></BLOCKQUOTE><PRE style="MARGIN: 0em">When GEOS_INLINE is defined the inlines.cpp file should include no<BR>files, so the problem seems there. Check build line for inlines.o.<BR><BR>--strk;<BR><BR></PRE>
<BLOCKQUOTE style="PADDING-LEFT: 0.85em; MARGIN: 0em; BORDER-LEFT: rgb(85,85,238) 0.2em solid"><PRE style="MARGIN: 0em">Charlie<BR><BR><BR>Charlie Savage wrote:<BR></PRE>
<BLOCKQUOTE style="PADDING-LEFT: 0.85em; MARGIN: 0em; BORDER-LEFT: rgb(85,85,238) 0.2em solid">
<BLOCKQUOTE style="PADDING-LEFT: 0.85em; MARGIN: 0em; BORDER-LEFT: rgb(85,85,238) 0.2em solid"><PRE style="MARGIN: 0em">Anything else missing before releasing 3.0.0rc1 ?<BR></PRE></BLOCKQUOTE><PRE style="MARGIN: 0em">I'd like to see MingW work.<BR><BR></PRE><TT>I fixed up a autoconf issue (the line feed one) and checked in a couple </TT><TT>changes yesterday so geos would compile. </TT><TT>However, it doesn't link (errors below). I'll try to investigate </TT><TT>further this weekend. Other than that, I'm happy. </TT><PRE style="MARGIN: 0em">Charlie<BR><BR><BR>------------------<BR></PRE><TT>.libs/libgeos.lax/libalgorithm.a/MCPointInRing.o: In function </TT><TT>`ZN4geos9algorithm13MCPointInRing10MCSelecterD1Ev':C:/Development/msys/src/geos/trunk/source/algorithm/../../source/headers/geos/algorithm/PointInRing.h:(.text$_ZN4geos4geom11LineSegmentD1Ev[__ZN4geos4geom11LineSegmentD1Ev]+0x0): </TT><TT>multiple definition of
 `geos::geom::LineSegment::~LineSegment()' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/LineSegment.inl:51: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/libalgorithm.a/MCPointInRing.o: In function </TT><TT>`ZN4geos9algorithm13MCPointInRing10MCSelecterD1Ev':C:/Development/msys/src/geos/trunk/source/algorithm/../../source/headers/geos/algorithm/PointInRing.h:(.text$_ZN4geos4geom11LineSegmentD0Ev[__ZN4geos4geom11LineSegmentD0Ev]+0x0): </TT><TT>multiple definition of `geos::geom::LineSegment::~LineSegment()' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/LineSegment.inl:51: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/libalgorithm.a/PointLocator.o: In function
 </TT><TT>`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): </TT><TT>multiple definition of `geos::geomgraph::GeometryGraph::~GeometryGraph()' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geomgraph/GeometryGraph.inl:46: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/libalgorithm.a/PointLocator.o: In function </TT><TT>`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): </TT><TT>multiple definition
 of `geos::geomgraph::GeometryGraph::~GeometryGraph()' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geomgraph/GeometryGraph.inl:46: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/libgeom.a/CoordinateArraySequenceFactory.o: In </TT><TT>function </TT><TT>`ZN4geos4geom30CoordinateArraySequenceFactoryD0Ev':C:/Development/msys/src/geos/trunk/source/geom/CoordinateArraySequenceFactory.cpp:27: </TT><TT>multiple definition of </TT><TT>`geos::geom::CoordinateArraySequenceFactory::create(std::vector&lt;geos::geom::Coordinate, </TT><TT>std::allocator&lt;geos::geom::Coordinate&gt; &gt;*) const' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/CoordinateArraySequenceFactory.inl:28: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/libgeom.a/CoordinateArraySequenceFactory.o: In </TT><TT>function
 </TT><TT>`ZN4geos4geom30CoordinateArraySequenceFactoryD0Ev':C:/Development/msys/src/geos/trunk/source/geom/CoordinateArraySequenceFactory.cpp:27: </TT><TT>multiple definition of </TT><TT>`geos::geom::CoordinateArraySequenceFactory::create(unsigned int, unsigned </TT><TT>int) const' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/CoordinateArraySequenceFactory.inl:42: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/libgeom.a/MultiLineString.o: In function </TT><TT>`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): </TT><TT>multiple definition of `geos::geom::MultiLineString::clone() const'
 </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/MultiLineString.inl:36: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/libgeom.a/MultiPolygon.o: In function </TT><TT>`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): </TT><TT>multiple definition of `geos::geom::MultiPolygon::clone() const' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/geom/MultiPolygon.inl:34: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/libio.a/WKBReader.o: In function
 </TT><TT>`ZSt6fill_nIPPN4geos4geom8GeometryEjS3_ET_S5_T0_RKT1_':C:/Development/msys/src/geos/trunk/source/io/WKBReader.cpp:(.text$_ZN4geos2io21ByteOrderDataInStream7readIntEv[__ZN4geos2io21ByteOrderDataInStream7readIntEv]+0x0): </TT><TT>multiple definition of `geos::io::ByteOrderDataInStream::readInt()' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/io/ByteOrderDataInStream.inl:66: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/libnoding.a/MCIndexNoder.o: In function </TT><TT>`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): </TT><TT>multiple definition of `geos::noding::MCIndexNoder::getNodedSubstrings() </TT><TT>const'
 </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/noding/MCIndexNoder.inl:35: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/libnoding.a/MCIndexSnapRounder.o: In function </TT><TT>`ZN4geos6noding9snapround18MCIndexSnapRounderD1Ev':C:/Development/msys/src/geos/trunk/source/noding/snapround/MCIndexSnapRounder.cpp:(.text$_ZNK4geos6noding9snapround18MCIndexSnapRounder18getNodedSubstringsEv[__ZNK4geos6noding9snapround18MCIndexSnapRounder18getNodedSubstringsEv]+0x0): </TT><TT>multiple definition of </TT><TT>`geos::noding::snapround::MCIndexSnapRounder::getNodedSubstrings() const' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/noding/snapround/MCIndexSnapRounder.inl:32: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/liboperation.a/ConnectedInteriorTester.o: In function
 </TT><TT>`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): </TT><TT>multiple definition of </TT><TT>`geos::operation::overlay::MinimalEdgeRing::setEdgeRing(geos::geomgraph::DirectedEdge*, </TT><TT>geos::geomgraph::EdgeRing*)' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/operation/overlay/MinimalEdgeRing.inl:31: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/liboperation.a/ConnectedInteriorTester.o: In function
 </TT><TT>`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): </TT><TT>multiple definition of </TT><TT>`geos::operation::overlay::MinimalEdgeRing::getNext(geos::geomgraph::DirectedEdge*)' </TT><TT></TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/operation/overlay/MinimalEdgeRing.inl:37: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/liboperation.a/ConnectedInteriorTester.o: In function
 </TT><TT>`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): </TT><TT>multiple definition of </TT><TT>`geos::operation::overlay::MinimalEdgeRing::~MinimalEdgeRing()' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/operation/overlay/MinimalEdgeRing.inl:43: </TT><TT>first defined here </TT><TT>.libs/libgeos.lax/liboperation.a/ConnectedInteriorTester.o: In function
 </TT><TT>`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): </TT><TT>multiple definition of </TT><TT>`geos::operation::overlay::MinimalEdgeRing::~MinimalEdgeRing()' </TT><TT>.libs/inlines.o:C:/Development/msys/src/geos/trunk/source/../source/headers/geos/operation/overlay/MinimalEdgeRing.inl:43: </TT><TT>first defined here </TT><PRE style="MARGIN: 0em">make[2]: *** [libgeos.la] Error 1<BR>make[1]: *** [all-recursive] Error 1<BR>make: *** [all-recursive] Error 1<BR><BR><BR><BR>------------------------------------------------------------------------<BR><BR>_______________________________________________<BR>geos-devel mailing list<BR>geos-devel@xxxxxxxxxxxxxxxxxxxx<BR><A
 href="http://geos.refractions.net/mailman/listinfo/geos-devel" target=_blank rel=nofollow>http://geos.refractions.net/mailman/listinfo/geos-devel</A>
</PRE></BLOCKQUOTE></BLOCKQUOTE><PRE style="MARGIN: 0em"><BR><BR></PRE>
<BLOCKQUOTE style="PADDING-LEFT: 0.85em; MARGIN: 0em; BORDER-LEFT: rgb(85,85,238) 0.2em solid"><PRE style="MARGIN: 0em">_______________________________________________<BR>geos-devel mailing list<BR>geos-devel@xxxxxxxxxxxxxxxxxxxx<BR><A href="http://geos.refractions.net/mailman/listinfo/geos-devel" target=_blank rel=nofollow>http://geos.refractions.net/mailman/listinfo/geos-devel</A>
</PRE></BLOCKQUOTE><PRE style="MARGIN: 0em"><BR></PRE></BLOCKQUOTE>
<P><STRONG><A href="http://osdir.com/ml/gis.geos.devel/2006-08/p7sMgvUFSFEeI.p7s" target=_blank rel=nofollow><IMG height=22 alt=Attachment: width=20 align=left border=0></A> <A href="http://osdir.com/ml/gis.geos.devel/2006-08/p7sMgvUFSFEeI.p7s" target=_blank rel=nofollow><TT>smime.p7s</TT></A></STRONG><BR><EM>Description:</EM> S/MIME Cryptographic Signature</P><PRE>_______________________________________________<BR>geos-devel mailing list<BR>geos-devel@xxxxxxxxxxxxxxxxxxxx<BR><A href="http://geos.refractions.net/mailman/listinfo/geos-devel" target=_blank rel=nofollow>http://geos.refractions.net/mailman/listinfo/geos-devel</A>
</PRE></DIV></DIV><BR></DIV></DIV></div><br>



      </body></html>