[postgis-devel] Updates to GEOS & POSTGIS
Paul Ramsey
pramsey at refractions.net
Mon Jan 21 14:59:01 PST 2008
That's good. I didn't realize we had a GEOS version string floating
around for the pre-processor to grab. What I meant was exactly what
you did, there should be other examples wrapped inside the USE_GEOS
define, for the "ain't got no GEOS" case.
P
On Jan 21, 2008, at 2:45 PM, Ben Jubb wrote:
> I wrapped the bodies of the new functions I added to lwgeom_geom_c.c
> with an #if test for the right version of the GEOS lib, along with
> an #else part that throws a 'not implemented' error. This
> particular source file is definitely dependent on the GEOS library.
> If the older version of GEOS is used, the 'prepared' functions will
> throw an error. I don't think this will cause a link error.
>
> Im not sure what you are refering to as 'GEOS stubs'.
>
> b
>
> Paul Ramsey wrote:
>> I'm not sure that will work, since the symbols for the new
>> functions will be missing in the older versions... might we not end
>> up with a link-time error? The thing about the GEOS stubs is that
>> they are wrapped in a USE_GEOS define that removes the library
>> dependency.
>>
>> P
>>
>> On Jan 21, 2008, at 1:24 PM, Ben Jubb wrote:
>>
>>> Ill implement your first suggestion, and stub the C functions for
>>> the prepared stuff, moving the version detection to the
>>> lwgeom_geos_c.c. Seems friendliest to the long suffering VS users.
>>>
>>> b
>>>
>>> Paul Ramsey wrote:
>>>> Historically, we've left sql.in along and put in stubbed
>>>> functions in the .c files, in the case of with-GEOS versus
>>>> without-GEOS. We could go whole hog and add GEOS version
>>>> detection to ./configure. Might make things even worse for VCC
>>>> workers.
>>>>
>>>> As of now, having trolled the code base, there is a
>>>> geos_version.sh script which can write the version into a #define
>>>> for use elsewhere. The only running code that works with version
>>>> is the run-time version print-out in postgis_geos_version().
>>>>
>>>> The most elegant thing would be to put it into ./configure, IMO,
>>>> but I'm not sure that's the most *useful* thing.
>>>>
>>>> P
>>>>
>>>> On Jan 21, 2008, at 11:45 AM, Ben Jubb wrote:
>>>>
>>>>> My changes won't build against the GEOS 3.0.0 branch. use the
>>>>> trunk instead.
>>>>>
>>>>> I'm open to suggestions as to how to get the GEOS version
>>>>> information into lwpostgis.sql.in.
>>>>>
>>>>> cheers
>>>>> b
>>>>>
>>>>> Mark Cave-Ayland wrote:
>>>>>>
>>>>>> On Fri, 2008-01-18 at 09:26 -0800, Ben Jubb wrote:
>>>>>>
>>>>>>
>>>>>>> Mark,
>>>>>>> thanks for the comments,
>>>>>>>
>>>>>>> - I'll change the comment style..
>>>>>>>
>>>>>>> - added the initGEOS() calls, oops..
>>>>>>>
>>>>>>> - the size calculation: ill try your suggestion for getting
>>>>>>> arg1_length.
>>>>>>>
>>>>>>
>>>>>> Hi Ben,
>>>>>>
>>>>>> I've just done a checkout of latest SVN, and unfortunately it
>>>>>> seems
>>>>>> broken against the GEOS 3.0.0 branch :(
>>>>>>
>>>>>> I managed to get around the compilation failures by removing
>>>>>> the line
>>>>>> "#define PREPARED_GEOM 0", but regression tests fail because
>>>>>> lwpostgis.sql.in still references these functions, and hence it
>>>>>> fails to
>>>>>> load into PostgreSQL.
>>>>>>
>>>>>> So in order to support both newer and older versions of GEOS,
>>>>>> there
>>>>>> needs to be some GEOS versioning directives around the new code
>>>>>> in both
>>>>>> lwpostgis.sql.in and lwgeom_geos_c.c (rather than having to
>>>>>> alter both
>>>>>> of these by hand).
>>>>>>
>>>>>>
>>>>>> ATB,
>>>>>>
>>>>>> Mark.
>>>>>>
>>>>>>
>>>>> <benjubb.vcf>_______________________________________________
>>>>> postgis-devel mailing list
>>>>> postgis-devel at postgis.refractions.net
>>>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>>>>
>>>> _______________________________________________
>>>> postgis-devel mailing list
>>>> postgis-devel at postgis.refractions.net
>>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>>> <benjubb.vcf>_______________________________________________
>>> postgis-devel mailing list
>>> postgis-devel at postgis.refractions.net
>>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
>>
>> _______________________________________________
>> postgis-devel mailing list
>> postgis-devel at postgis.refractions.net
>> http://postgis.refractions.net/mailman/listinfo/postgis-devel
> <benjubb.vcf>_______________________________________________
> postgis-devel mailing list
> postgis-devel at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-devel
More information about the postgis-devel
mailing list