Three MingW compiling issues (this is gcc 3.4.5 on Windows). First one I'm not sure what to do about, the other two I've attached patches. Let me know if I should check them in .

1. The destructors in the .inl files seem to confuse ld. In the linking stage there are about 10 errors like these:

libs/libgeos.lax/libalgorithm.a/MCPointInRing.o: In function `ZN4geos9algorithm13MCPointInRing10MCSelecterD1Ev':C:/Development/msys/src/geos/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/source/../source/headers/geos/geom/LineSegment.inl:51: first defined here

Any suggestions?


2.  The finite function

g++ -DHAVE_CONFIG_H -I. -I. -I../../source/headers -I../../source/headers/geos -I../../source/headers -g -O2 -DGEOS_INLINE -Wall -ansi -pedantic -Wno-long-long -MT HCoordinate.lo -MD -MP -MF .deps/HCoordinate.Tpo -c HCoordinate.cpp -DDLL_EXPORT -DPIC -o .libs/HCoordinate.o HCoordinate.cpp: In member function `long double geos::algorithm::HCoordinate::getX() const':
HCoordinate.cpp:188: error: `finite' was not declared in this scope
HCoordinate.cpp:188: warning: unused variable 'finite'


Patch:

Index: source/headers/geos/platform.h.in
===================================================================
RCS file: /home/cvs/postgis/geos/source/headers/geos/platform.h.in,v
retrieving revision 1.10
diff -u -r1.10 platform.h.in
--- source/headers/geos/platform.h.in   12 Jun 2006 13:57:54 -0000      1.10
+++ source/headers/geos/platform.h.in   26 Jun 2006 08:03:12 -0000
@@ -37,6 +37,10 @@
#define FINITE(x) ( (x) != DoubleNotANumber && (x) != DoubleInfinity && (x) != DoubleNegInfinity )
 #define ISNAN(x) ( (x) == DoubleNotANumber )

+#if defined(__GNUC__) && defined(_WIN32)
+#define finite(x) FINITE(x)

+#endif
+
 #ifdef HAVE_INT64_T_64
   typedef int64_t int64;
 #else



3.  gettimeofday


g++ -DHAVE_CONFIG_H -I. -I. -I../../source/headers -I../../source/headers/geos -I../../source/headers -g -O2 -DGEOS_INLINE -Wall -ansi -pedantic -Wno-long-long -MT CoordinateSequence.lo -MD -MP -MF .deps/CoordinateSequence.Tpo -c CoordinateSequence.cpp -DDLL_EXPORT -DPIC -o .libs/CoordinateSequence.o
In file included from ../../source/headers/geos/profiler.h:22,
                 from CoordinateSequence.cpp:17:
../../source/headers/geos/timeval.h: In function `int gettimeofday(timeval*, timezone*)': ../../source/headers/geos/timeval.h:60: error: `tzset' was not declared in this scope
../../source/headers/geos/timeval.h:60: warning: unused variable 'tzset'
../../source/headers/geos/timeval.h:63: error: `_timezone' was not declared in this scope ../../source/headers/geos/timeval.h:64: error: `_daylight' was not declared in this scope
../../source/headers/geos/timeval.h:63: warning: unused variable '_timezone'
../../source/headers/geos/timeval.h:64: warning: unused variable '_daylight'


Patch:


Index: source/headers/geos/timeval.h
===================================================================
RCS file: /home/cvs/postgis/geos/source/headers/geos/timeval.h,v
retrieving revision 1.3
diff -u -r1.3 timeval.h
--- source/headers/geos/timeval.h       20 Mar 2006 10:14:01 -0000      1.3
+++ source/headers/geos/timeval.h       26 Jun 2006 08:48:58 -0000
@@ -32,6 +32,16 @@

 #endif /* _WIN32 */

+/* For MingW the appropriate definitions are included in
+ time.h but they are protected by the __STRICT_ANSI__
+ definition.  Since GEOS is compiled with -ansi and
+ -pedantic, they don't get included. */
+#if defined(_WIN32) && defined(__GNUC__)
+extern _CRTIMP void __cdecl    _tzset (void);
+__MINGW_IMPORT int     _daylight;
+__MINGW_IMPORT long    _timezone;
+#endif
+
 #if defined(_WIN32) && !defined(_WIN32_WCE)

 __inline int gettimeofday(struct timeval *tv, struct timezone *tz)



Thanks,

Charlie

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

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

Reply via email to