libspatialite test fail with GEOS dev

65 views
Skip to first unread message

Hernán De Angelis

unread,
Jun 7, 2025, 5:11:56 AMJun 7
to SpatiaLite Users
Hi

Running "make check" on libspatialite-5.1.0 built using a developing (latest master branch) of geos gives the following error:

In file included from check_sql_stmt.h:67,
                 from check_sql_stmt.c:45:
check_sql_stmt.h: In function ‘run_all_testcases’:
check_sql_stmt.h:562:90: error: invalid suffix "dev" on integer constant
  562 |         sprintf(geos_version, "%04d.%04d.%04d",  GEOS_VERSION_MAJOR, GEOS_VERSION_MINOR, GEOS_VERSION_PATCH);

Probably the test expects a version string with format 'X.Y.Z', while in my case case it is:

# geos-config --version
3.14.0dev

This is of course only a minor issue and not a serious problem, as libspatialite builds and works correctly. But perhaps something that is easily fixable and nice to have working.

H.



a.fu...@lqt.it

unread,
Jun 9, 2025, 6:42:08 AMJun 9
to spatiali...@googlegroups.com
Hi Herman,

all software is an evolving thing that changes over time.
A release is nothing more than a still image that freezes
the situation at a certain moment and will never undergo
further evolutions.
When a significant number of large and small updates
accumulate then the next version is released, and so on.

Unfortunately, later versions of the GEOS library sometimes
give different results for the same operation (this also
happens for the PROJ library, although to a lesser extent).

These discrepancies between different versions may be more
or less significant, but in any case the results are
different from expectations.

It happens when some bug is fixed, but above all it happens
when new, more precise and efficient algorithms are implemented.
This is precisely the case of GEOS, which in 2024 with version
3.13 implemented a total rewrite of many algorithms, a
significant change collectively known as RelateNG (NG stands
for New Generation).

Unfortunately SpatiaLite 5.1.0 was released in 2023, one year
before the release of GEOS 3.13, so its tests are not prepared
to accept the unexpected values ​​returned by the latest versions
of GEOS.

This is not a real problem; everything continues to work fine
as always, but that test version has become obsolete and does
not work properly with newer versions of GEOS.

Everything will be back in order with the release of the
next version of SpatiaLite which is currently under active
development.

bye Sandro
Reply all
Reply to author
Forward
0 new messages