A few packages depend on the GDAL library, using its C and in some cases C++ interfaces. Due to upstream choice the C++ interface is not stable (programs should indeed use the public C interface instead), and both interfaces are mixed together within the same shared library (solib). Unfortunately, its soname is instead defined on the basis of stability of the C API, and this fact generally causes trouble in a binary-based distribution like Debian. For a general analysis of these issues see the Debian Library Packaging Guide.

The maintainership team did choose to embed both library soversion (currently 1) and its source version (currently 1.7.3) in the package name. That implies that every dependent package must explicitly link the versioned -dev package. The library binary package as consequence changes at every new release of GDAL (at least this the general rule, but it is sometimes violated when we are confident that the new release fixes only bugs, without changing APIs). A list of dependent source packages is currently the following:

(Please add other ones whenever needed).

Incidentally you must ensure that your packages call gdal-config in order to get the right libname at linking time, because the default linking arg is not appropriate. That could require some configuration script changes, if not already done upstream.

DebianGis team would generally encourage the support of external plugins (ECW and MrSID plugin generation are ready in the Gdal source 1.6.3). This is not generally something that upstream does: the plugin mechanism, introduced to support Grass, has currently some serious limitation, such as the lack of any intrinsic versioning support. Debian accomplishes that by moving the plugins directory in a per-package path, which causes some headaches to third parties (see #508340).