[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