Hello,
5.2 removes multiple formerly exported symbols from libgif, one of these (GifQuantizeBuffer) causes real world problems in libgif using software. Running a quick check over Debian's archive we find that exactimage, mplayer-gui, mplayer, qutemol and xplanet are broken by upgrading libgif from 5.1 to 5.2.
The rationale given is this one:
The undocumented and deprecated GifQuantizeBuffer() entry point
has been moved to the util library to reduce libgif size and attack
surface. Applications needing this function are couraged to link the
util library or make their own copy.
GifQuantizeBuffer was really a part of libgif's public ABI. Quoting NEWS for 5.0.0:
QuantizeBuffer() has been returned to the core library as GifQuantizeBuffer()
Please either fix the ABI break by restoring GifQuantizeBuffer or do a proper symbol removal, with a soname bump.
If you choose to do a soname bump please also add symbol versioning - I will happily try to provide a minimal patch.
TIA, cu Andreas
Ping?
Any update ?
Just as a data point, the current Fedora
giflibpackage moves it back, in response to a downstream bug report from a user encountering these same issues while usinglibgdipluswith Mono.FYI, in Debian I applied the same patch as fedora (though this version is not yet used, still in experimental at this time).
https://bugs.debian.org/935088
I apologize for the long delay. I had stomach cancer and was sidelined for nearly two years.
I'll take a patch to do a soname bump.
I think that patch already exists as https://sourceforge.net/p/giflib/code/merge-requests/8/ tho it may be out of date after the flurry of recent commits.
possible solution: include a copy of the GifQuantizeBuffer function in downstream packages:
https://github.com/coin3d/simage/pull/33
https://github.com/mono/libgdiplus/pull/575
Fixed.