Re: Stability of internal ABI.

Bob Friesenhahn <[email protected]> Mon, 1 Feb 2010 17:38:46 -0600 (CST)
Newsgroups gmane.comp.video.graphicsmagick.core
Message-ID <[email protected]>
On Mon, 1 Feb 2010, Daniel Kobras wrote:
>
> Packaging the latest GM release, I noticed that several symbols were no longer
> exported from the library in 1.3.8, compared to 1.3.5. Non of these were part
> of the official API. However, they need to be exported to coders in a modular
> build and therefore end up as part of the library's ABI. Technically, any
> removal of those symbols requires a SONAME change (and therefore triggers the
> alarm bells in our packaging tools.) For now, I've added distro-specific
> patches to ensure a stable ABI (attached for reference), reverting some changes
> and adding stubs for others as appropriate. Do you consider stability of the
> GM-internal ABI a worthwhile goal, or should we treat those symbols
> differently?

Thanks for the heads-up on this.  Removal of the string constant 
exports seems like an error on my part, even though they should be 
removed.

Interfaces like UnregisterDPSImage() are unstable.  For example, they 
will not be present by default in a modules build since they are part 
of a module.  This means that an application using a shared version of 
libGraphicsMagick.so will be able to see these symbols, but if 
libGraphicsMagick.so is substituted with one using modules, then those 
symbols won't be available any more.  It would be wrong for anything 
other than libGraphicsMagick to use those symbols.  There is no 
installed header file which mentions those symbols.

Please consider adding the fixes made to magick/resource.c and 
magick/pixel_cache.c on 2010-01-25 since these fix a nasty bug.

Bob
--
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/

------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com