Repository navigation
Provision MEOS with a GDAL built without GEOS - #217
Merged
estebanzimanyi merged 1 commit intoOct 28, 2026
Merged
estebanzimanyi merged 1 commit into
estebanzimanyi merged 1 commit into
Conversation
MEOS calls no GEOS function, and the GDAL a distribution packages links GEOS, so a libmeos linked against libgdal-dev loads GEOS with it. The provision-meos action builds GDAL 3.12.0 from its release source, pinned by its SHA-256, with GEOS off (build-gdal.sh), and installs it under /usr/local before libmeos is built or restored; MobilityDB's CMake finds it there, and every consumer builds and runs against it. The configuration is the one MEOS.js builds its GDAL with: every optional driver off, GDAL's internal libraries in place of external ones, and PROJ, SQLite and zlib from the system, the libraries libmeos already takes. MEOS reads raster bands through the generic GDAL API and the built-in drivers. The GDAL prefix is cached on the runner image and on build-gdal.sh, so a runner builds it once; the libmeos cache already keys on the action's files. The package list names libsqlite3-dev and zlib1g-dev, GDAL's own inputs, in place of libgdal-dev. A last step fails the action where any GEOS library loads with libmeos, naming it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MEOS calls no GEOS function, and the GDAL a distribution packages links GEOS, so a libmeos linked against libgdal-dev loads GEOS with it. The provision-meos action builds GDAL 3.12.0 from its release source, pinned by its SHA-256, with GEOS off (build-gdal.sh), and installs it under /usr/local before libmeos is built or restored; MobilityDB's CMake finds it there, and every consumer builds and runs against it. The configuration is the one MEOS.js builds its GDAL with: every optional driver off, GDAL's internal libraries in place of external ones, and PROJ, SQLite and zlib from the system, the libraries libmeos already takes. MEOS reads raster bands through the generic GDAL API and the built-in drivers.
The GDAL prefix is cached on the runner image and on build-gdal.sh, so a runner builds it once; the libmeos cache already keys on the action's files. The package list names libsqlite3-dev and zlib1g-dev, GDAL's own inputs, in place of libgdal-dev. A last step fails the action where any GEOS library loads with libmeos, naming it.