Skip to content

v1.0.2

@trasch trasch tagged this 30 Sep 08:16
The input plugins' location differs per mapnik generation: mapnik 3.1
on Ubuntu LTS lives in /usr/lib/mapnik/<version>/input (no multiarch),
while Debian/Ubuntu mapnik 4.x packages place them under
/usr/lib/<triplet>/mapnik/<version>/input. The hardcoded 3.1 path left
MapnikConfig.ensureInitialized() without datasource plugins under
mapnik 4 (e.g. the Debian trixie package).

Discovery order on Linux (computed once, cached):

1. pkg-config libmapnik --variable=plugins_dir — mapnik 4.x packages
   ship libmapnik.pc exposing the directory (mapnik 3.1 ships no .pc
   file, so this probe fails and the next step applies).
2. glob /usr/lib/*/mapnik/*/input — the Debian 4.x layout; the highest
   version wins.
3. glob /usr/lib/mapnik/*/input — the legacy 3.1 layout; the highest
   version wins.

A candidate only counts when it is an existing directory containing at
least one .input plugin. macOS keeps the Homebrew path unchanged.
Assets 2
Loading