[GRASS-dev] Re: [GRASS-SVN] r51583 - grass/trunk/vector/v.buffer

Markus Metz markus.metz.giswork at googlemail.com
Tue May 1 14:19:40 EDT 2012


On Tue, May 1, 2012 at 5:01 PM, Glynn Clements <glynn at gclements.plus.com> wrote:
>
> Markus Neteler wrote:
>
>> > Author: mmetz
>> > Date: 2012-05-01 01:37:26 -0700 (Tue, 01 May 2012)
>> > New Revision: 51583
>> >
>> > Modified:
>> >   grass/trunk/vector/v.buffer/Makefile
>> > Log:
>> > add again GEOSLIBS ??? should be included by VECTORLIB
>>
>> I have this:
>>
>> [neteler at north grass70]$ grep geos include/Make/*
>> include/Make/Platform.make:GEOSLIBS            = -L/usr/lib64 -lgeos -lgeos_c
>
> If you add the -i flag (ignore case), you would get many more matches,
> including:
>
> include/Make/Grass.make:VECT_CFLAGS =  $(GDALCFLAGS) $(GEOSCFLAGS)
> include/Make/Grass.make:VECTORDEPS       = $(DBMILIB) $(GRAPHLIB) $(DIG2LIB) $(LINKMLIB) $(RTREELIB) $(GISLIB) $(GEOSLIBS) $(GDALLIBS) $(MATHLIB) $(BTREE2LIB) $(GPROJLIB) $(RASTERLIB) $(PQLIBPATH) $(PQLIB)
>
>> but without GEOSLIBS in the Makefile of v.buffer I get this error:
>
>> /usr/bin/ld: OBJ.x86_64-unknown-linux-gnu/main.o: undefined reference
>> to symbol 'GEOSBufferParams_create'

make distclean
svn up
./configure
make

...should help

> OTOH, as v.buffer is now using GEOS directly, $(GEOSLIBS) and
> $(GEOSCFLAGS) should be used in v.buffer/Makefile. While this
> shouldn't be necessary on Linux, I suspect that it is necessary on
> Windows.

Added to Makefile, just to be safe.
>
> For me, the current v.buffer doesn't even compile, due to
> GEOSBufferParams not being defined in any GEOS header (presumably it
> needs a more recent version of GEOS).

GEOSBufferParams has been introduced with GEOS version 3.3.0 which has
been released in 2008, not exactly brand new... Anyway, I have removed
GEOSBufferParams from v.buffer and made v.buffer use another buffer
function that is also present in older versions of GEOS.

Markus M


More information about the grass-dev mailing list