[geos-devel] 3.0?
Charlie Savage
cfis at savagexi.com
Mon Aug 7 17:44:41 EDT 2006
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 refractions.net 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 geos.refractions.net
>>> http://geos.refractions.net/mailman/listinfo/geos-devel
>
>
>
>> _______________________________________________
>> geos-devel mailing list
>> geos-devel at geos.refractions.net
>> http://geos.refractions.net/mailman/listinfo/geos-devel
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.osgeo.org/pipermail/geos-devel/attachments/20060807/dd127582/smime.bin
More information about the geos-devel
mailing list