Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#3768 closed defect (worksforme)

If GDAL detects GEOS, it should also look at its version

Reported by: Ari Jolma Owned by: warmerdam
Priority: low Milestone:
Component: ConfigBuild Version: unspecified
Severity: normal Keywords:
Cc:

Description

The current GDAL in trunk depends on GEOS being >3.0. Thus,IMO, m4/geos.m4 should be a bit more strict on version requirements.

Change History (4)

comment:1 by Even Rouault, 14 years ago

Hum, I'm surprised. I though I made fixes so that it still compiled with GEOS 2.X. I'll recheck

comment:2 by Even Rouault, 14 years ago

Resolution: worksforme
Status: newclosed

I've just retested. GDAL compiles fine against GEOS 2.2.3 and the autotest suite runs as well (there are a few tests skipped and just one that fails due to a bug in that version of GEOS)

comment:3 by Ari Jolma, 14 years ago

Sorry, I should have been more specific. I had in a system GEOS 3.0.1 (if I remember correctly) and configured and compiled GDAL HEAD but it failed on UnionCascaded (again, if I remember correctly), and upgrading to GEOS 3.2.2 fixed the problem. I'm not at that system now so can't study more and on this system I'm now at testing with GEOS 3.0.4 there is no problem. So probably there was more to it than what I expected. I did not check the source code, which has tests for GEOS version, I just checked whether configure tested GEOS version.

comment:4 by Ari Jolma, 14 years ago

Now I found it. GEOS 3.0.4 has CAPI 1.5.1 but *not* UnionCascaded. GEOS 3.1.0 has UnionCascaded but it has CAPI 1.5.0. GDAL source code checks for at least GEOS API 1.5 or 2 for UnionCascaded, thus compilation breaks with (at least) 3.0.4. 3.0.1 is ok since it's CAPI is 1.4.2.

I guess sloppy GEOS CAPI versioning is to be blamed. GDAL could perhaps require GEOS CAPI at least 1.6. or 2 to be safe.

Note: See TracTickets for help on using tickets.