[gdal-dev] Optional rust library as a dependency of the Zarr driver

Andrew C Aitchison gdal at aitchison.me.uk
Fri Jun 12 03:23:58 PDT 2026


On Thu, 11 Jun 2026, Greg Troxel via gdal-dev wrote:

> Now we see the violence inherent in the system.  Rust acts like their
> crate world is ok, and it's not, and it torques everybody else around.
> Many languages expect everyone to accomodate their special
> almost-a-packaging-system silo that only works in their language, and to
> treat them a special.  That puts you in a bad place, I realize.

Agreed. I want to think of Rust/Cargo as a new distro, although I know
that the major distros have managed to fit it into theirs.

> I wonder if the plugin system is the answer here, to say that anything
> with troublesome (not packaged and checkable with cmake without special
> help) dependencies should be a plugin maintained in a separate repo.
> But I am not sure if the plugin system is fully workable, in terms of if
> flipping it on and trying to do everything that way really works, just
> because I haven't tried.

My experience, over several years, with out-of-tree plugins in separate
repos is not happy, though someone like Even might be able to make it 
work.

The big issue is that you would want to be able to build it against
several different versions of gdal but the ABI changes frequently.
Packagers and self-builders would have to hope there is a git version
of the plugin which matches the gdal version they are building
against.
     #if GDAL_VERSION_NUM > 3110000
makes this possible, but is this the job of GDAL, the plugin maintainer
(who needs to be active) or the packager ?

GDAL exists on many platforms. Few developers have direct access to
more than a few of these or the experience to set up something like
github to build them all.
Maybe now that we use CMake everywhere the GDAL community could
set up a skeleton repo that builds plugins for every platform ?

-- 
Andrew C. Aitchison                      Kendal, UK
                    andrew at aitchison.me.uk


More information about the gdal-dev mailing list