[gdal-dev] libtool numbering policy
Bas Couwenberg
sebastic at xs4all.nl
Tue Jun 14 08:30:06 PDT 2016
On 2016-06-14 16:46, Even Rouault wrote:
> Le mardi 14 juin 2016 16:33:04, Bas Couwenberg a écrit :
>> On 2016-06-14 15:51, Even Rouault wrote:
>> > Le mardi 14 juin 2016 12:13:49, Bas Couwenberg a écrit :
>> >> In Debian we mark the libgdal C++ symbols and add a dependency on the
>> >> version specific virtual ABI package provided by the libgdal20 package
>> >> to all packages that use any of the C++ symbols. Most reverse
>> >> dependencies of GDAL use (some) C++ symbols, requiring a rebuild of
>> >> these packages for every new release of GDAL uploaded to Debian. Only
>> >> the gmt, imposm, mapcache, mapserver, ncl, osmium, postgis, xastir,
>> >> grass & pyosmium packages don't use any C++ symbols (10 out of 37).
>> >
>> > Side remark: I'm surprised to not see QGIS listed in the C API only
>> > users.
>> > I've never seen use of the GDAL C++ API in it.
>> > Same for Fiona & RasterIO
>>
>> RasterIO uses several C++ classes in rasterio/_warp.pyx,
>> GDALWarpOperation & OGRCoordinateTransformation for example.
>
> Interesting... (so in what you wrote above, I assume you've an
> automated
> script to figure out if C++ symbols are used ?)
For the Debian package the dpkg-gensymbols utility is used to generate
the symbols provided by libgdal. Because the C++ symbols can differ per
architecture, separate symbols files are used for every architecture.
The gdal-symbols.pl script [0] is used to update the symbols files for
new releases, it includes splitting the C & C++ symbols for which it
relies on c++filt to determine which symbols are for C++ code based on
the diff between the c++filt output and the unmodified symbols file.
[0]
https://anonscm.debian.org/cgit/pkg-grass/gdal.git/tree/debian/gdal-symbols.pl
To find out why fiona & rasterio were not listed among the C API only
users, I grepped their sources for classes listed in the C++ symbols
file for am64 [1] which revealed the "cdef cppclass" results.
[1]
https://anonscm.debian.org/cgit/pkg-grass/gdal.git/tree/debian/libgdal20.symbols.amd64
Kind Regards,
Bas
More information about the gdal-dev
mailing list