[postgis-devel] 1, dot, 3 dot 4!

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Sun Oct 19 08:37:06 PDT 2008


Obe, Regina wrote:
> Paul,
> 
> Sounds like a plan. 
> 
> Regarding the kml failure.  I tried to be lazy by
> 
> 1) copying my Open SUSE 11 vm.
> 2) downgrade to 1.3.3
> 3) ran make check and it failed on kml check again.  So I assume the kml 
> thing is nothing to worry about.
> (But oops wait a minute reads 1.3.3 with GEOS 3.1.0.  I assume KML 
> doesn't use GEOS so that wouldn't affect things, but just to be sure, I 
> tried to downgrade to geos 3.0.0 and couldn't because got this error 
> during compile
> 
> DoubleBits.cpp: In constructor 
> 'geos::index::quadtree::DoubleBits::DoubleBits(double)':
> DoubleBits.cpp:94: error: 'memcpy' was not declared in this scope
> make[3]: *** [DoubleBits.lo] Error 1
> make[3]: Leaving directory `/projects/geos-3.0.0/source/index/quadtree'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/projects/geos-3.0.0/source/index'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/projects/geos-3.0.0/source'
> make: *** [all-recursive] Error 1
> 
> 
> 4) Okay that didn't work so I went to 
> http://download.osgeo.org/geos/geos-3.0.2.tar.bz2  - still no go
>  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 DoubleBits.lo -MD 
> -MP -MF .deps/DoubleBits.Tpo -c DoubleBits.cpp  -fPIC -DPIC -o 
> .libs/DoubleBits.o
> DoubleBits.cpp: In static member function ?static double 
> geos::index::quadtree::DoubleBits::powerOf2(int)?:
> DoubleBits.cpp:51: error: ?memcpy? was not declared in this scope
> DoubleBits.cpp: In constructor 
> ?geos::index::quadtree::DoubleBits::DoubleBits(double)?:
> DoubleBits.cpp:94: error: ?memcpy? was not declared in this scope
> make[3]: *** [DoubleBits.lo] Error 1
> make[3]: Leaving directory `/projects/geos-3.0.2/source/index/quadtree'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/projects/geos-3.0.2/source/index'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/projects/geos-3.0.2/source'
> make: *** [all-recursive] Error 1
> 
> Not quite sure what the above errors mean? Probably that compiling 
> should be left to people who know what they are doing.  I think I was 
> able to compile these on my OpenSUSE 10.5, but I'll have to double 
> check.  I can only wildly guess this is all due to me using a dev 
> version of gcc.

Yup - it's a gcc-4.3-ism. It seems as if they've made the distinction 
between C and C++ header files a lot more strict, and the DoubleBits.cpp 
includes a C file rather than a C++ file. The solution, as seen in the 
SVN trunk version, is to #include <cstring> below #include <string> in 
DoubleBits.cpp.

If this works, I'd drop a separate email to geos-devel asking for the 
fix to be backported to the 3.0 branch.

> I guess this is what I get for trying to live on the edge virtually.  
> Good thing I don't try to do these things in real life :)

Heh, setting up a build environment is always the hardest part since you 
generally need a lot more dependent libraries and tools to build 
anything than you do to run it. But once it's there, it generally works 
very well so stick with it :)


ATB,

Mark.

-- 
Mark Cave-Ayland
Sirius Corporation - The Open Source Experts
http://www.siriusit.co.uk
T: +44 870 608 0063



More information about the postgis-devel mailing list