AWARE [SYSTEMS] Imaging expertise for the Delphi developer
AWare Systems, Imaging expertise for the Delphi developer, Home TIFF and LibTiff Mailing List Archive

LibTiff Mailing List

TIFF and LibTiff Mailing List Archive
July 2004

Previous Thread
Next Thread

Previous by Thread
Next by Thread

Previous by Date
Next by Date

Contact

The TIFF Mailing List Homepage
This list is run by Frank Warmerdam
Archive maintained by AWare Systems



Valid HTML 4.01!



Thread

2004.07.10 17:56 "unintentional ABI change between 3.5 and 3.6?", by Jay Berkenbilt
2004.07.10 19:07 "Re: unintentional ABI change between 3.5 and 3.6?", by Andrey Kiselev
2004.07.10 19:56 "Re: unintentional ABI change between 3.5 and 3.6?", by Jay Berkenbilt
2004.07.11 02:49 "Re: unintentional ABI change between 3.5 and 3.6?", by Frank Warmerdam
2004.07.11 14:27 "Re: unintentional ABI change between 3.5 and 3.6?", by Bob Friesenhahn
2004.07.11 17:32 "Re: unintentional ABI change between 3.5 and 3.6?", by Andrey Kiselev
2004.07.11 18:05 "Re: unintentional ABI change between 3.5 and 3.6?", by Bob Friesenhahn
2004.07.11 16:47 "Re: unintentional ABI change between 3.5 and 3.6?", by Jay Berkenbilt
2004.07.11 17:27 "Re: unintentional ABI change between 3.5 and 3.6?", by Andrey Kiselev
2004.07.11 17:52 "Re: unintentional ABI change between 3.5 and 3.6?", by Jay Berkenbilt
2004.07.11 17:56 "Re: unintentional ABI change between 3.5 and 3.6?", by Jay Berkenbilt
2004.07.14 16:11 "Re: unintentional ABI change between 3.5 and 3.6?", by Jay Berkenbilt
2004.07.14 16:50 "Re: unintentional ABI change between 3.5 and 3.6?", by Bob Friesenhahn

2004.07.11 17:52 "Re: unintentional ABI change between 3.5 and 3.6?", by Jay Berkenbilt

Okay, sorry to keep flip-flopping, but I've found the bug, and I think
the problem is an ABI change in libtiff after all.

gdk-pixbuf uses TIFFRGBAImage, which appears to be part of the public
interface after all and is defined as typedef struct _TIFFRGBAImage
TIFFRGBAImage;

It is very clear that gdk-pixbuf compiled with 3.5.7 and run with
3.6.1 has a segmentation fault inside of this call:

TIFFRGBAImageGet (&img, (uint32 *)pixels, width, height);

When compiled with 3.6.1 and run with 3.5.7, there is no segmentation
fault, but it doesn't get the image data it wants.

This function is described in the libtiff manual page.  This means
that a chance to _TIFFRGBAImage *is* an ABI change that impacts the
public interface, and an soname change was in order.

The debian problem is more complicated.  The unstable release has had
3.6.1 for a long time, and gdk-pixbuf has long since been recompiled
with 3.6.1.  To resolve the problems in debian, I think we just have
to bite the bullet and let there be an incompatibility.  At this
point, just rebuilding things that haven't yet been rebuilt seems less
painful than rolling all these packages back.  (I'll go into more
depth when I post to the relevant debian lists.)

Anyway, I think this is pretty conclusive: the ABI did change, and the
soname has to change.  If you disagree, please let me know where I'm
wrong. :-)

Thanks!

-- 
Jay Berkenbilt <ejb@ql.org>
http://www.ql.org/q/